Beispiel #1
0
        public IHttpActionResult PostLightSetting(int growSettingId, int growPhaseSettingId, LightSettingDto lightSetting)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                Guid currentUserGuid = _userHelper.GetUserGuid();

                LightSetting entity = _lightSettingFactory.PostLightSetting(lightSetting);

                RepositoryActionResult <LightSetting> result = _growSettingsRepository.PostLightSetting(entity,
                                                                                                        currentUserGuid);

                if (result.Status == RepositoryActionStatus.Created)
                {
                    // map to dto
                    LightSettingDto newLightSetting = _lightSettingFactory.GetLightSetting(result.Entity);
                    lightSetting.LightSettingId = entity.LightSettingId;
                    //TODO: this is wrong return address, find out correct one and replace
                    return(Created(Request.RequestUri
                                   + "/" + result.Entity.LightSettingId, newLightSetting));
                }

                throw new Exception();
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
 public LightSetting PostLightSetting(LightSettingDto lightSetting)
 {
     return(new LightSetting
     {
         LightSettingId = lightSetting.LightSettingId,
         TurnOnLightTime = lightSetting.TurnOnLightTime,
         TurnOffLightTime = lightSetting.TurnOffLightTime,
         GrowPhaseSettingId = lightSetting.GrowPhaseSettingId
     });
 }
Beispiel #3
0
        public IHttpActionResult PutLightSetting(int growSettingId, int growPhaseSettingId, int lightSettingsId,
                                                 LightSettingDto lightSetting)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                Guid currentUserGuid = _userHelper.GetUserGuid();

                LightSetting originalEntity = _growSettingsRepository.GetLightSetting(growSettingId, growPhaseSettingId,
                                                                                      lightSettingsId, currentUserGuid);

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

                LightSetting modifiedGrowPhaseSetting = _lightSettingFactory.PutLightSetting(originalEntity, lightSetting);

                RepositoryActionResult <LightSetting> result = _growSettingsRepository.PutLightSetting(growSettingId,
                                                                                                       growPhaseSettingId, lightSettingsId, modifiedGrowPhaseSetting,
                                                                                                       currentUserGuid);

                switch (result.Status)
                {
                case RepositoryActionStatus.Updated:
                    return(Ok(_lightSettingFactory.GetLightSetting(modifiedGrowPhaseSetting)));

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

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

                case RepositoryActionStatus.NothingModified:
                    return(Ok(_lightSettingFactory.GetLightSetting(modifiedGrowPhaseSetting)));

                default:
                    return(BadRequest());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
 public LightSetting PutLightSetting(LightSetting originalEntity, LightSettingDto lightSetting)
 {
     originalEntity.TurnOffLightTime = lightSetting.TurnOffLightTime;
     originalEntity.TurnOnLightTime  = lightSetting.TurnOnLightTime;
     return(originalEntity);
 }