public IHttpActionResult PostWaterSetting(int growSettingId, int GrowPhaseSettingId, WaterSettingDto waterSetting)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return BadRequest(ModelState);
                }

                Guid currentUserGuid = _userHelper.GetUserGuid();

                WaterSetting entity = _waterSettingFactory.PostWaterSetting(waterSetting);

                RepositoryActionResult<WaterSetting> result = _growSettingsRepository.PostWaterSetting(entity,
                    currentUserGuid);

                if (result.Status == RepositoryActionStatus.Created)
                {
                    // map to dto
                    WaterSettingDto newWaterSetting = _waterSettingFactory.GetWaterSetting(result.Entity);
                    waterSetting.WaterSettingId = entity.WaterSettingId;
                    //TODO: this is wrong return address, find out correct one and replace
                    return Created(Request.RequestUri
                                   + "/" + result.Entity.WaterSettingId, newWaterSetting);
                }

                throw new Exception();
            }
            catch (Exception)
            {
                return InternalServerError();
            }
        }
Example #2
0
 public WaterSetting PostWaterSetting(WaterSettingDto waterSetting)
 {
     return(new WaterSetting
     {
         WaterSettingId = waterSetting.WaterSettingId,
         TurnOnWaterTime = waterSetting.TurnOnWatertTime,
         TurnOffWaterTime = waterSetting.TurnOffWaterTime,
         GrowPhaseSettingId = waterSetting.GrowPhaseSettingId
     });
 }
        public IHttpActionResult PutWaterSetting(int growSettingId, int growPhaseSettingId, int waterSettingId,
            WaterSettingDto waterSetting)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return BadRequest(ModelState);
                }

                Guid currentUserGuid = _userHelper.GetUserGuid();

                WaterSetting originalEntity = _growSettingsRepository.GetWaterSetting(growSettingId, growPhaseSettingId,
                    waterSettingId, currentUserGuid);

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

                WaterSetting modifiedWaterSetting = _waterSettingFactory.PutWaterSetting(originalEntity, waterSetting);

                RepositoryActionResult<WaterSetting> result = _growSettingsRepository.PutWaterSetting(growSettingId,
                    growPhaseSettingId, waterSettingId, modifiedWaterSetting,
                    currentUserGuid);

                switch (result.Status)
                {
                    case RepositoryActionStatus.Updated:
                        return Ok(_waterSettingFactory.GetWaterSetting(modifiedWaterSetting));
                    case RepositoryActionStatus.Error:
                        return InternalServerError();
                    case RepositoryActionStatus.NotFound:
                        return NotFound();
                    case RepositoryActionStatus.NothingModified:
                        return Ok(_waterSettingFactory.GetWaterSetting(modifiedWaterSetting));
                    default:
                        return BadRequest();
                }
            }
            catch (Exception)
            {
                return InternalServerError();
            }
        }
Example #4
0
 public WaterSetting PutWaterSetting(WaterSetting originalEntity, WaterSettingDto waterSetting)
 {
     originalEntity.TurnOffWaterTime = waterSetting.TurnOffWaterTime;
     originalEntity.TurnOnWaterTime  = waterSetting.TurnOnWatertTime;
     return(originalEntity);
 }