public IHttpActionResult PostGrowPhaseSetting(GrowPhaseSettingDto growPhaseSetting) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Guid currentUserGuid = _userHelper.GetUserGuid(); GrowPhaseSetting entity = _GrowPhaseSettingFactory.PostGrowPhaseSetting(growPhaseSetting); RepositoryActionResult <GrowPhaseSetting> result = _growSettingsRepository.PostGrowPhaseSetting(entity, currentUserGuid); if (result.Status == RepositoryActionStatus.Created) { // map to dto GrowPhaseSettingDto newGrowPhaseSetting = _GrowPhaseSettingFactory.GetGrowPhaseSetting(result.Entity); growPhaseSetting.GrowPhaseSettingId = entity.GrowPhaseSettingId; //TODO: this is wrong return address, find out correct one and replace return(Created(Request.RequestUri + "/" + result.Entity.GrowSettingId, newGrowPhaseSetting)); } throw new Exception(); } catch (Exception) { return(InternalServerError()); } }
public RepositoryActionResult <GrowPhaseSetting> PostGrowPhaseSetting(GrowPhaseSetting entity, Guid currentUserGuid) { try { GrowSetting growSetting = GetGrowSetting(entity.GrowSettingId, currentUserGuid); if (growSetting == null) { return(new RepositoryActionResult <GrowPhaseSetting>(entity, RepositoryActionStatus.NotFound)); } if (growSetting.UserGuid != currentUserGuid) { return(new RepositoryActionResult <GrowPhaseSetting>(entity, RepositoryActionStatus.NotFound)); } _dbContext.GrowPhaseSetting.Add(entity); int result = _dbContext.SaveChanges(); if (result > 0) { return(new RepositoryActionResult <GrowPhaseSetting>(entity, RepositoryActionStatus.Created)); } return(new RepositoryActionResult <GrowPhaseSetting>(entity, RepositoryActionStatus.NothingModified, null)); } catch (Exception ex) { return(new RepositoryActionResult <GrowPhaseSetting>(null, RepositoryActionStatus.Error, ex)); } }
public GrowPhaseSetting PutGrowPhaseSetting(GrowPhaseSetting originalEntity, GrowPhaseSettingDto GrowPhaseSetting) { originalEntity.GrowPhaseName = GrowPhaseSetting.GrowPhaseName; originalEntity.Duration = GrowPhaseSetting.Duration; originalEntity.PhaseNotes = GrowPhaseSetting.PhaseNotes; //originalEntity.PhaseOrder = GrowPhaseSetting.PhaseOrder; Need to figure a way so that user cant f**k it up if they mess around with fiddler etc return(originalEntity); }
public IHttpActionResult PutGrowPhaseSetting(int growSettingId, int growPhaseSettingId, GrowPhaseSettingDto growPhaseSetting) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Guid currentUserGuid = _userHelper.GetUserGuid(); GrowPhaseSetting originalEntity = _growSettingsRepository.GetGrowPhaseSetting(growSettingId, growPhaseSettingId, currentUserGuid); if (originalEntity == null) { return(NotFound()); } GrowPhaseSetting modifiedGrowPhaseSetting = _GrowPhaseSettingFactory.PutGrowPhaseSetting(originalEntity, growPhaseSetting); RepositoryActionResult <GrowPhaseSetting> result = _growSettingsRepository.PutGrowPhaseSetting( growPhaseSettingId, modifiedGrowPhaseSetting, currentUserGuid); switch (result.Status) { case RepositoryActionStatus.Updated: return(Ok(_GrowPhaseSettingFactory.GetGrowPhaseSetting(modifiedGrowPhaseSetting))); case RepositoryActionStatus.Error: return(InternalServerError()); case RepositoryActionStatus.NotFound: return(NotFound()); case RepositoryActionStatus.NothingModified: return(Ok(_GrowPhaseSettingFactory.GetGrowPhaseSetting(modifiedGrowPhaseSetting))); default: return(BadRequest()); } } catch (Exception) { return(InternalServerError()); } }
public GrowPhaseSettingDto GetGrowPhaseSetting(GrowPhaseSetting GrowPhaseSetting) { return(new GrowPhaseSettingDto { GrowPhaseSettingId = GrowPhaseSetting.GrowPhaseSettingId, GrowPhaseName = GrowPhaseSetting.GrowPhaseName, Duration = GrowPhaseSetting.Duration, PhaseNotes = GrowPhaseSetting.GrowPhaseName, PhaseOrder = GrowPhaseSetting.PhaseOrder, WaterSetting = GrowPhaseSetting.WaterSetting.Select(e => _waterSettingFactory.GetWaterSetting(e)).ToList(), FanSetting = GrowPhaseSetting.FanSetting.Select(e => _fanSettingFactory.GetFanSetting(e)).ToList(), LightSetting = GrowPhaseSetting.LightSetting.Select(e => _lightSettingFactory.GetLightSetting(e)).ToList(), GrowSettingId = GrowPhaseSetting.GrowSettingId }); }
public IHttpActionResult GetGrowPhaseSetting(int growSettingId, int growPhaseSettingId) { try { Guid currentUserGuid = _userHelper.GetUserGuid(); GrowPhaseSetting GrowPhaseSetting = _growSettingsRepository.GetGrowPhaseSetting(growSettingId, growPhaseSettingId, currentUserGuid); if (GrowPhaseSetting == null) { return(NotFound()); } return(Ok(_GrowPhaseSettingFactory.GetGrowPhaseSetting(GrowPhaseSetting))); } catch (Exception) { return(InternalServerError()); } }
public RepositoryActionResult <GrowPhaseSetting> DeleteGrowPhaseSetting(int growSettingId, int GrowPhaseSettingId, Guid currentUserGuid) { try { GrowPhaseSetting GrowPhaseSetting = _dbContext.GrowPhaseSetting.FirstOrDefault(ug => ug.GrowPhaseSettingId == GrowPhaseSettingId && ug.GrowSetting.UserGuid == currentUserGuid && ug.GrowSettingId == growSettingId); if (GrowPhaseSetting == null) { return(new RepositoryActionResult <GrowPhaseSetting>(null, RepositoryActionStatus.NotFound)); } // This edit phase order of all phases so that it stays in sync after delete of a phase List <GrowPhaseSetting> incorrectGrowPhaseSettings = _dbContext.GrowPhaseSetting.Where( ug => ug.PhaseOrder > GrowPhaseSetting.PhaseOrder && ug.GrowSettingId == GrowPhaseSetting.GrowSettingId) .ToList(); _dbContext.GrowPhaseSetting.Remove(GrowPhaseSetting); foreach (GrowPhaseSetting entity in incorrectGrowPhaseSettings) { entity.PhaseOrder -= 1; _dbContext.Entry(entity).State = EntityState.Modified; } _dbContext.SaveChanges(); return(new RepositoryActionResult <GrowPhaseSetting>(null, RepositoryActionStatus.Deleted)); } catch (Exception ex) { return(new RepositoryActionResult <GrowPhaseSetting>(null, RepositoryActionStatus.Error, ex)); } }
public RepositoryActionResult <GrowPhaseSetting> PutGrowPhaseSetting(int GrowPhaseSettingId, GrowPhaseSetting modifiedUserGrow, Guid currentUserGuid) { if (modifiedUserGrow.GrowSetting.UserGuid != currentUserGuid) { return(new RepositoryActionResult <GrowPhaseSetting>(modifiedUserGrow, RepositoryActionStatus.NotFound)); } //_dbContext.Entry(modifiedUserGrow).State = EntityState.Modified; try { _dbContext.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { if (!GrowPhaseSettingExists(GrowPhaseSettingId)) { return(new RepositoryActionResult <GrowPhaseSetting>(null, RepositoryActionStatus.Error, ex)); } throw; } return(new RepositoryActionResult <GrowPhaseSetting>(modifiedUserGrow, RepositoryActionStatus.Updated)); }