public async Task <BankAccountDto> GetAsync(int id)
        {
            var bank = await _bankAccountRepository.GetAsync(id);

            var bankDto = _mapper.Map <BankAccountDto>(bank);

            return(bankDto);
        }
        public async Task EditAsync(BankAccountEditModel model)
        {
            var bankAccount = await _bankAccountRepository.GetAsync(model.Id);

            BankAccountFactory.Create(model, bankAccount, _userId);
            _bankAccountRepository.Edit(bankAccount);
            await _unitOfWork.SaveChangesAsync();
        }
Esempio n. 3
0
        public async Task <IActionResult> Register(
            [FromBody] RegisterBankPostingDto args)
        {
            if (!Enum.IsDefined(typeof(BankPostingType), //TODO : Review this code.
                                args.Type))
            {
                throw new InvalidOperationException();
            }

            var creditor = await _creditorRepository
                           .GetAsync(args.CreditorId);

            var bankAccount = await _bankAccountRepository
                              .GetAsync(args.BankAccountId);

            var category = await _categoryRepository
                           .GetAsync(args.CategoryId);

            var result = BankPostingFactory.Create(
                amount: args.Amount,
                dueDate: args.DueDate,
                documentDate: args.DocumentDate,
                documentNumber: args.DocumentNumber,
                creditor: creditor,
                description: args.Description,
                bankAccount: bankAccount,
                category: category,
                paymentDate: args.PaymentDate,
                type: args.Type);

            if (result.IsSuccess)
            {
                await _bankPostingRepository
                .AddAsync(result.Value);
            }

            return(FromResult(result));
        }