using AsbCloudApp.Data; using AsbCloudApp.Services; using AsbCloudDb.Model; using AutoMapper; using System.Collections.Generic; using System.Linq; namespace AsbCloudInfrastructure.Services { public class WellService : IWellService { private readonly IAsbCloudDbContext db; private readonly MapperConfiguration mapperConfiguration; public WellService(IAsbCloudDbContext db, MapperConfiguration mapperConfiguration) { this.db = db; this.mapperConfiguration = mapperConfiguration; } public IEnumerable GetWellsByCustomer(int idCustomer) { var wells = db.GetWellsByCustomer(idCustomer).ToList(); return wells.Select(w => From(w)); } private WellDto From(Well well) { var wellDto = new WellDto { Id = well.Id, Caption = well.Caption, Cluster = well.Cluster.Caption, Deposit = well.Cluster.Deposit.Caption, }; if (well.Telemetry?.LastDataSaub != default) wellDto.LastData = mapperConfiguration.CreateMapper().Map(well.Telemetry.LastDataSaub); return wellDto; } } }