public void Setup() { _fee = Substitute.For <IFee>(); _log = Substitute.For <ILogger>(); _walletRepo = Substitute.For <IWalletRepo>(); _bankingAccount = Substitute.For <IBankingAccount>(); }
public Wallet(IWalletRepo walletRepo, IBankingAccount bankingAccount, IFee fee, ILogger log) { _walletRepo = walletRepo; _bankingAccount = bankingAccount; _fee = fee; _log = log; }
public void AddFee(IFee fee) { if (_Counter._Fees == null) { _Counter._Fees = new System.Collections.Generic.List <IFee>(); } _Counter._Fees.Add(fee); }
internal TransactionFee(ITransactionFeeRecord transactionFeeRecord, IFee fee) : base(transactionFeeRecord.RecordType, transactionFeeRecord.Id) { TransactionId = transactionFeeRecord.TransactionId; Quantity = transactionFeeRecord.Quantity; UnitPrice = transactionFeeRecord.UnitPrice; TotalPrice = transactionFeeRecord.TotalPrice; Fee = fee; }
public override decimal CalculateRentalPrice(int days, IFee fee) { if (days <= _feeThreshold) { return(fee.Premium * days); } return(fee.Premium * _feeThreshold + fee.Regular * (days - _feeThreshold)); }
public void AddFee(IFee fee) { if (m_Fees.Contains(fee)) { throw new FeeAlreadyAddedException(fee); } m_Fees.Add(fee); }
public override decimal CalculateRentalPrice(int days, IFee fee) { var totalFee = fee.OneTime; if (days <= _feeThreshold) { return(totalFee + fee.Premium * days); } return(totalFee + fee.Premium * _feeThreshold + fee.Regular * (days - _feeThreshold)); }
public static CartItemDto ToCartItemDto(this CartItem cartItem, IFee fee) { return(new CartItemDto { Id = cartItem.EquipmentItem.Id, Name = cartItem.EquipmentItem.Name, Price = cartItem.GetRentalPrice(fee), LoyaltyPoints = cartItem.EquipmentItem.LoyaltyPoints, RentalPeriod = cartItem.RentalPeriod }); }
public static OrderDto ToOrderDto(this Order order, IFee fee) { return(new OrderDto { Id = order.Id, ItemsCount = order.Items.Count(), Price = order.Items.Sum(i => i.GetRentalPrice(fee)), LoyaltyPoints = order.Items.Sum(i => i.EquipmentItem.LoyaltyPoints), OrderDate = order.OrderDate }); }
public string GenerateInvoice(Order order, IFee fee) { var builder = new StringBuilder(); builder.AppendLine($"Invoice #{order.Id}"); foreach (CartItem orderItem in order.Items) { builder.AppendLine($"{orderItem.EquipmentItem.Name}\t{orderItem.GetRentalPrice(fee)}"); } builder.AppendLine($"Total price: {order.Items.Sum(i => i.GetRentalPrice(fee))}; " + $"points earned: {order.Items.Sum(i => i.EquipmentItem.LoyaltyPoints)}"); return(builder.ToString()); }
public void AddFee_AddsFeeToFees_ForGivenFee() { // Arrange var fee = Substitute.For <IFee>(); var calculator = Substitute.For <IFeeCalculator>(); VehicleFees sut = CreateSut(calculator); // Act sut.AddFee(fee); // Assert IFee actual = sut.Fees.First(); Assert.AreEqual(fee, actual); }
public void Fees_CallsVehicleFees_WhenCalled() { // Arrange var expected = new IFee[0]; var fees = Substitute.For <IVehicleFees>(); fees.Fees.Returns(expected); var sut = new TestBaseVehilce(fees, DefaultId, DefaultWeightInKilogram); // Act IEnumerable <IFee> actual = sut.Fees; // Assert Assert.AreEqual(expected, actual); }
public abstract decimal CalculateRentalPrice(int days, IFee fee);
public bool ContainsFee(IFee fee) { return(VehicleFees.ContainsFee(fee)); }
public void AddFee(IFee fee) { VehicleFees.AddFee(fee); }
public void Release(IFee fee) { }
public bool ContainsFee(IFee fee) { return(m_Fees.Contains(fee)); }
public void RemoveFee(IFee fee) { m_Fees.Remove(fee); }
public FeeAlreadyAddedException(IFee fee) { Fee = fee; }
public override decimal CalculateRentalPrice(int days, IFee fee) { return(fee.OneTime + fee.Premium * days); }
public FeeType(int id, string name, IFee fee) : base(id, name) { _fee = fee; }
public void RemoveFee(IProcessExecutionContext executionContext, IWorkSession session, IFee fee, decimal quantity = 1) { throw new NotImplementedException(); }
public void AddFee(IProcessExecutionContext executionContext, IWorkSession session, IFee fee, decimal quantity = 1) { try { // check to see if the related fee is already in the list. If so we will update that item rather than create // a new one. var transactionFee = FeeList.Where(r => r.Fee.Id == fee.Id).FirstOrDefault(); if (transactionFee is null) { var transactionFeeRecord = DataConnector.CreateTransactionFee( executionContext.DataService, Transaction, fee as IRecordPointer <Guid>, fee.Name, quantity); transactionFee = new TransactionFee(transactionFeeRecord, fee); FeeList.Add(transactionFee); } else { transactionFee.IncrementQuantity(quantity); } var priceCalculator = PriceCalculatorFactory.CreatePriceCalculator(executionContext, session, Transaction); transactionFee.CalculatePrice(executionContext, priceCalculator); DataConnector.UpdateTransactionFee(executionContext.DataService, transactionFee); } catch (Exception ex) { throw ex; } }
public decimal GetRentalPrice(IFee fee) { return(EquipmentItem.CalculateRentalPrice(RentalPeriod, fee)); }
public decimal CalculateUnitPrice(IProcessExecutionContext executionContext, IFee fee, decimal quantity) { return(0); }
public SmartFeeType(string name, int value, IFee fee) : base(name, value) { _fee = fee; }