예제 #1
0
        private void AddBlueprintEntity(BlueprintEntity converted, IEnumerable <WallEntity> itsWalls,
                                        IEnumerable <ColumnEntity> itsColumns, ICollection <Opening> itsOpenings, IEnumerable <SignatureEntity> itsSignatures)
        {
            using (BlueBuilderDBContext context = new BlueBuilderDBContext()) {
                context.Blueprints.Add(converted);
                UserEntity owner = converted.Owner;

                if (context.Users.Any(u => u.UserName.Equals(owner.UserName)))
                {
                    context.Entry(converted.Owner).State = EntityState.Unchanged;
                }

                context.Columns.AddRange(itsColumns);
                context.Walls.AddRange(itsWalls);
                context.Signatures.AddRange(itsSignatures);

                MaterialAndEntityConverter materialTranslator = new MaterialAndEntityConverter();
                foreach (Opening op in itsOpenings)
                {
                    string tempName = op.getTemplateName();
                    OpeningTemplateEntity itsTemplate = context.OpeningTemplates
                                                        .FirstOrDefault(t => t.Name.Equals(tempName));

                    OpeningEntity opRecord = materialTranslator.OpeningToEntity(op, itsTemplate, converted);
                    context.Openings.Add(opRecord);
                }
                context.SaveChanges();
            }
        }
예제 #2
0
        public Template EntityToOpeningTemplate(OpeningTemplateEntity toConvert)
        {
            Template conversion = new Template(toConvert.Name,
                                               toConvert.Length, toConvert.HeightAboveFloor, toConvert.Height,
                                               (ComponentType)toConvert.ComponentType);

            return(conversion);
        }
예제 #3
0
        public OpeningEntity OpeningToEntity(Opening toConvert, OpeningTemplateEntity itsTemplate, BlueprintEntity bearer)
        {
            OpeningEntity conversion = new OpeningEntity()
            {
                CoordX          = toConvert.GetPosition().CoordX,
                CoordY          = toConvert.GetPosition().CoordY,
                Template        = itsTemplate,
                BearerBlueprint = bearer
            };

            return(conversion);
        }
 private void TryDeleting(Template toDelete)
 {
     using (BlueBuilderDBContext context = new BlueBuilderDBContext())
     {
         OpeningTemplateEntity entity = context.OpeningTemplates.FirstOrDefault(ote => ote.Name.Equals(toDelete.Name));
         if (entity != null)
         {
             context.OpeningTemplates.Remove(entity);
             context.SaveChanges();
         }
     }
 }
예제 #5
0
        public OpeningTemplateEntity OpeningTemplateToEntity(Template toConvert)
        {
            OpeningTemplateEntity conversion = new OpeningTemplateEntity()
            {
                Height           = toConvert.Height,
                Length           = toConvert.Length,
                HeightAboveFloor = toConvert.HeightAboveFloor,
                Name             = toConvert.Name,
                ComponentType    = (int)toConvert.Type
            };

            return(conversion);
        }
예제 #6
0
        public OpeningTemplateEntity GetTemplateFromOpening(Opening anOpening)
        {
            OpeningTemplateEntity extracted = new OpeningTemplateEntity()
            {
                Name             = anOpening.getTemplateName(),
                Height           = anOpening.HeightAboveFloor(),
                Length           = anOpening.Length(),
                HeightAboveFloor = anOpening.HeightAboveFloor(),
                ComponentType    = (int)anOpening.GetComponentType()
            };

            return(extracted);
        }
        private void TryModifying(Template entity)
        {
            if (!Exists(entity))
            {
                throw new TemplateDoesNotExistException();
            }
            MaterialAndEntityConverter translator = new MaterialAndEntityConverter();
            OpeningTemplateEntity      record     = translator.OpeningTemplateToEntity(entity);

            using (BlueBuilderDBContext context = new BlueBuilderDBContext())
            {
                context.Entry(record).State = System.Data.Entity.EntityState.Modified;
                context.SaveChanges();
            }
        }
        private void TryAdding(Template entity)
        {
            MaterialAndEntityConverter translator = new MaterialAndEntityConverter();

            using (BlueBuilderDBContext context = new BlueBuilderDBContext())
            {
                try
                {
                    OpeningTemplateEntity converted = translator.OpeningTemplateToEntity(entity);
                    context.OpeningTemplates.Add(converted);
                    context.SaveChanges();
                }
                catch (DbUpdateException)
                {
                    throw new TemplateAlreadyExistsException();
                }
            }
        }
        private Template TrySelectFirstOrDefault(Expression <Func <OpeningTemplateEntity, bool> > aCondition)
        {
            Template firstToComply;

            using (BlueBuilderDBContext context = new BlueBuilderDBContext())
            {
                MaterialAndEntityConverter translator  = new MaterialAndEntityConverter();
                OpeningTemplateEntity      firstRecord = context.OpeningTemplates.FirstOrDefault(aCondition);

                if (firstRecord == null)
                {
                    throw new TemplateDoesNotExistException();
                }
                else
                {
                    firstToComply = translator.EntityToOpeningTemplate(firstRecord);
                }
            }

            return(firstToComply);
        }