public HttpResponseMessage Create(HttpRequestMessage request, DimensionVM dimensionVM) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray()); } else { if (_dimensionsRepository.DimensionExists(dimensionVM.Name)) { ModelState.AddModelError("Invalid user", "Email or Name already exists"); response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray()); } else { Dimension newDimension = new Dimension(); newDimension = AutoMapper.Map <DimensionVM, Dimension>(dimensionVM); _dimensionsRepository.Insert(newDimension); _dimensionsRepository.Commit(); // Update view model dimensionVM = AutoMapper.Map <Dimension, DimensionVM>(newDimension); response = request.CreateResponse <DimensionVM>(HttpStatusCode.Created, dimensionVM); } } return response; })); }
public HttpResponseMessage Delete(HttpRequestMessage request, DimensionVM dimensionVM) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Keys.SelectMany(k => ModelState[k].Errors) .Select(m => m.ErrorMessage).ToArray()); } else { dimensionVM.IsDeleted = true; Dimension _dimension = _dimensionsRepository.GetSingleByDimensionID(dimensionVM.ID); _dimension.UpdateDimension(dimensionVM); _dimensionsRepository.Commit(); response = request.CreateResponse(HttpStatusCode.OK); } return response; })); }
public static void UpdateDimension(this Dimension dimension, DimensionVM dimensionVM) { dimension.Name = dimensionVM.Name; dimension.Description = dimensionVM.Description; dimension.ModifiedBy = dimensionVM.ModifiedBy; dimension.ModifiedOn = dimensionVM.ModifiedOn; dimension.IsDeleted = dimensionVM.IsDeleted; }