コード例 #1
0
        public async Task <Expense> CreateExpenseWhen(PosPaymentAdded notification)
        {
            var expenseRecipient =
                await _expenseRecipientRepository.FindByPosTerminal(notification.PosTerminalCode);

            var expense = _expenseFactory.CreateFrom(ExpenseType.PosPayment, notification.Value, notification.PaymentDate, expenseRecipient?.ExpenseRecipientId, expenseRecipient?.ExpenseCategoryId, notification.PosTerminalCode, notification.PosTerminalCode, null, notification.PosPaymentId);

            return(expense);
        }
コード例 #2
0
        public async Task <ExpenseRecipient> AddPosTerminalWhen(PosPaymentAdded notification)
        {
            var existingExpenseRecipientForPosTerminal = await _expenseRecipientRepository.FindByPosTerminal(notification.PosTerminalCode);

            if (existingExpenseRecipientForPosTerminal != null)
            {
                return(null);
            }

            var expenseRecipient =
                await _expenseRecipientRepository.FindBestMatchForPosTerminalCode(notification.PosTerminalCode);

            if (expenseRecipient != null)
            {
                expenseRecipient.AddPosTerminal(notification.PosTerminalCode);
                return(expenseRecipient);
            }

            return(null);
        }