public ActionResult Edit(EditTransactionViewModel transactionViewModel) { if (!ModelState.IsValid) { TransactionHelpers.SetCategoryDropDownList(transactionViewModel, Request); if (transactionViewModel.Categories is null) { TempData.Add("Message", "Error: Categories missing"); TempData.Add("MessageColour", "danger"); return(RedirectToAction("Index", "Household")); } return(View(transactionViewModel)); } var url = $"{ProjectConstants.APIURL}/api/transaction/edit/{transactionViewModel.Id}"; var parameters = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Title", transactionViewModel.Title), new KeyValuePair <string, string>("Description", transactionViewModel.Description), new KeyValuePair <string, string>("Amount", transactionViewModel.Amount.ToString()), new KeyValuePair <string, string>("Date", transactionViewModel.Date.ToString()), new KeyValuePair <string, string>("CategoryId", transactionViewModel.CategoryId.ToString()), }; var encodedParameters = new FormUrlEncodedContent(parameters); var response = HttpClientContext.httpClient.PostAsync(url, encodedParameters).Result; if (response.IsSuccessStatusCode) { TempData.Add("Message", $"Transaction '{transactionViewModel.Title}' Edited!"); return(RedirectToAction("HouseholdTransactions", "Transaction", new { Id = transactionViewModel.HouseholdId })); } else { ErrorHelpers.HandleResponseErrors(response, TempData, ModelState); TransactionHelpers.SetCategoryDropDownList(transactionViewModel, Request); if (transactionViewModel.Categories is null) { TempData.Add("Message", "Error: Categories missing"); TempData.Add("MessageColour", "danger"); return(RedirectToAction("Index", "Household")); } return(View(transactionViewModel)); } }
public ActionResult Edit(int?Id) { // Category Id if (Id is null) { TempData.Add("Message", "Improper Id"); TempData.Add("MessageColour", "danger"); return(RedirectToAction("Index", "Household")); } var url = $"{ProjectConstants.APIURL}/api/transaction/getbyid/{Id}"; var response = HttpClientContext.httpClient.GetAsync(url).Result; if (response.IsSuccessStatusCode) { var responseResult = response.Content.ReadAsStringAsync().Result; var data = JsonConvert.DeserializeObject <EditTransactionViewModel>(responseResult); TransactionHelpers.SetCategoryDropDownList(data, Request); if (data.Categories is null) { TempData.Add("Message", "Error: Categories missing"); TempData.Add("MessageColour", "danger"); return(RedirectToAction("Index", "Household")); } return(View(data)); } else { ErrorHelpers.HandleResponseErrors(response, TempData, ModelState); return(RedirectToAction("Index", "Household")); } }