public async Task UpdateExpense(UpdateExpenseSM expense) { var exp = GetExpenseById(expense.Id); if (exp == null) { AddBusinessError(BusinessErrorCodes.DataNotFound, "ExpenseNotFound"); } if (BusinessStateValid) { _data.StartTransaction(); exp.User = _sessionInfo.User; if (string.IsNullOrEmpty(expense.NewExpenseType)) { expense.ExpenseType = _data.GetExpenseTypeById(expense.ExpenseType.Id); } else { var expenseType = AddExpenseTypeInternal(new ExpenseTypeSM { ExpenseType = expense.NewExpenseType }); expense.ExpenseType = expenseType; } if (BusinessStateValid) { _data.UpdateExpense(expense); _data.CommitTransaction(); } } }
public async Task AddExpense(UpdateExpenseSM expense) { if (string.IsNullOrEmpty(expense.NewExpenseType)) { var expenseType = expense.ExpenseType == null ? null : _data.GetExpenseTypeById(expense.ExpenseType.Id); if (expenseType == null) { AddBusinessError(BusinessErrorCodes.DataNotFound, "ExpenseTypeNotFound"); } else { expense.ExpenseType = _data.GetExpenseTypeById(expense.ExpenseType.Id); } } else { expense.ExpenseType = AddExpenseTypeInternal(new ExpenseTypeSM { ExpenseType = expense.NewExpenseType });; } if (BusinessStateValid) { expense.User = _sessionInfo.User; _data.AddExpense(expense); } }