Пример #1
0
        internal IEvent Refuel(double petrolAmount, double petrolLoss, DateTime currentDateTime)
        {
            double leakage = CalculateLeakage(petrolAmount);

            CurrentVolume += (petrolAmount - leakage);

            RefuelOrder = null;
            return(new TankRefueled(Id, currentDateTime, CurrentVolume, petrolAmount - leakage, leakage, petrolLoss));
        }
Пример #2
0
 public Tank(Guid id, double maximumVolume, double currentVolume, decimal petrolTemperature, decimal tankHigh, RefuelOrder refuelOrder)
 {
     Id                = id;
     MaximumVolume     = maximumVolume;
     CurrentVolume     = currentVolume;
     PetrolTemperature = petrolTemperature;
     TankHigh          = tankHigh;
     RefuelOrder       = refuelOrder;
 }
Пример #3
0
 private void OrderSupplyIfNeeded(DateTime DateTime)
 {
     if (CurrentVolume <= minVolume)
     {
         if (RefuelOrder == null)
         {
             RefuelOrder = new RefuelOrder(Id, DateTime, MaximumVolume - CurrentVolume);
         }
     }
 }