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));
        }