public BikeRental(string name, int lengthInOurs, int unitPrice, int bikesAmount, IPriceStrategy priceStrategy) { this.Name = name; this.LengthInHours = lengthInOurs; this.UnitPrice = unitPrice; this.BikesAmount = bikesAmount; this.PriceStrategy = priceStrategy; }
public ParkingLot(IClock clock, IPriceStrategy priceStrategy) { this.freeTime = freeTime; this.span = span; this.price = price; this.clock = clock; this.priceStrategy = priceStrategy; }
public PizzaMan(PizzaOven pizzaOven) { PizzaOven = pizzaOven; PizzaOven.AddObserver(this); Factory = new PizzaFactory(); PriceStrategy = TimeOfDay.Lunch; EveningPriceStrategy = new EveningPriceStrategy(); LunchPriceStrategy = new LunchPriceStrategy(); NightPriceStrategy = new NightPriceStrategy(); }
public ServiceHandler(PizzaShopVm shopVm) { ShopVm = shopVm; MainOven = new PizzaOven(); PizzaMan1 = new PizzaMan(MainOven, this); PriceStrategy = TimeOfDay.Lunch; EveningPriceStrategy = new EveningPriceStrategy(); LunchPriceStrategy = new LunchPriceStrategy(); NightPriceStrategy = new NightPriceStrategy(); }
internal int AccumulatePrice(int quantity, IPriceStrategy priceStrategy) { IEnumerable <Batch> strategiedBatches = priceStrategy.Apply(this.batches); int totalPrice = 0; var stockProcessor = new StockProcessor(quantity); stockProcessor.Process(strategiedBatches, (q, batch) => totalPrice += batch.GetPriceFor(q)); return(totalPrice); }
public void Setup() { _mapper = Substitute.For <IMapper>(); _googleMapsApiService = Substitute.For <IGoogleMapsApiService>(); _rideRepository = Substitute.For <IRideRepository>(); _soloRidePriceStrategy = Substitute.For <IPriceStrategy>(); _sharedRidePriceStrategy = Substitute.For <IPriceStrategy>(); _priceStrategyFactory = Substitute.For <IPriceStrategyFactory>(); _unitOfWork = Substitute.For <IUnitOfWork>(); _matchService = Substitute.For <IMatchService>(); _rideService = new RideService(_mapper, _googleMapsApiService, _priceStrategyFactory, _unitOfWork, _matchService); _anAddress = new Address("city", 1000, "street", 1); _anAddress.Lat = 10; _anAddress.Lng = 10; }
private void SetPriceStrategy() { if (Stock < 50) { priceStrategy = new LowStockPriceStrategy(); } else if (Stock >= 50 && Stock <= 100) { priceStrategy = new MediunStockPriceStrategy(); } else //if (Stock > 100) { priceStrategy = new HighStockPriceStrategy(); } }
internal void ReduceStock(int quantity, IPriceStrategy priceStrategy) { IEnumerable <Batch> strategiedBatches = priceStrategy.Apply(this.batches); var stockProcessor = new StockProcessor(quantity); stockProcessor.Process(strategiedBatches, (q, batch) => { batch.ReduceQuantity(q); if (batch.IsEmpty()) { this.batches.Remove(batch); } }); }
public void Setup() { strategy = new AgedPriceStrategy(); }
public void Add( IPriceStrategy ips ) { strategies.Add( ips ); }
public void SetStrategy(IPriceStrategy priceStrategy) { _priceStrategy = priceStrategy; }
public ParkingLot(IClock clock, IPriceStrategy priceStrategy) { this.clock = clock; this.priceStrategy = priceStrategy; }
public Movie(string title, IPriceStrategy priceStrategy) { Title = title; PriceStrategy = priceStrategy; }
public void Add(IPriceStrategy iStrategyObject) { if(priceStrategyList!=null) priceStrategyList.Add(iStrategyObject); }
public void Setup() { strategy = new PerishablePriceStrategy(); }
public void Setup() { strategy = new NormalPriceStrategy(); }
public void SetStrategy(IPriceStrategy priceStrategy) { this.priceStrategy = priceStrategy; }
public void CheckOut(PartDescription partDescription, int quantity, IPriceStrategy priceStrategy) { warehousesBatches.Filter(partDescription) .ReduceStock(quantity, priceStrategy); }
public PartCost PreviewCheckOut(PartDescription partDescription, int quantity, IPriceStrategy priceStrategy) { int totalPrice = warehousesBatches.Filter(partDescription) .AccumulatePrice(quantity, priceStrategy); return(new PartCost(totalPrice)); }