Example #1
0
        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 }));
        }