Example #1
0
 public void Can_Vabank_Context_Save_CardTransfer()
 {
     var operationCategory = Context.Set<OperationCategory>().Find("TRANSFER-CARD");
     var cards = Context.Set<UserCard>().OrderBy(x => x.CardNo)
         .Where(x => x.Account != null)
         .Take(2)
         .ToList();
     var fromCard = cards[0];
     var toCard = cards[1];
     var transfer = new CardTransfer(operationCategory, fromCard, toCard, 50);
     Context.Set<CardTransfer>().Add(transfer);
     Context.SaveChanges();
 }
Example #2
0
        public void Can_Vabank_Context_Save_CardTransfer()
        {
            var operationCategory = Context.Set <OperationCategory>().Find("TRANSFER-CARD");
            var cards             = Context.Set <UserCard>().OrderBy(x => x.CardNo)
                                    .Where(x => x.Account != null)
                                    .Take(2)
                                    .ToList();
            var fromCard = cards[0];
            var toCard   = cards[1];
            var transfer = new CardTransfer(operationCategory, fromCard, toCard, 50);

            Context.Set <CardTransfer>().Add(transfer);
            Context.SaveChanges();
        }
Example #3
0
        public CardTransfer Create(UserCard from, UserCard to, decimal amount)
        {
            Argument.NotNull(from, "from");
            Argument.NotNull(to, "to");

            //TODO: probably better move this code to some another class
            var operationCategoryCode = from.Owner.Id == to.Owner.Id
                ? PersonalTransferOperation
                : InterbankTransferOperation;
            var operationCategory = _operationCategories.Find(operationCategoryCode);

            if (operationCategory == null)
            {
                throw new InvalidOperationException("Can't find operation category.");
            }
            var transfer        = new CardTransfer(operationCategory, from, to, amount);
            var transactionName = _transactionReferenceBook.ForOperation(transfer);

            transfer.Withdrawal = transfer.From.Withdraw(from, transactionName.Code, transactionName.Description,
                                                         _settings.Location, transfer.MoneyAmount, _moneyConverter);
            return(transfer);
        }
 public async Task Transfer(CardTransfer data)
 {
     var request = mapper.Map <TransferRequest>(data);
     await cardsClient.TransferAsync(request, HttpContext.CreateHeadersWithFlowId());
 }