Пример #1
0
        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));
            }
        }
Пример #3
0
 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);
 }
Пример #4
0
        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());
            }
        }
Пример #5
0
 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
     });
 }
Пример #6
0
        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));
        }