Esempio n. 1
0
        public IHttpActionResult PostFanSetting(FanSettingDto fanSetting)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                Guid currentUserGuid = _userHelper.GetUserGuid();

                FanSetting entity = _fanSettingFactory.PostFanSetting(fanSetting);

                RepositoryActionResult <FanSetting> result = _growSettingsRepository.PostFanSetting(entity,
                                                                                                    currentUserGuid);

                if (result.Status == RepositoryActionStatus.Created)
                {
                    // map to dto
                    FanSettingDto newGrowPhaseSetting = _fanSettingFactory.GetFanSetting(result.Entity);
                    fanSetting.GrowPhaseSettingId = entity.GrowPhaseSettingId;
                    //TODO: this is wrong return address, find out correct one and replace
                    return(Created(Request.RequestUri
                                   + "/" + result.Entity.FanSettingId, newGrowPhaseSetting));
                }

                throw new Exception();
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
Esempio n. 2
0
 public FanSetting PutFanSetting(FanSetting originalEntity, FanSettingDto fanSetting)
 {
     originalEntity.MaxHeatCelsius     = fanSetting.MaxHeatCelsius;
     originalEntity.MinHeatCelsius     = fanSetting.MinHeatCelsius;
     originalEntity.MinFanSpeedPercent = fanSetting.MinFanSpeedPercent;
     return(originalEntity);
 }
        public RepositoryActionResult <FanSetting> DeleteFanSetting(int growSettingId, int fanSettingId,
                                                                    Guid currentUserGuid)
        {
            try
            {
                FanSetting fanSetting = _dbContext.FanSetting.FirstOrDefault(ug => ug.FanSettingId == fanSettingId
                                                                             &&
                                                                             ug.GrowPhaseSetting.GrowSetting.UserGuid ==
                                                                             currentUserGuid
                                                                             &&
                                                                             ug.GrowPhaseSetting.GrowSetting.GrowSettingId ==
                                                                             growSettingId);

                if (fanSetting == null)
                {
                    return(new RepositoryActionResult <FanSetting>(null, RepositoryActionStatus.NotFound));
                }

                _dbContext.FanSetting.Remove(fanSetting);

                _dbContext.SaveChanges();
                return(new RepositoryActionResult <FanSetting>(null, RepositoryActionStatus.Deleted));
            }
            catch (Exception ex)
            {
                return(new RepositoryActionResult <FanSetting>(null, RepositoryActionStatus.Error, ex));
            }
        }
        public RepositoryActionResult <FanSetting> PostFanSetting(FanSetting entity, Guid currentUserGuid)
        {
            try
            {
                GrowSetting growSetting = GetGrowSetting(entity.GrowPhaseSetting.GrowSettingId, currentUserGuid);
                if (growSetting == null)
                {
                    return(new RepositoryActionResult <FanSetting>(entity, RepositoryActionStatus.NotFound));
                }

                bool currentFanSetting =
                    _dbContext.FanSetting.Any(fs => fs.GrowPhaseSettingId == entity.GrowPhaseSetting.GrowPhaseSettingId);
                if (currentFanSetting)
                {
                    return(new RepositoryActionResult <FanSetting>(entity, RepositoryActionStatus.Error));
                }

                _dbContext.FanSetting.Add(entity);
                int result = _dbContext.SaveChanges();
                if (result > 0)
                {
                    return(new RepositoryActionResult <FanSetting>(entity, RepositoryActionStatus.Created));
                }
                return(new RepositoryActionResult <FanSetting>(entity, RepositoryActionStatus.NothingModified, null));
            }
            catch (Exception ex)
            {
                return(new RepositoryActionResult <FanSetting>(null, RepositoryActionStatus.Error, ex));
            }
        }
Esempio n. 5
0
 public FanSettingDto GetFanSetting(FanSetting fanSetting)
 {
     return(new FanSettingDto
     {
         FanSettingId = fanSetting.FanSettingId,
         MaxHeatCelsius = fanSetting.MaxHeatCelsius,
         MinHeatCelsius = fanSetting.MinHeatCelsius,
         MinFanSpeedPercent = fanSetting.MinFanSpeedPercent,
         GrowPhaseSettingId = fanSetting.GrowPhaseSettingId
     });
 }
Esempio n. 6
0
        public IHttpActionResult PutFanSetting(int growSettingId, int growPhaseSettingId, int fanSettingsId,
                                               FanSettingDto GrowPhaseSetting)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                Guid currentUserGuid = _userHelper.GetUserGuid();

                FanSetting originalEntity = _growSettingsRepository.GetFanSetting(growSettingId, growPhaseSettingId,
                                                                                  fanSettingsId,
                                                                                  currentUserGuid);

                if (originalEntity == null)
                {
                    return(NotFound());
                }

                FanSetting modifiedGrowPhaseSetting = _fanSettingFactory.PutFanSetting(originalEntity, GrowPhaseSetting);

                RepositoryActionResult <FanSetting> result = _growSettingsRepository.PutFanSetting(fanSettingsId,
                                                                                                   modifiedGrowPhaseSetting, currentUserGuid);

                switch (result.Status)
                {
                case RepositoryActionStatus.Updated:
                    return(Ok(_fanSettingFactory.GetFanSetting(modifiedGrowPhaseSetting)));

                case RepositoryActionStatus.Error:
                    return(InternalServerError());

                case RepositoryActionStatus.NotFound:
                    return(NotFound());

                case RepositoryActionStatus.NothingModified:
                    return(Ok(_fanSettingFactory.GetFanSetting(modifiedGrowPhaseSetting)));

                default:
                    return(BadRequest());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
Esempio n. 7
0
        public IHttpActionResult GetFanSetting(int growSettingId, int growPhaseSettingId, int fanSettingsId)
        {
            try
            {
                Guid currentUserGuid = _userHelper.GetUserGuid();

                FanSetting fanSetting = _growSettingsRepository.GetFanSetting(growSettingId, growPhaseSettingId, fanSettingsId,
                                                                              currentUserGuid);

                if (fanSetting == null)
                {
                    return(NotFound());
                }

                return(Ok(_fanSettingFactory.GetFanSetting(fanSetting)));
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
        public RepositoryActionResult <FanSetting> PutFanSetting(int fanSettingId, FanSetting modifiedUserGrow,
                                                                 Guid currentUserGuid)
        {
            if (modifiedUserGrow.GrowPhaseSetting.GrowSetting.UserGuid != currentUserGuid)
            {
                return(new RepositoryActionResult <FanSetting>(modifiedUserGrow, RepositoryActionStatus.NotFound));
            }

            //_dbContext.Entry(modifiedUserGrow).State = EntityState.Modified;

            try
            {
                _dbContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                if (!FanSettingExists(fanSettingId))
                {
                    return(new RepositoryActionResult <FanSetting>(null, RepositoryActionStatus.Error, ex));
                }
                throw;
            }
            return(new RepositoryActionResult <FanSetting>(modifiedUserGrow, RepositoryActionStatus.Updated));
        }
        //public bool IsExpired()
        //{
        //    return DateTime.Now.Subtract(this.LastSeen).TotalSeconds > this.MaxAgeSeconds;
        //}
        public void SetFanSetting(FanSetting setting)
        {
            string response;
            using (WebClient http = new WebClient())
            {
                response = http.UploadString(this.Url + "/control", String.Format("fan={0}", (int)setting));
            }

            if (response.Contains(SUCCESS_KEYWORD))
            {
                this.FanSetting = setting;
            }
            else
            {
                this.logger.Error(String.Format("Error setting fan setting. {0}.", response));
            }
        }