public void DriverBoxes(List <string> commandArgs)
    {
        string reasonToBox = commandArgs[0];
        string driversName = commandArgs[1];

        Driver boxingDriver = Drivers.Find(d => d.Name == driversName);

        string tyreTypeOrFuelAmount = commandArgs[2];

        if (reasonToBox == "ChangeTyres")
        {
            List <string> tyreFactoryArgs = new List <string>
            {
                tyreTypeOrFuelAmount
            };

            string tyreHardness = commandArgs[3];
            tyreFactoryArgs.Add(tyreHardness);

            if (tyreTypeOrFuelAmount == "Ultrasoft")
            {
                string grip = commandArgs[4];
                tyreFactoryArgs.Add(grip);
            }

            boxingDriver.Car.ReplaceTyre(TyreFactory.CreateInstance(tyreFactoryArgs));
        }
        else
        {
            boxingDriver.Car.Refuel(double.Parse(tyreTypeOrFuelAmount));
        }
    }
示例#2
0
 public bool CreateOrUpdateDriver(YandexDriverModel driver)
 {
     try
     {
         var res = Drivers.Find(driver.Driver.InternalId);
         if (res == null)
         {
             _logger.Info($"New driver {driver}");
             Drivers.Add(Driver.CreateFromYandexDriver(driver));
         }
         else
         {
             if (!res.HasChanges(driver))
             {
                 return(true);
             }
             _logger.Debug($"Update driver data: {driver}");
             res.UpdateFromYandexDriver(driver);
         }
         SaveChanges();
         if (res == null)
         {
             Notifications.Add(new Notification
             {
                 InternalId  = driver.Driver.InternalId,
                 Message     = $"Найден новый водитель [{driver}]!",
                 Type        = "NewDriver",
                 DateCreated = DateTime.Now
             });
             SaveChanges();
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#3
0
    public void DriverBoxes(List <string> commandArgs)
    {
        var driver = Drivers.Find(d => d.Name == commandArgs[0]);

        driver.Box(commandArgs.Skip(1).ToList());
    }
示例#4
0
 public static Driver FindDriver(string Name) => Drivers.Find(x => x.Name.ToLower() == Name.ToLower());
示例#5
0
 private bool driverExists(int carIdx)
 {
     return(Drivers.Find(d => d.CarIndex == carIdx) != null);
 }