public Fill( Stream <Unit> sClearAccumulator, Stream <int> sFuelPulses, Cell <double> calibration, Cell <double> price1, Cell <double> price2, Cell <double> price3, Stream <Fuel> sStart) { this.Price = CapturePrice(sStart, price1, price2, price3); this.LitersDelivered = AccumulatePulsesPump.Accumulate( sClearAccumulator, sFuelPulses, calibration); this.DollarsDelivered = this.LitersDelivered.Lift(this.Price, (liters, price) => liters * price); }
public Fill( Event <Unit> eClearAccumulator, Event <int> eFuelPulses, Behavior <Double> calibration, Behavior <Double> price1, Behavior <Double> price2, Behavior <Double> price3, Event <Fuel> eStart) { Price = CapturePrice(eStart, price1, price2, price3); LitersDelivered = AccumulatePulsesPump.Accumulate( eClearAccumulator, eFuelPulses, calibration); DollarsDelivered = Behavior <double> .Lift( (liters, price_) => liters *price_, LitersDelivered, Price); }