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(); }
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(); }
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()); }