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()); } }
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)); } }
public FanSettingDto GetFanSetting(FanSetting fanSetting) { return(new FanSettingDto { FanSettingId = fanSetting.FanSettingId, MaxHeatCelsius = fanSetting.MaxHeatCelsius, MinHeatCelsius = fanSetting.MinHeatCelsius, MinFanSpeedPercent = fanSetting.MinFanSpeedPercent, GrowPhaseSettingId = fanSetting.GrowPhaseSettingId }); }
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()); } }
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)); } }