Ejemplo n.º 1
0
        /// <summary>Convert from LookupProperty entity to DTO</summary>
        /// <param name="dbContext">DB Context to use for setting DTO state</param>
        /// <param name="dto">DTO to use if already created instead of creating new one (can be inherited class instead as opposed to base class)</param>
        /// <param name="entityDtos">Used internally to track which entities have been converted to DTO's already (to avoid re-converting when circularly referenced)</param>
        /// <returns>Resultant LookupProperty DTO</returns>
        public LookupPropertyDto ToDtoDeep(FACTS.Framework.DAL.DbContext dbContext, LookupPropertyDto dto = null, Dictionary <BaseEntity, FACTS.Framework.Dto.BaseDto> entityDtos = null)
        {
            entityDtos = entityDtos ?? new Dictionary <BaseEntity, FACTS.Framework.Dto.BaseDto>();
            if (entityDtos.ContainsKey(this))
            {
                return((LookupPropertyDto)entityDtos[this]);
            }

            dto = ToDto(dto);
            entityDtos.Add(this, dto);

            System.Data.Entity.Infrastructure.DbEntityEntry <LookupProperty> entry = dbContext?.Entry(this);
            dto.IsNew     = (entry?.State == EntityState.Added);
            dto.IsDeleted = (entry?.State == EntityState.Deleted);

            if (entry?.Reference(x => x.LookupName)?.IsLoaded == true)
            {
                dto.LookupName = LookupName?.ToDtoDeep(dbContext, entityDtos: entityDtos);
            }
            if (entry?.Collection(x => x.LookupValues)?.IsLoaded == true)
            {
                foreach (LookupValue lookupValue in LookupValues)
                {
                    dto.LookupValues.Add(lookupValue.ToDtoDeep(dbContext, entityDtos: entityDtos));
                }
            }

            return(dto);
        }
Ejemplo n.º 2
0
        /// <summary>Convert from LookupName DTO to entity</summary>
        /// <param name="dbContext">DB Context to use for attaching entity</param>
        /// <param name="dto">DTO to convert from</param>
        /// <param name="dtoEntities">Used internally to track which dtos have been converted to entites already (to avoid re-converting when circularly referenced)</param>
        /// <returns>Resultant LookupName entity</returns>
        public static LookupName FromDto(FACTS.Framework.DAL.DbContext dbContext, LookupNameDto dto, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities = null)
        {
            dtoEntities = dtoEntities ?? new Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity>();
            if (dtoEntities.ContainsKey(dto))
            {
                return((LookupName)dtoEntities[dto]);
            }

            LookupName entity = new LookupName();

            dtoEntities.Add(dto, entity);

            entity.CreateDateTime = dto.CreateDateTime;
            entity.CreateUserId   = dto.CreateUserId;
            entity.Description    = dto.Description;
            entity.Name           = dto.Name;
            entity.UpdateDateTime = dto.UpdateDateTime;
            entity.UpdateNumber   = dto.UpdateNumber;
            entity.UpdateProcess  = dto.UpdateProcess;
            entity.UpdateUserId   = dto.UpdateUserId;

            if (dto.LookupCodes != null)
            {
                foreach (LookupCodeDto lookupCode in dto.LookupCodes)
                {
                    entity.LookupCodes.Add(DbEntities.LookupCode.FromDto(dbContext, lookupCode, dtoEntities));
                }
            }
            if (dto.LookupProperties != null)
            {
                foreach (LookupPropertyDto lookupProperty in dto.LookupProperties)
                {
                    entity.LookupProperties.Add(DbEntities.LookupProperty.FromDto(dbContext, lookupProperty, dtoEntities));
                }
            }

            if (dbContext != null)
            {
                dbContext.Entry(entity).State = (dto.IsNew ? EntityState.Added : (dto.IsDeleted ? EntityState.Deleted : EntityState.Modified));
            }

            return(entity);
        }
Ejemplo n.º 3
0
        /// <summary>Convert from LookupName DTO to entity</summary>
        /// <param name="dbContext">DB Context to use for attaching entity</param>
        /// <param name="dto">DTO to convert from</param>
        /// <param name="dtoEntities">Used internally to track which dtos have been converted to entites already (to avoid re-converting when circularly referenced)</param>
        /// <returns>Resultant LookupName entity</returns>
        public static LookupName FromDto(FACTS.Framework.DAL.DbContext dbContext, LookupNameDto dto, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities = null)
        {
            dtoEntities = dtoEntities ?? new Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity>();
            if (dtoEntities.ContainsKey(dto))
            {
                return((LookupName)dtoEntities[dto]);
            }

            LookupName entity = new LookupName();

            dtoEntities.Add(dto, entity);
            FromDtoSet(dbContext, dto, entity, dtoEntities);

            if (dbContext != null)
            {
                dbContext.Entry(entity).State = (dto.IsNew ? EntityState.Added : (dto.IsDeleted ? EntityState.Deleted : EntityState.Modified));
            }

            return(entity);
        }
Ejemplo n.º 4
0
        protected static void FromDtoSet(FACTS.Framework.DAL.DbContext dbContext, LookupCodeDto dto, LookupCode entity, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities)
        {
            entity.Code           = dto.Code;
            entity.CreateDateTime = dto.CreateDateTime;
            entity.CreateUserId   = dto.CreateUserId;
            entity.Description    = dto.Description;
            entity.Display        = dto.Display;
            entity.Name           = dto.Name;
            entity.UpdateDateTime = dto.UpdateDateTime;
            entity.UpdateNumber   = dto.UpdateNumber;
            entity.UpdateProcess  = dto.UpdateProcess;
            entity.UpdateUserId   = dto.UpdateUserId;

            entity.LookupName = (dto.LookupName == null) ? null : LookupName.FromDto(dbContext, dto.LookupName, dtoEntities);
            if (dto.LookupValues != null)
            {
                foreach (LookupValueDto lookupValue in dto.LookupValues)
                {
                    entity.LookupValues.Add(DbEntities.LookupValue.FromDto(dbContext, lookupValue, dtoEntities));
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>Convert from LookupProperty DTO to entity</summary>
        /// <param name="dbContext">DB Context to use for attaching entity</param>
        /// <param name="dto">DTO to convert from</param>
        /// <param name="dtoEntities">Used internally to track which dtos have been converted to entites already (to avoid re-converting when circularly referenced)</param>
        /// <returns>Resultant LookupProperty entity</returns>
        public static LookupProperty FromDto(FACTS.Framework.DAL.DbContext dbContext, LookupPropertyDto dto, Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity> dtoEntities = null)
        {
            dtoEntities = dtoEntities ?? new Dictionary <FACTS.Framework.Dto.BaseDto, BaseEntity>();
            if (dtoEntities.ContainsKey(dto))
            {
                return((LookupProperty)dtoEntities[dto]);
            }

            LookupProperty entity = new LookupProperty();

            dtoEntities.Add(dto, entity);

            entity.CreateDateTime = dto.CreateDateTime;
            entity.CreateUserId   = dto.CreateUserId;
            entity.DataType       = dto.DataType;
            entity.Description    = dto.Description;
            entity.Name           = dto.Name;
            entity.Property       = dto.Property;
            entity.UpdateDateTime = dto.UpdateDateTime;
            entity.UpdateUserId   = dto.UpdateUserId;

            entity.LookupName = (dto.LookupName == null) ? null : LookupName.FromDto(dbContext, dto.LookupName, dtoEntities);
            if (dto.LookupValues != null)
            {
                foreach (LookupValueDto lookupValue in dto.LookupValues)
                {
                    entity.LookupValues.Add(DbEntities.LookupValue.FromDto(dbContext, lookupValue, dtoEntities));
                }
            }

            if (dbContext != null)
            {
                dbContext.Entry(entity).State = (dto.IsNew ? EntityState.Added : (dto.IsDeleted ? EntityState.Deleted : EntityState.Modified));
            }

            return(entity);
        }