using ZooContracts.BusinessLogicsContracts; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ZooContracts.BusinessLogicsContracts; namespace ZooBusinessLogic.BusinessLogics { /// /// Замена сотрудника /// public class EmployeeRoleImitationaLogic { private readonly IEmployeeLogic _employeeLogic; private readonly IReserveLogic _ReserveLogic; private readonly ICostLogic _CostLogic; private readonly IRouteLogic _RouteLogic; private readonly IRouteCostLogic _RouteCostLogic; public EmployeeRoleImitationaLogic(IEmployeeLogic employeeLogic, IReserveLogic ReserveLogic, ICostLogic CostLogic, IRouteLogic RouteLogic, IRouteCostLogic RouteCostLogic) { _employeeLogic = employeeLogic; _ReserveLogic = ReserveLogic; _CostLogic = CostLogic; _RouteLogic = RouteLogic; _RouteCostLogic = RouteCostLogic; } private bool GenerateEmployeeData() { if (_employeeLogic.ReadList(null)?.Count != 0) { return false; } using (StreamReader sr = new("employees.txt")) { string? currentString; while ((currentString = sr.ReadLine()) != null) { var employeeRecData = currentString.Split(','); _employeeLogic.Create(new() { EmployeeEmail = employeeRecData[0], EmployeePassword = employeeRecData[1], EmployeeName = employeeRecData[2], EmployeePhone = employeeRecData[3] }); } } return true; } private bool GenerateReserveData() { if (_ReserveLogic.ReadList(null)?.Count != 0) { return false; } using (StreamReader sr = new("Reserves.txt")) { string? currentString; while ((currentString = sr.ReadLine()) != null) { var ReserveRecData = currentString.Split(','); _ReserveLogic.Create(new() { ReserveName = Convert.ToString(ReserveRecData[0]), ReservePrice = Convert.ToDouble(ReserveRecData[1]) }); } } return true; } public bool GenerateCost() { if (_CostLogic.ReadList(null)?.Count != 0) { return false; } using (StreamReader sr = new("Costs.txt")) { string? currentString; while ((currentString = sr.ReadLine()) != null) { var CostRecData = currentString.Split(','); _CostLogic.Create(new() { CostName = Convert.ToString(CostRecData[0]), Sum = Convert.ToDouble(CostRecData[1]), Count = Convert.ToInt32(CostRecData[2]), EmployeeId = Convert.ToInt32(CostRecData[3]) }); } } return true; } public bool GenerateRouteCost() { var CostList = _CostLogic.ReadList(null); if (CostList == null) { return false; } if (CostList.Count == 0) { return false; } var RouteList = _RouteLogic.ReadList(null); if (RouteList == null) { return false; } if (RouteList.Count == 0) { return false; } Random rnd = new Random(); for (int i = 0; i < 2; i++) { _RouteCostLogic.Create(new() { CostId = rnd.Next(0, CostList.Count), RouteId = rnd.Next(0, RouteList.Count) }); } return true; } } }