/// <summary> /// Starts the edit action for a model /// </summary> /// <param name="transactionId">Id of the model to edit</param> /// <returns>Partial view for editing the model</returns> public async Task <IActionResult> EditTransaction(int transactionId) { try { var transaction = await _transactionService.GetTransactionByIdForCurrentUser(transactionId); var userCategories = await _categoryService.GetAllCategoriesForCurrentUser(); var availableCategories = CreateAvailableCategoriesSelectList(userCategories); var model = new UpsertTransactionViewModel { AvailableCategories = availableCategories, Transaction = transaction }; return(PartialView("UpsertTransactionPartial", model)); } catch (NotFoundException) { TempDataHelper.SetTemporaryMessage(TempData, MessageState.Error, Resources.TransactionNotFound); } return(View("Index")); }
public async Task <IActionResult> UpsertTransaction(UpsertTransactionViewModel model) { if (ModelState.IsValid) { try { if (model.Transaction.Id > 0) { await _transactionService.UpdateTransactionForCurrentUser(model.Transaction); return(Json(new SinanceJsonResult { Success = true })); } else { await _transactionService.CreateTransactionForCurrentUser(model.Transaction); return(Json(new SinanceJsonResult { Success = true })); } } catch (NotFoundException) { TempDataHelper.SetTemporaryMessage(TempData, MessageState.Error, Resources.BankAccountNotFound); } } return(PartialView("UpsertTransactionPartial", model)); }