правки_и_отчёты_поручитель #13
@ -0,0 +1,133 @@
|
||||
using ServiceStationContracts.BindingModels;
|
||||
using ServiceStationContracts.BusinessLogicsContracts;
|
||||
using ServiceStationContracts.SearchModels;
|
||||
using ServiceStationContracts.StoragesContracts;
|
||||
using ServiceStationContracts.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ServiceStationBusinessLogic.BusinessLogics
|
||||
{
|
||||
public class GuarantorReportLogic : IGuarantorReportLogic
|
||||
{
|
||||
private readonly IDefectStorage _defectStorage;
|
||||
private readonly ISparePartStorage _sparepartStorage;
|
||||
private readonly IRepairStorage _repairStorage;
|
||||
private readonly ITechnicalWorkStorage _techWorkStorage;
|
||||
|
||||
public GuarantorReportLogic(IDefectStorage defectStorage, ISparePartStorage sparepartStorage, IRepairStorage repairStorage, ITechnicalWorkStorage techWorkStorage)
|
||||
{
|
||||
_defectStorage = defectStorage;
|
||||
_sparepartStorage = sparepartStorage;
|
||||
_repairStorage = repairStorage;
|
||||
_techWorkStorage = techWorkStorage;
|
||||
}
|
||||
|
||||
public List<ReportDefectsViewModel> GetDefects(List<int> Ids)
|
||||
{
|
||||
if (Ids == null) return new List<ReportDefectsViewModel>();
|
||||
|
||||
List<ReportDefectsViewModel> allList = new List<ReportDefectsViewModel>();
|
||||
|
||||
var defects = _defectStorage.GetFullList();
|
||||
List<SparePartViewModel> spareparts = new List<SparePartViewModel>();
|
||||
foreach (var sparepartId in Ids)
|
||||
{
|
||||
var sparepart = _sparepartStorage.GetElement(new SparePartSearchModel
|
||||
{
|
||||
Id = sparepartId,
|
||||
});
|
||||
if (sparepart != null)
|
||||
{
|
||||
spareparts.Add(sparepart);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var sparepart in spareparts)
|
||||
{
|
||||
var rec = new ReportDefectsViewModel
|
||||
{
|
||||
SparePartName = sparepart.SparePartName,
|
||||
DefectsInfo = new List<(string, double)>()
|
||||
};
|
||||
foreach (var defect in defects)
|
||||
{
|
||||
var repair = _repairStorage.GetElement(new RepairSearchModel
|
||||
{
|
||||
Id = defect.RepairId,
|
||||
});
|
||||
foreach (var repSpareParts in repair.RepairSpareParts.Values)
|
||||
{
|
||||
if (repSpareParts.Id == sparepart.Id)
|
||||
{
|
||||
rec.DefectsInfo.Add(new(defect.DefectType, defect.DefectPrice));
|
||||
}
|
||||
}
|
||||
}
|
||||
allList.Add(rec);
|
||||
}
|
||||
return allList;
|
||||
}
|
||||
|
||||
public List<ReportSparePartsViewModel> GetSpareParts(ReportGuarantorBindingModel model)
|
||||
{
|
||||
List<ReportSparePartsViewModel> allList = new List<ReportSparePartsViewModel>();
|
||||
|
||||
List<RepairViewModel> repairList = _repairStorage.GetFilteredList(new RepairSearchModel
|
||||
{
|
||||
DateFrom = model.DateFrom,
|
||||
DateTo = model.DateTo,
|
||||
});
|
||||
|
||||
foreach (var repair in repairList)
|
||||
{
|
||||
foreach (var sparepart in repair.RepairSpareParts.Values)
|
||||
{
|
||||
allList.Add(new ReportSparePartsViewModel
|
||||
{
|
||||
SparePartName = sparepart.SparePartName,
|
||||
SparePartPrice = sparepart.SparePartPrice,
|
||||
RepairName = repair.RepairName,
|
||||
RepairStartDate = repair.RepairStartDate,
|
||||
RepairPrice = repair.RepairPrice,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
List<TechnicalWorkViewModel> techWorkList = _techWorkStorage.GetFilteredList(new TechnicalWorkSearchModel
|
||||
{
|
||||
DateFrom = model.DateFrom,
|
||||
DateTo = model.DateTo,
|
||||
});
|
||||
|
||||
foreach (var techWork in techWorkList)
|
||||
{
|
||||
allList.Add(new ReportSparePartsViewModel
|
||||
{
|
||||
WorkType = techWork.WorkType,
|
||||
TechnicalWorkDate = techWork.DateStartWork,
|
||||
TechnicalWorkPrice = techWork.WorkPrice,
|
||||
});
|
||||
}
|
||||
return allList;
|
||||
}
|
||||
|
||||
public void SaveDefectsToWordFile(ReportGuarantorBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void SaveDefectsToExcelFile(ReportGuarantorBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void SaveSparePartsToPdfFile(ReportGuarantorBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user