public IHttpActionResult Edit(int id, EditTranscationBindingModel formData) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (formData.DateTransacted.Year < 1900 || formData.DateTransacted.Year > 2100) { ModelState.AddModelError("Date", "Date is not vaild."); return(BadRequest(ModelState)); } var validCatId = TransactionHelper .IsCategoryBelongToSameHhByTransId(id, formData.CategoryId); if (!validCatId) { ModelState .AddModelError("CategoryId", "You don't share the same Household with this Cat."); return(BadRequest(ModelState)); } var transcation = TransactionHelper.GetByIdWithHhViaCat(id); if (transcation == null) { return(NotFound()); } if (transcation.IsVoid == true) { ModelState.AddModelError("IsVoid", "Cannot edit void transcation"); return(BadRequest(ModelState)); } if (IsAuthorized(transcation, CurrentUserID)) { return(Unauthorized()); } // For Calculation of Balance For Editing var oldVal = transcation.Amount; Mapper.Map(formData, transcation); transcation.DateUpdated = DateTime.Now; DbContext.SaveChanges(); EditCalculateBalance(transcation.BankAccountId, transcation, oldVal); var viewModel = Mapper.Map <TranscationViewModel>(transcation); return(Ok(viewModel)); }
public ActionResult Edit(int?id, int?baId) { if (!id.HasValue || !baId.HasValue) { return(RedirectToAction(nameof(TransactionController.IndexBa))); } var response = SendReqGetRes(true, id, "Transaction", "GetById"); if (response.IsSuccessStatusCode) { var dataTrans = RequestHelper.ReadResponse(response); var transactionModel = JsonConvert .DeserializeObject <EditTranscationBindingModel>(dataTrans); var responseCat = SendReqGetRes(true, baId, "Category", "GetAllByHhBaId"); if (responseCat.IsSuccessStatusCode) { transactionModel.Categories = MakeNewDropDownList(ReadOutputDropDownList(responseCat)); return(View(transactionModel)); } else if (responseCat.StatusCode == HttpStatusCode.NotFound) { AddTempDataMsg(false); return(View("Error")); } } else if (response.StatusCode == HttpStatusCode.NotFound) { var model = new EditTranscationBindingModel(); return(View(model)); } return(View("Error")); }
public ActionResult Edit(int id, int baId, EditTranscationBindingModel formData) { if (!ModelState.IsValid) { var responseCat = SendReqGetResCatDropDownListByBa(baId); if (responseCat.IsSuccessStatusCode) { formData.Categories = MakeNewDropDownList(ReadOutputDropDownList(responseCat)); formData.DateTransacted = DateTime.Today; return(View(formData)); } else if (responseCat.StatusCode == HttpStatusCode.NotFound) { AddTempDataMsg(false); return(View("Error")); } } var title = formData.Title; var description = formData.Description; int categoryId = formData.CategoryId; var dateTransacted = formData.DateTransacted; decimal amount = formData.Amount; var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("title", title)); parameters.Add(new KeyValuePair <string, string>("description", description)); parameters.Add(new KeyValuePair <string, string>("amount", amount.ToString())); parameters.Add(new KeyValuePair <string, string>("categoryId", categoryId.ToString())); parameters.Add(new KeyValuePair <string, string>("dateTransacted", dateTransacted.ToString())); var response = RequestHelper.SendGetRequestAuth(parameters, "Transaction" , "Edit", id, MyToken, CusHttpMethod.Put); if (response.IsSuccessStatusCode) { return(ToShowMe(baId)); } if (response.StatusCode == HttpStatusCode.NotFound) { ViewBag.Nf = true; return(View("NofoundAuth")); } else if (response.StatusCode == HttpStatusCode.Unauthorized) { ViewBag.Nf = false; return(View("NofoundAuth")); } else if (response.StatusCode == HttpStatusCode.InternalServerError) { CusAddTempDataMsg("Date Transacted maybe not valid"); return(View("Error")); } else if (response.StatusCode != HttpStatusCode.BadRequest) { return(View("Error")); } if (response.StatusCode == HttpStatusCode.BadRequest) { BadRequestSmall(response); var responseCat = SendReqGetResCatDropDownListByBa(baId); if (responseCat.IsSuccessStatusCode) { formData.Categories = MakeNewDropDownList(ReadOutputDropDownList(responseCat)); return(View(formData)); } else if (responseCat.StatusCode == HttpStatusCode.NotFound) { AddTempDataMsg(false); return(View("Error")); } return(View("Error")); } return(View("Error")); }