public EntityEntity(EntityEntityDataAccessModel model) { Id = model.Id; Systematic = model.SystematicType; Number = model.Number; IsTest = model.IsTest; Comment = model.Comment; ValidFrom = model.ValidFrom; ValidTo = model.ValidTo; _Places = model.Places?.Select(o => new EntityPlace(o)).ToList() ?? new List <EntityPlace>(); _SrnPools = model.SrnEntity?.SrnPools?.Select(t => new SrnPool(t)).ToList() ?? new List <SrnPool>(); if (model.SrnEntity != null) { SrnGroup = new SrnGroup(model.SrnEntity); } if (model.EntityEntitySales != null) { EntitySales = new EntityEntitySales(model.EntityEntitySales); } }
public async Task <EntityEntity> GetEntityById(Guid id) { var EntityExpiration = await _context.EntityExpiration .Where(v => v.EntityExpirationGuid == id) .Include(x => x.Entity) .Include(x => x.EntityMainPoint) .Include(x => x.EntityMainPoint.EusMainPoint) .Include(x => x.EntityMainPoint.EusMainPoint.Organization) .Include(x => x.EntityMainPoint.Lts) .Include(x => x.EntityMainPoint.Lts.Select(c => c.RnTaps)) .FirstOrDefaultAsync(); var pos = EntityExpiration.EntityMainPoint.EusMainPoint; var model = new EntityEntityDataAccessModel { Id = EntityExpiration.EntityExpirationGuid, IsTest = EntityExpiration.EntityMainPoint.IsTest, Number = EntityExpiration.Entity.Number, SysType = EntityExpiration.EntityMainPoint.Sys.ToEntitySys(), ValidFrom = EntityExpiration.ValidFrom ?? DateTime.MinValue, ValidTo = EntityExpiration.ValidTo ?? DateTime.MaxValue, Places = EntityExpiration.EntityMainPoint.Sys == SysType.ElioET || EntityExpiration.EntityMainPoint.Sys == SysType.EusET || EntityExpiration.EntityMainPoint.Sys == SysType.SabreET ? EntityExpiration.EntityMainPoint.Lts?.Select(p => new EntityPlaceDataAccessModel { Id = p.LtGuid, Pcc = p.PlaceId, AuthorizationDate = p.AutorizeDate }) : Array.Empty <EntityPlaceDataAccessModel>(), RnEntity = EntityExpiration.EntityMainPoint.Sys == SysType.Rn ? EntityExpiration.EntityMainPoint.Lts .Where(x => x.LtSystem == LtSystems.Rn && x.RnStatus) .Select(Lt => new RnEntityDataAccessModel { Grp = Lt.GRP, Agn = Lt.AGN, RnTerminals = Lt.EntityMainPoint.Lts.Where(x => x.LtSystem == LtSystems.Rn && x.RnStatus) .Select(si => new RnTerminalDataAccessModel { Id = si.LtGuid, TerminalNumber = si.RnTaps.FirstOrDefault().Offc, AuthorizationDate = si.AutorizeDate }).ToList() }) .FirstOrDefault() : null, EntityEntitySales = pos == null ? null : new EntityEntitySalesDataAccessModel { Id = pos.Id, Address = pos.Address, MainPointId = pos.MainPointId, EntityAgent = pos.Organization == null ? null : new EntityAgentDataAccessModel { Code = pos.Organization.Code, Id = pos.Organization.PartnerGuid, Name = pos.Organization.Name } } }; return(new EntityEntity(model)); }