예제 #1
0
        public void AddOrUpdate(IBuildingModel model)
        {
            try
            {
                using (var ctx = new DBProjectEntities())
                {
                    var newObject = ctx.Budynki.Find(model.Id);

                    if (newObject == null)
                    {
                        newObject = Mapper.ModelMapper.Mapper.Map <Budynki>(model);
                        ctx.Budynki.Add(newObject);
                    }
                    else
                    {
                        newObject.adres_budynku = model.adres_budynku;
                    }
                    ctx.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                Logger.Log(ex.Message);
            }
        }
        public BuildingController(IBuildingModel model, IBuildingView view)
        {
            buildingModel = model;
            buildingView  = view;

            model.OnNumberOfFloorsChanged += Model_OnNumberOfFloorsChanged;
            view.OnAddFloorClicked        += View_OnAddFloorClicked;
            view.OnRemoveFloorClicked     += View_OnRemoveFloorClicked;
        }
예제 #3
0
        public static double AngleNotCovered(IBuildingModel lowBuilding, int lowBuildingPosition, IBuildingModel highBuilding, int highBuildingPosition)
        {
            double angle   = 0;
            bool   covered = true;

            while (covered)
            {
                angle += 0.1;
                double radians = angle * (Math.PI / 180);
                double result  = Math.Tan(radians);

                double shadowLength = (highBuilding.height - lowBuilding.height) / result;

                covered = shadowLength >= (lowBuildingPosition + lowBuilding.width) - (highBuildingPosition + highBuilding.width);
            }

            return(angle);
        }
예제 #4
0
 public bool Remove(IBuildingModel model)
 {
     return(Remove(model.Id));
 }