コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Enter contract data");

            Console.Write("Number: ");
            int contractNumber = int.Parse(Console.ReadLine());

            Console.Write("Date (dd/MM/yyyy): ");
            DateTime contractDate = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", CultureInfo.InvariantCulture);

            Console.Write("Contract value: ");
            double contractTotalValue = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Console.Write("Enter the number of installments: ");
            int months = int.Parse(Console.ReadLine());

            Contract myContract = new Contract(contractNumber, contractDate, contractTotalValue);

            AmountService amountService = new AmountService(new PaypalService());

            amountService.ProcessContract(myContract, months);

            Console.WriteLine("Installments:");
            foreach (Installment installment in myContract.Installments)
            {
                Console.WriteLine(installment);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public OrderItemController(IMapper mapper, OrderRepository repository, DiscountService discountService,
                            AmountService amountService) : base(repository, mapper)
 {
     _mapper          = mapper;
     _repository      = repository;
     _discountService = discountService;
     _amountService   = amountService;
 }
        public void CalculateTotalRateRounding()
        {
            //Arrange
            IEnumerable <decimal> decimalRates  = MockRates.GetDecimalRates();
            AmountService         amountService = new AmountService();

            //Act
            var amount = amountService.CalculateTotalRateRounding((decimal)13.25, decimalRates, 2, MidpointRounding.ToEven);

            //Assert
            Assert.Equal(expected: (decimal)8.02, actual: amount);
        }
        public void GetTotalAmount()
        {
            //Arrange
            GraphSolver   graphSolver   = new GraphSolver();
            AmountService amountService = new AmountService();
            TransactionBusinessService transactionBusinessService = new TransactionBusinessService(graphSolver, amountService, null);

            IEnumerable <Transactions> transactions = MockTransactions.GetTransactions();

            //Act
            var totalAmount = transactionBusinessService.GetTotalAmount(transactions);

            //Assert
            Assert.Equal(expected: (decimal)47.00, actual: totalAmount);
        }
        public void ExchangeToCurrency()
        {
            //Arrange
            GraphSolver   graphSolver   = new GraphSolver();
            AmountService amountService = new AmountService();
            TransactionBusinessService transactionBusinessService = new TransactionBusinessService(graphSolver, amountService, null);

            IEnumerable <Transactions> transactions = MockTransactions.GetTransactions();
            IEnumerable <Rates>        rates        = MockRates.GetRates();

            //Act
            var transactionsToCurrency = transactionBusinessService.ExchangeToCurrency(transactions, rates, "EUR");

            //Assert
            Assert.Equal(expected: (decimal)8.02, actual: transactionsToCurrency.ElementAt(0).Amount);
            Assert.Equal(expected: (decimal)5.26, actual: transactionsToCurrency.ElementAt(1).Amount);
            Assert.Equal(expected: (decimal)5.96, actual: transactionsToCurrency.ElementAt(2).Amount);
            Assert.Equal(expected: (decimal)10.25, actual: transactionsToCurrency.ElementAt(3).Amount);
        }
コード例 #7
0
        private double Amount()
        {
            TimeSpan totalHours = FinalDate.Subtract(InitialDate);

            return(AmountService.TotalPrice(totalHours.Hours));
        }