public void ShouldNotBuyAndSellSharesYourself() { //Arrange var clientServiceMock = Substitute.For <IClientService>(); var sharesServiceMock = Substitute.For <ISharesService>(); var portfolioServiceMock = Substitute.For <IPortfoliosService>(); var transactionRepositoryMock = Substitute.For <ITransactionsRepository>(); var sut = new TransactionsService( clientServiceMock, sharesServiceMock, portfolioServiceMock, transactionRepositoryMock); Transaction transaction = new Transaction() { SellerID = 1, BuyerID = 1, ShareID = 2, AmountOfShares = 10 }; //Act sut.SellOrBuyShares(transaction); //Assert portfolioServiceMock.DidNotReceive().ChangeAmountOfShares(Arg.Any <ClientPortfolio>()); clientServiceMock.DidNotReceive().ChangeBalance(Arg.Any <int>(), Arg.Any <decimal>()); }
public void AddTransactionTest() { var clientServiceMock = Substitute.For <IClientService>(); var sharesServiceMock = Substitute.For <ISharesService>(); var portfolioServiceMock = Substitute.For <IPortfoliosService>(); var transactionRepositoryMock = Substitute.For <ITransactionsRepository>(); var sut = new TransactionsService( clientServiceMock, sharesServiceMock, portfolioServiceMock, transactionRepositoryMock); var transaction = new Transaction { SellerID = 3, BuyerID = 5, ShareID = 9, AmountOfShares = 1 }; // Act sut.AddTransaction(transaction); // Asserts transactionRepositoryMock.Received(1).Insert(Arg.Is <Transaction>(transaction)); }
public async Task TestLimit() { NjuPayManagementFee(); CjdPayManagementFee(); db.SaveChanges(); service = new TransactionsService(MockTokenClaimsAccessor(njuadminnjuTokenClaims), db); var resp = await service.GetSystemTransactions(new Protos.Transactions.GetSystemTransactionsRequest { }, TestContext); Assert.Equal(2, resp.Transactions.Count); resp = await service.GetSystemTransactions(new Protos.Transactions.GetSystemTransactionsRequest { Limit = 2 }, TestContext); Assert.Equal(2, resp.Transactions.Count); resp = await service.GetSystemTransactions(new Protos.Transactions.GetSystemTransactionsRequest { Limit = 1 }, TestContext); Assert.Equal(1, resp.Transactions.Count); resp = await service.GetSystemTransactions(new Protos.Transactions.GetSystemTransactionsRequest { Limit = -1 }, TestContext); Assert.Equal(2, resp.Transactions.Count); }
public async Task Transactions() { var accountApi = new TransactionsService(this._configuration, this._logger); var accounts = await accountApi.GetAllAsync(this.AccessToken).ConfigureAwait(false); Assert.IsTrue(accounts.Transactions.Any()); }
public async Task <List <TransactionViewModel> > GetList([FromQuery] string sorting) { var userId = User.Identity.Name; var user = await _userRepository.GetUser(userId); var transactionDomains = await _transactionRepository.GetList(userId); if (!transactionDomains.Any()) { return(new List <TransactionViewModel>()); } var earliestTime = transactionDomains.Min(x => x.Time); var startAmoun = await _userRepository.GetAmountForTime(user, earliestTime); var transactions = _mapper.Map <List <TransactionViewModel> >(transactionDomains); TransactionsService.PopulateCurrentData(transactions, userId, startAmoun); if (sorting != null) { transactions = GetSortedTransactions(transactions, sorting); } return(transactions); }
public async Task TestGetProjectTransactions() { service = new TransactionsService(MockTokenClaimsAccessor(lqlqTokenClaims), db); lqproject.PayedOrgTransactions.Add(new Domain.Entities.OrgTransaction( Guid.NewGuid(), DateTime.UtcNow, -10, Domain.ValueObjects.TransactionReason.DomainManagement, lqproject.Payer, nju.Receiver, new Domain.Entities.UserTransaction( Guid.NewGuid(), DateTime.UtcNow, -10, Domain.ValueObjects.TransactionReason.DomainManagement, lqproject.PayUser, nju.PayUser ))); await db.SaveChangesAsync(); var resp = await service.GetProjectTransactions(new Protos.Transactions.GetProjectTransactionsRequest() { ProjectId = lqproject.Id.ToString(), }, TestContext); Assert.Single(resp.Transactions); }
public async Task GetTotalTransactionAsync() { //Arrange IEnumerable <Transactions> transactions = MockTransactions.GetTransactions(); var mockTransactionsRepository = new Mock <IRepository <Transactions> >(); mockTransactionsRepository.Setup(p => p.GetAsync()).Returns(Task.FromResult(transactions)); IEnumerable <Rates> rates = MockRates.GetRates(); var mockRatesRepository = new Mock <IRepository <Rates> >(); mockRatesRepository.Setup(p => p.GetAsync()).Returns(Task.FromResult(rates)); GraphSolver graphSolver = new GraphSolver(); AmountService amountService = new AmountService(); TransactionBusinessService transactionBusinessService = new TransactionBusinessService(graphSolver, amountService, null); TransactionFilterService transactionFilterService = new TransactionFilterService(null); ConfigurationBuilder configBuilder = new ConfigurationBuilder(); configBuilder.AddInMemoryCollection(new Dictionary <string, string> { { "Currency", "EUR" } }); IConfiguration config = configBuilder.Build(); TransactionsService transactionsService = new TransactionsService(mockTransactionsRepository.Object, mockRatesRepository.Object, transactionFilterService, transactionBusinessService, null, config); //Act var totalTransactionDTO = await transactionsService.GetTotalTransactionAsync("A0000").ConfigureAwait(false); //Assert Assert.NotNull(null); }
public HomeController() { DatabaseContext context = new DatabaseContext(); QuoteRepository quoteRepo = new QuoteRepository(context); transactionsService = new TransactionsService(quoteRepo); }
public void SellOrBuySharesTest() { //Arrange var clientServiceMock = Substitute.For <IClientService>(); var sharesServiceMock = Substitute.For <ISharesService>(); var portfolioServiceMock = Substitute.For <IPortfoliosService>(); var transactionRepositoryMock = Substitute.For <ITransactionsRepository>(); var sut = new TransactionsService( clientServiceMock, sharesServiceMock, portfolioServiceMock, transactionRepositoryMock); Transaction transaction = new Transaction() { BuyerID = 5, SellerID = 6, ShareID = 7, AmountOfShares = 10 }; //Act sut.SellOrBuyShares(transaction); //Assert portfolioServiceMock.Received(2).ChangeAmountOfShares(Arg.Any <ClientPortfolio>()); clientServiceMock.Received(2).ChangeBalance(Arg.Any <int>(), Arg.Any <decimal>()); }
public PaymentController(PaymentService paymentService, CustomerService customerService, TransactionsService transactionsService) { _paymentService = paymentService; _customerService = customerService; _transactionsService = transactionsService; InitialisePaymentSourcesViewBag(transactionsService); }
public CustomerController(CustomerService svc, TransactionsService accountsService, DocumentController documentController, EmployerService employerService) { _customerService = svc; _documentController = documentController; _employerService = employerService; InitialisePaymentSourcesViewBag(accountsService); InitialiseEmployersViewBag(employerService); }
public TransactionsServiceTest() { accountRepository = Substitute.For <IAccountRepository>(); depositRepository = Substitute.For <IDepositRepository>(); withdrawRepository = Substitute.For <IWithdrawRepository>(); transferRepository = Substitute.For <ITransferRepository>(); transactionsService = new TransactionsService(accountRepository, depositRepository, withdrawRepository, transferRepository); }
public TradingSimulation(ILogger logger, IValidationService validationService, ClientService clientService, SharesService sharesService, PortfoliosService portfoliosService, TransactionsService transactionsService) { this.logger = logger; this.validationService = validationService; this.clientService = clientService; this.sharesService = sharesService; this.portfoliosService = portfoliosService; this.transactionsService = transactionsService; }
//Gérer le changement de ligne private void dgv_transfert_RowEnter(object sender, DataGridViewCellEventArgs e) { //Récupère l'index de la ligne int indexLigne = e.RowIndex; DataGridViewRow ligne = dgv_transfert.Rows[indexLigne]; int cdTRFT = Convert.ToInt32(ligne.Cells["codetransfert"].Value.ToString()); dgv_transaction.DataSource = TransactionsService.getTransactions(cdTRFT); dgv_transaction.SelectionMode = DataGridViewSelectionMode.FullRowSelect; }
// GET: Wallets public ActionResult Index() { var transactionsService = new TransactionsService(); return(View(db.Wallets.ToList().Select(w => new Wallet { Id = w.Id, Title = w.Title, Description = w.Description, UserId = w.UserId, Balance = transactionsService.GetBalanceForWallet(w.Id) }).ToList())); }
public void TestInitialise() { this._accountsService = new Mock <IAccountsService>(MockBehavior.Strict); this._portalSettings = new PortalSetting() { GatewayEndpoint = "TestEndpoint/" }; this._restClient = new Mock <IRestClient>(MockBehavior.Strict); this._mapper = new Mock <IMapper>(MockBehavior.Strict); this._service = new TransactionsService(this._accountsService.Object, this._portalSettings, this._restClient.Object, this._mapper.Object); }
public TransactionsServiceShould() { testSqlClient = new TestSqlDbClient("TestDatabase", "admin", "1234"); sqlClient = new SqlDbClient("TestDatabase", "admin", "1234"); transactionsService = new TransactionsService(sqlClient); testSqlClient.CreateTestDatabase(); testSqlClient.CreateTestTransactionTable(); testSqlClient.CreateTestAccountsTable(); testSqlClient.InsertTestTransactions(); testSqlClient.InsertTestAccounts(); }
public static TransactionsService BuildBankTransactionMock() { var requestSender = new Mock <IHttpRequestSender>(); var listResult = new List <BankTransaction> { new BankTransaction { Id = "2484fbf3-2054-48a4-a1ce-66333cd15470", Block = new BankBlock { Id = "10cc3cec-eef6-453b-8667-f5cb19e6120d", Created = DateTime.Now.AddDays(-3), Modified = DateTime.Now, BalanceKey = "4abccf4280ef61aad6f176a103933a42ed7dbf90d55e7912f404a704ede06f41", Sender = "4abccf4280ef61aad6f176a103933a42ed7dbf90d55e7912f404a704ede06f41", Signature = "c4a7696abc0f1e760a0c87d2a8db1faec060f99a77bf5f669a69dfdb301150db8fdaa2863a5d4a4e75be626ff56aecdbfea034283b1eb5a8e0196fd35f541b0b" }, Amount = 1, Recipient = "2e86f48216567302527b69eae6c6a188097ed3a9741f43cc3723e570cf47644c" }, new BankTransaction { Id = "2484fbf3-2054-48a4-a1ce-66333cd15470", Block = new BankBlock { Id = "6b9bc4b1-76a7-4105-951f-b729b4befdef", Created = DateTime.Now.AddDays(-3), Modified = DateTime.Now, BalanceKey = "4abccf4280ef61aad6f176a103933a42ed7dbf90d55e7912f404a704ede06f41", Sender = "4abccf4280ef61aad6f176a103933a42ed7dbf90d55e7912f404a704ede06f41", Signature = "c4a7696abc0f1e760a0c87d2a8db1faec060f99a77bf5f669a69dfdb301150db8fdaa2863a5d4a4e75be626ff56aecdbfea034283b1eb5a8e0196fd35f541b0b" }, Amount = 498, Recipient = "802f34851bdfa1572f11fc4e58e44be3c01e92399bc4ba8d81e98b02254a0106" } }; var getAllResponse = new HttpResponseMessage(System.Net.HttpStatusCode.OK); getAllResponse.Content = new StringContent(JsonConvert.SerializeObject(listResult), Encoding.UTF8, "application/json"); requestSender .Setup(x => x.GetAsync(It.IsAny <string>())) .Returns(Task.FromResult(getAllResponse)); var bankTransactionService = new TransactionsService(requestSender.Object); return(bankTransactionService); }
public void Setup() { this.imptExpns = new List <Transaction>(); this.repo = new GenericRepo <Transaction>(new LiteDatabase("Filename=transactionsTests.db;utc=true;"), "Transactions"); foreach (var item in this.repo.GetAll()) { this.repo.RemoveById(item.TransactionId); } this.uow = Mock.Create <IUnitOfWork>(Behavior.Strict); Mock.Arrange(() => this.uow.GetDataItemsRepo <Transaction>()).Returns(() => this.repo); this.sut = null; }
public async Task TestGetDomainTransactions() { service = new TransactionsService(MockTokenClaimsAccessor(njuadminnjuTokenClaims), db); NjuPayManagementFee(); await db.SaveChangesAsync(); var resp = await service.GetDomainTransactions(new Protos.Transactions.GetDomainTransactionsRequest() { DomainId = nju.Id.ToString(), }, TestContext); Assert.Single(resp.Transactions); }
public ActionResult Index() { ViewBag.Title = "Estado de situación"; var transactionsService = new TransactionsService(); var generalState = new GeneralStateViewModel { ExpensesList = transactionsService.GetExpensesByCategory().ToList(), IncomesList = transactionsService.GetIncomesByCategory().ToList(), TotalExpenses = transactionsService.GetTotalExpenses(), TotalIncomes = transactionsService.GetTotalIncomes(), Balance = transactionsService.GetBalance() }; return(View(generalState)); }
protected async override void When() { unitOfWork.Setup(x => x.CardRepository.GetCardIncludesAsync(It.IsAny <int>())).ReturnsAsync((Card)null); userManager.Setup(x => x.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync((User)null); ITransactionsService service = new TransactionsService(unitOfWork.Object, userManager.Object, inputLogger.Object); try { await service.ServicePayment(inputTransaction, inputUser); } catch (Exception e) { result = e; } }
public BankScrapperAppService( IMapper mapper, AccountsService accountsService, BillsService billsService, CardsService cardsService, CategoriesService categoriesService, CustomersService customersService, TransactionsService transactionsService) { _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); _accountsService = accountsService ?? throw new ArgumentNullException(nameof(accountsService)); _billsService = billsService ?? throw new ArgumentNullException(nameof(billsService)); _cardsService = cardsService ?? throw new ArgumentNullException(nameof(cardsService)); _categoriesService = categoriesService ?? throw new ArgumentNullException(nameof(categoriesService)); _customersService = customersService ?? throw new ArgumentNullException(nameof(customersService)); _transactionsService = transactionsService ?? throw new ArgumentNullException(nameof(transactionsService)); }
public ActionResult Index() { ViewBag.Title = "Inicio"; if (User.Identity.IsAuthenticated) { var transactionsService = new TransactionsService(); var incomes = transactionsService.GetTotalIncomes(); var expenses = transactionsService.GetTotalExpenses(); var resume = new ResumeViewModel { balance = incomes - expenses, incomes = incomes, expenses = expenses }; var incomesByCategory = transactionsService.GetIncomesByCategory(); var expensesByCategory = transactionsService.GetExpensesByCategory(); var expensesDataPoints = new List <DataPoint>(); var incomesDataPoints = new List <DataPoint>(); var total = incomes + expenses; var ratioDataPoints = new List <DataPoint> { new DataPoint("Ingresos", Math.Round((incomes * 100) / total, 2)), new DataPoint("Gastos", Math.Round((expenses * 100) / total, 2)) }; foreach (var ibc in incomesByCategory) { incomesDataPoints.Add(new DataPoint(ibc.Category, ibc.Total)); } foreach (var ebc in expensesByCategory) { expensesDataPoints.Add(new DataPoint(ebc.Category, ebc.Total)); } ViewBag.IncomesDataPoints = JsonConvert.SerializeObject(incomesDataPoints); ViewBag.ExpensesDataPoints = JsonConvert.SerializeObject(expensesDataPoints); ViewBag.RatioDataPoints = JsonConvert.SerializeObject(ratioDataPoints); ViewBag.resume = resume; } return(View()); }
public async Task GetTransaction() { var response = JsonSerializer.Deserialize <TransactionResponse>(@" { ""data"": { ""id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""date"": ""1999-12-31"", ""amount"": 20, ""memo"": null, ""cleared"": ""reconciled"", ""approved"": true, ""flag_color"": null, ""account_id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""account_name"": ""Asdf 1234"", ""payee_id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""payee_name"": ""Asdf 1234"", ""category_id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""category_name"": ""Asdf 1234"", ""transfer_account_id"": null, ""transfer_transaction_id"": null, ""matched_transaction_id"": null, ""import_id"": ""YNAB:1234:1999-12-31:1"", ""deleted"": false, ""subtransactions"": [] } }", PascalToSnakeNamingPolicy.Options); var mockOptions = new Mock <IOptions <YnabHostOptions> >(); mockOptions.Setup(mock => mock.Value).Returns(new YnabHostOptions { EndPoint = string.Empty, BudgetId = "zxcv3214-zxcv-3214-zxcv-3214zxcv3214" }); var mockApiService = new Mock <IYnabApiService>(); mockApiService.Setup(mock => mock.Download <TransactionResponse>(It.IsAny <string>())).ReturnsAsync(response); var service = new TransactionsService(mockOptions.Object, mockApiService.Object); var result = await service.GetTransaction(new TransactionRequest { TransactionId = "asdf1234-asdf-1234-asdf-1234asdf1234" }); Assert.IsNotNull(result); Assert.AreEqual("asdf1234-asdf-1234-asdf-1234asdf1234", result.Id); }
public ActionResult FilterTransactions(int?transactionType = null, int?currency = null) { TransactionsService transactionsService = new TransactionsService(); TransactionsFilter transactionsFilter = new TransactionsFilter(); if (transactionType != null) { transactionsFilter.Action = ((Variables.ActionValues)transactionType).ToString(); ViewBag.SelectedAction = transactionType; } if (currency != null) { transactionsFilter.CurrencyCode = ((Variables.CurrencyCodeValues)currency).ToString(); ViewBag.SelectedCurrency = currency; } return(View("Index", transactionsService.GetTransactions(transactionsFilter))); }
// GET: Wallets/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Wallet wallet = db.Wallets.Find(id); if (wallet == null) { return(HttpNotFound()); } var transactionsService = new TransactionsService(); wallet.Balance = transactionsService.GetBalanceForWallet(wallet.Id); return(View(wallet)); }
public void GetAllTransactionsTest() { var clientServiceMock = Substitute.For <IClientService>(); var sharesServiceMock = Substitute.For <ISharesService>(); var portfolioServiceMock = Substitute.For <IPortfoliosService>(); var transactionRepositoryMock = Substitute.For <ITransactionsRepository>(); var sut = new TransactionsService( clientServiceMock, sharesServiceMock, portfolioServiceMock, transactionRepositoryMock); // Act sut.GetAllTransactions(); // Asserts transactionRepositoryMock.Received(1).GetAllTransactions(); }
static void Main(string[] args) { try { var accServ = new AccountsService(); var banksServ = new BanksService(); var clientsServ = new ClientsService(); var transServ = new TransactionsService(); var timer = new FutureTimer(); var system = new BankingSystem(banksServ, clientsServ, accServ, transServ, timer); system.CreateBank("MyBank", 5, 500, 1000, 12); system.CreateBank("AnotherBank", 3, 100, 500, 6); system.CreateBank("TheLastButTheBest", 10, 50, 1200, 5); system.CreateClient("Max", "Reshetnikov", new PassportData(), "address"); system.CreateAccount("MyBank", "Max", "Reshetnikov", AccountFactoryTypes.Credit, 1000); system.CreateAccount("AnotherBank", "Max", "Reshetnikov", AccountFactoryTypes.Deposit, 500); system.CreateAccount("TheLastButTheBest", "Max", "Reshetnikov", AccountFactoryTypes.Debit, 2000); var accId1 = system.GetAccId("Max", "Reshetnikov", "MyBank"); system.PutMoney(accId1, 5000); Console.WriteLine(system.CheckBalance(accId1) == 6000); system.WithdrawMoney(accId1, 6500); Console.WriteLine(system.CheckBalance(accId1) == -500); system.GetCommission(accId1); Console.WriteLine(system.CheckBalance(accId1) == -1000); system.GetCommission(accId1); Console.WriteLine(system.CheckBalance(accId1) == -1000); var accId2 = system.GetAccId("Max", "Reshetnikov", "AnotherBank"); system.PutMoney(accId1, 5000); system.TransferMoney(accId1, accId2, 2000); Console.WriteLine(system.CheckBalance(accId2) == 2500); for (var i = 0; i <= 31; ++i) { system.PutInterestMoney(accId2); system.Timer.NextDay(); } Console.WriteLine(system.CheckBalance(accId2)); var accId3 = system.GetAccId("Max", "Reshetnikov", "TheLastButTheBest"); for (var i = 0; i <= 31; ++i) { system.PutInterestMoney(accId3); system.Timer.NextDay(); } Console.WriteLine(system.CheckBalance(accId3)); system.CreateClient("Tany", "Kolobova"); system.CreateAccount("MyBank", "Tany", "Kolobova", AccountFactoryTypes.Credit, 2500); var accId4 = system.GetAccId("Tany", "Kolobova", "MyBank"); system.WithdrawMoney(accId4, 2000); Console.WriteLine(system.CheckBalance(accId4) == 2500); system.UpdateClientsAddress("Tany", "Kolobova", "address"); system.UpdatePassportData("Tany", "Kolobova", new PassportData()); system.WithdrawMoney(accId4, 2000); Console.WriteLine(system.CheckBalance(accId4) == 500); system.CancelTrans(system.TransServ.GetEnumerator().Last().TransId); Console.WriteLine(system.CheckBalance(accId4) == 2500); } catch (BanksManagerException e) { Console.Error.WriteLine(e.Message); } }
public override void Initialize() { base.Initialize(); this.rules = container.Resolve <IGenericRepository <Rule> >(); this.expenses = container.Resolve <TransactionsService>(); }