Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }