public HttpResponseMessage Delete(HttpRequestMessage request, RawMaterialFormVM rawMaterialFormVM)
        {
            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
                {
                    rawMaterialFormVM.IsDeleted = true;
                    RawMaterialForm _rawMaterialForm = _rawMaterialFormsRepository.GetSingleByRawMaterialFormID(rawMaterialFormVM.ID);
                    _rawMaterialForm.UpdateRawMaterialForm(rawMaterialFormVM);

                    _rawMaterialFormsRepository.Commit();

                    response = request.CreateResponse(HttpStatusCode.OK);
                }

                return response;
            }));
        }
        public HttpResponseMessage Create(HttpRequestMessage request, RawMaterialFormVM rawMaterialFormVM)
        {
            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 (_rawMaterialFormsRepository.RawMaterialFormExists(rawMaterialFormVM.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
                    {
                        RawMaterialForm newRawMaterialForm = new RawMaterialForm();
                        newRawMaterialForm = AutoMapper.Map <RawMaterialFormVM, RawMaterialForm>(rawMaterialFormVM);

                        _rawMaterialFormsRepository.Insert(newRawMaterialForm);
                        _rawMaterialFormsRepository.Commit();

                        // Update view model
                        rawMaterialFormVM = AutoMapper.Map <RawMaterialForm, RawMaterialFormVM>(newRawMaterialForm);
                        response = request.CreateResponse <RawMaterialFormVM>(HttpStatusCode.Created, rawMaterialFormVM);
                    }
                }
                return response;
            }));
        }
示例#3
0
 public static void UpdateRawMaterialForm(this RawMaterialForm rawMaterialForm, RawMaterialFormVM rawMaterialFormVm)
 {
     rawMaterialForm.Name        = rawMaterialFormVm.Name;
     rawMaterialForm.Description = rawMaterialFormVm.Description;
     rawMaterialForm.ModifiedBy  = rawMaterialFormVm.ModifiedBy;
     rawMaterialForm.ModifiedOn  = rawMaterialFormVm.ModifiedOn;
     rawMaterialForm.IsDeleted   = rawMaterialFormVm.IsDeleted;
 }