public CostCreateHandler(GlobalSolusindoDb db, tblM_User user, CostValidator costValidator, CostFactory costFactory, CostQuery costQuery, AccessControl accessControl) : base(db, user)
 {
     this.costValidator         = costValidator;
     this.costFactory           = costFactory;
     this.costQuery             = costQuery;
     this.costEntryDataProvider = new CostEntryDataProvider(db, user, accessControl, costQuery);
 }
Example #2
0
        public decimal Calculate(Ride ride)
        {
            cost = CostFactory.GetRateInstance(ride.State);

            var timed    = ride.Minutes / cost.PerMinute;
            var traveled = ride.Miles / cost.PerDistance;

            var total = cost.BaseFee
                        + cost.Tax
                        + ((timed + traveled) * cost.Rate);

            if (ride.StartDateTime.IsPeakHour())
            {
                total += cost.PeakCost;
            }
            if (ride.StartDateTime.IsNight())
            {
                total += cost.NightTimeRate;
            }
            return(total);
        }
 private void Initialize(CostValidator costValidator, CostFactory costFactory)
 {
     this.costValidator = costValidator;
     this.costFactory   = costFactory;
 }