141 lines
3.3 KiB
C#
141 lines
3.3 KiB
C#
|
using CarServiceContracts.BusinessLogicsContracts;
|
|||
|
|
|||
|
namespace CarServiceBusinessLogic.BusinessLogics
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Заглушка для роли клиента
|
|||
|
/// </summary>
|
|||
|
public class CustomerRoleImitationLogic
|
|||
|
{
|
|||
|
private readonly ICustomerLogic _customerLogic;
|
|||
|
private readonly IVehicleLogic _vehicleLogic;
|
|||
|
private readonly IRepairRequestLogic _repairRequestLogic;
|
|||
|
private readonly IWorkInRequestLogic _workInRequestLogic;
|
|||
|
private readonly IWorkLogic _workLogic;
|
|||
|
public CustomerRoleImitationLogic(ICustomerLogic customerLogic, IVehicleLogic vehicleLogic, IRepairRequestLogic repairRequestLogic, IWorkInRequestLogic workInRequestLogic, IWorkLogic workLogic)
|
|||
|
{
|
|||
|
_customerLogic = customerLogic;
|
|||
|
_vehicleLogic = vehicleLogic;
|
|||
|
_repairRequestLogic = repairRequestLogic;
|
|||
|
_workInRequestLogic = workInRequestLogic;
|
|||
|
_workLogic = workLogic;
|
|||
|
}
|
|||
|
private bool GenerateCustomerData()
|
|||
|
{
|
|||
|
if (_customerLogic.ReadList(null)?.Count != 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
using (StreamReader sr = new("customers.txt"))
|
|||
|
{
|
|||
|
string? currentString;
|
|||
|
while ((currentString = sr.ReadLine()) != null)
|
|||
|
{
|
|||
|
var customerRecData = currentString.Split(',');
|
|||
|
_customerLogic.Create(new()
|
|||
|
{
|
|||
|
Login = customerRecData[0],
|
|||
|
Password = customerRecData[1],
|
|||
|
Name = customerRecData[2],
|
|||
|
Surname = customerRecData[3]
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
private bool GenerateVehicleData()
|
|||
|
{
|
|||
|
if (_vehicleLogic.ReadList(null)?.Count != 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
using (StreamReader sr = new("vehicles.txt"))
|
|||
|
{
|
|||
|
string? currentString;
|
|||
|
while ((currentString = sr.ReadLine()) != null)
|
|||
|
{
|
|||
|
var vehicleRecData = currentString.Split(',');
|
|||
|
_vehicleLogic.Create(new()
|
|||
|
{
|
|||
|
Name = vehicleRecData[0],
|
|||
|
Plate = vehicleRecData[1],
|
|||
|
VIN = vehicleRecData[2],
|
|||
|
CustomerId = Convert.ToInt32(vehicleRecData[4])
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
private bool GenerateRepairRequestData()
|
|||
|
{
|
|||
|
if (_repairRequestLogic.ReadList(null)?.Count != 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
using (StreamReader sr = new("requests.txt"))
|
|||
|
{
|
|||
|
string? currentString;
|
|||
|
while ((currentString = sr.ReadLine()) != null)
|
|||
|
{
|
|||
|
var repairRequestRecData = currentString.Split(',');
|
|||
|
_repairRequestLogic.Create(new()
|
|||
|
{
|
|||
|
DateCreated = Convert.ToDateTime(repairRequestRecData[0]),
|
|||
|
VehicleId = Convert.ToInt32(repairRequestRecData[1])
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
public bool GenerateRequestData()
|
|||
|
{
|
|||
|
if (!GenerateCustomerData())
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (!GenerateVehicleData())
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (!GenerateRepairRequestData())
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
public bool GenerateWorksInRequest()
|
|||
|
{
|
|||
|
var WorksList = _workLogic.ReadList(null);
|
|||
|
if (WorksList == null)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (WorksList.Count == 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
var RequestList = _repairRequestLogic.ReadList(null);
|
|||
|
if (RequestList == null)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (RequestList.Count == 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
Random r = new();
|
|||
|
for (int i = 0; i < 2; i++)
|
|||
|
{
|
|||
|
_workInRequestLogic.Create(new()
|
|||
|
{
|
|||
|
RepairRequestId = r.Next(0, RequestList.Count),
|
|||
|
WorkId = r.Next(0, WorksList.Count),
|
|||
|
Count = r.Next(1, 2)
|
|||
|
});
|
|||
|
}
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|