public IActionResult UpdateExpenses(Expenses expenses) { var errors = new List <string>(); var expenseAccess = new ExpensesAccess() { ExpenseConnection = _expenseConnection }; try { _expenseConnection.BeginTransaction(); expenseAccess.Update(expenses); _expenseConnection.Commit(); _logger.LogInformation("User: { username} updated expense of '{category}'", LoggedInUser, expenses.Category); } catch (CustomExceptions ex) { _logger.LogInformation("User : {username} get validation exception while updating expenses of category '{categoryname}' ", LoggedInUser, expenses.Category); if (_expenseConnection.InTransaction) { _expenseConnection.RollBack(); } errors = (List <string>)ex.Data["errors"]; } catch (Exception Ex) { _logger.LogInformation("User : {username} get exception while updating expenses of category '{categoryname}' ", LoggedInUser, expenses.Category); if (_expenseConnection.InTransaction) { _expenseConnection.RollBack(); } LogExecption(Ex, _expenseConnection); errors = new List <string>() { _appConfiguration.Messages.InternalServerError }; } return(Json(new { success = (errors.Count == 0), data = expenses, error = errors })); }