Esempio n. 1
0
        public FormWayBillDaily(MainDGV dgv)
        {
            InitializeComponent();

            list     = new List <Car>();
            fuelList = FuelList.getInstance();

            foreach (DataGridViewCell cell in dgv.SelectedCells)
            {
                string     fio = dgv.GetFIO(cell.RowIndex);
                DriverList dl  = DriverList.getInstance();
                driverCurrent = dl.getItemByFullFIO(fio);

                int     idCar   = dgv.GetCarID(cell.RowIndex);
                CarList carList = CarList.getInstance();
                Car     car     = carList.getItem(idCar);
                list.Add(car);

                lbCars.Items.Add(car);
            }

            btnNext.Enabled = list.Count > 1;

            index = 0;

            lbCar.Text = "Выбранный автомобиль: " + list[index].ToString();
        }
Esempio n. 2
0
 /// <summary>
 /// Holt die Informationen über die Treibstoffarten, welche im Config stehen.
 /// </summary>
 public void GetFuels()
 {
     FuelList.Clear();
     foreach (Fuel oneFuel in _configManager.GetFuels())
     {
         oneFuel.TankList = TankList.Where(t => t.FuelName == oneFuel.Name).ToList();
         FuelList.Add(oneFuel);
     }
 }
Esempio n. 3
0
        private void OnPlayerEnterVehicle(Client sender, NetHandle vehicle)
        {
            if (!FuelList.ContainsKey(vehicle))
            {
                FuelList.Add(vehicle, VehicleMaxFuelLevel(sender.vehicle));
            }

            API.triggerClientEvent(sender, "update_fuel_client", FuelList.Get(vehicle));
        }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="vehicle"></param>
        /// <param name="fuelLevel"></param>
        /// <param name="NetVehicle"></param>
        public void VehicleSetFuelLevel(Vehicle vehicle, float fuelLevel, NetHandle NetVehicle)
        {
            float max = VehicleMaxFuelLevel(vehicle);

            if (fuelLevel > max)
            {
                fuelLevel = max;
                FuelList.Set(NetVehicle, fuelLevel);
            }


            //API.sendChatMessageToAll("Set Fuel Level: "+ fuelLevel.ToString());
        }
Esempio n. 5
0
        async void GetFuelFromAPI()
        {
            IsRunning = true;
            var result = await _fuelService.GetAllFuelAsync();

            IsRunning = false;
            foreach (var item in result)
            {
                switch (item.Name)
                {
                case "GasolinaPremium":
                    item.Name = "Gasolina Premium";
                    break;

                case "GasNaturalVehicular(GNV)":
                    item.Name = "Gas Natural";
                    break;

                case "GasolinaRegular":
                    item.Name = "Gasolina Regular";
                    break;

                case "GasLicuadodePetróleo(GLP)":
                    item.Name = "Gas Licuado Petróleo";
                    break;

                case "GasoilRegular":
                    item.Name = "Gasoil Regular";
                    break;

                case "GasoilÓptimo":
                    item.Name = "Gasoil Óptimo";
                    break;

                default:
                    break;
                }
                FuelList.Add(item);
            }

            Title = "FuelBudget";
        }
Esempio n. 6
0
        private ObservableCollection <FuelList> getAllFuel()
        {
            ObservableCollection <FuelList> _list = new ObservableCollection <FuelList>();

            try{
                DataTable dt = BusinessHelper.ListAllFuel();
                foreach (DataRow _row in dt.Rows)
                {
                    FuelList fl = new FuelList();
                    fl.FuelId   = Convert.ToInt64(_row["fuelid"]);
                    fl.FuelDesc = _row["fueldesc"].ToString();
                    _list.Add(fl);
                }
            }
            catch (Exception ex)
            {
                App.Log.LogException(ex);
            }
            return(_list);
        }
Esempio n. 7
0
        public FormWayBillDaily(MainDGV dgv)
        {
            InitializeComponent();

            list = new List<Car>();
            fuelList = FuelList.getInstance();

            foreach (DataGridViewCell cell in dgv.SelectedCells)
            {
                int idCar = dgv.GetCarID(cell.RowIndex);
                CarList carList = CarList.getInstance();
                Car car = carList.getItem(idCar);
                list.Add(car);

                lbCars.Items.Add(car);
            }

            btnNext.Enabled = list.Count > 1;

            index = 0;

            lbCar.Text = "Выбранный автомобиль: " + list[index].ToString();
        }
Esempio n. 8
0
        public void OnClientEvent(Client player, string eventName, params object[] args)  //arguments param can contain multiple params
        {
            NetHandle vehicle = API.getPlayerVehicle(player);

            if (eventName == "GET_RPM")
            {
                float vehicleRPM    = (float)args[0];
                float vehicleSpeed  = (float)args[1];
                bool  isJumpPressed = (bool)args[2];
                int   TimeMatch     = (int)args[3];
                int   seconds       = (int)args[4];

                RenderUI(player);
                ConsumeFuel(player.vehicle, vehicleRPM, vehicleSpeed, isJumpPressed, player, API.getPlayerVehicle(player), TimeMatch, seconds);
            }
            if (eventName == "CAR_IS_REFUELING")
            {
                FuelList.Set(vehicle, VehicleMaxFuelLevel(player.vehicle));
                API.sendChatMessageToAll("Car Refuled");
                API.triggerClientEvent(player, "update_fuel_client", FuelList.Get(vehicle));
            }

            /*
             * if (eventName == "UPDATE_FUEL")
             * {
             *  float CurrentTank;
             *
             *  for (int i = FuelList.Count - 1; i >= 0; i--)
             *  {
             *      var item = FuelList.ElementAt(i);
             *      var itemKey = item.Key;
             *      var itemValue = item.Value;
             *      bool EngineStatus = API.getVehicleEngineStatus(itemKey);
             *
             *      if (EngineStatus)
             *      {
             *          CurrentTank = FuelList.Get(itemKey);
             *          CurrentTank = CurrentTank - 1f;
             *
             *          if (CurrentTank <= 0f)
             *          {
             *              CurrentTank = 0f;
             *              API.setVehicleEngineStatus(itemKey, false);
             *          }
             *
             *          //FuelList.Set(itemKey, CurrentTank);
             *          //API.sendChatMessageToAll("Car Refuled");
             *          if (API.isPlayerInAnyVehicle(player))
             *          {
             *              API.triggerClientEvent(player, "update_fuel_client", FuelList.Get(vehicle));
             *          }
             *      }
             *  }
             *
             *
             * }
             */
            if (eventName == "GET_VEHICLE_FUEL")
            {
                API.triggerClientEvent(player, "SEND_VEHICLE_FUEL", FuelList.Get(vehicle));
            }
        }
Esempio n. 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="vehicle"></param>
        /// <param name="vehicleRPM"></param>
        /// <param name="vehicleSpeed"></param>
        /// <param name="isJumpPressed"></param>
        /// <param name="player"></param>
        /// <param name="NetVehicle"></param>
        public void ConsumeFuel(Vehicle vehicle, float vehicleRPM, float vehicleSpeed, bool isJumpPressed, Client player, NetHandle NetVehicle, int TimeMatch, int seconds)
        {
            float fuel          = FuelList.Get(NetVehicle);
            float VehicleConsum = GetVehicleConsume(vehicle);

            // Consuming
            if (fuel > 0 && vehicle.engineStatus && vehicleSpeed > 1)
            {
                //float normalizedRPMValue = (float)Math.Pow(vehicleRPM, 1.5);

                if (vehicleRPM > 0.7)
                {
                    fuel -= VehicleConsum;
                }

                fuel -= vehicleRPM * fuelRPMImpact;
                fuel -= (vehicleSpeed / 70) * fuelAccelerationImpact;
                fuel -= vehicle.maxTraction * fuelTractionImpact;

                fuel = fuel < 0f ? 0f : fuel;


                FuelList.Set(NetVehicle, fuel);


                if (fuel <= 0f)
                {
                    fuel = 0f;
                    API.setVehicleEngineStatus(NetVehicle, false);
                }

                API.triggerClientEvent(player, "update_fuel_client", FuelList.Get(NetVehicle));
            }

            // Refueling at gas station
            if (
                // If we have gas station near us
                currentGasStationIndex != -1 &&
                // And near any pump
                IsVehicleNearAnyPump(vehicle, player, isJumpPressed)
                )
            {
                if (vehicleSpeed < 0.1f)
                {
                    //ControlEngine(vehicle);
                }
                else
                {
                    if (isJumpPressed)
                    {
                        /* Tank aufüllen
                         * if (fuel < fuelTankCapacity)
                         * {
                         *  fuel += 0.1f;
                         *  addedFuelCapacitor += 0.1f;
                         * }
                         */
                    }

                    if (!isJumpPressed && addedFuelCapacitor > 0f)
                    {
                        //TriggerEvent("frfuel:fuelAdded", addedFuelCapacitor);
                        //TriggerServerEvent("frfuel:fuelAdded", addedFuelCapacitor);
                        addedFuelCapacitor = 0f;
                    }
                }
            }


            VehicleSetFuelLevel(vehicle, fuel, NetVehicle);
        }
Esempio n. 10
0
        public void Load()
        {
            if (_list.Count > 0)
            {
                return;
            }

            Dictionary <int, Driver> driverWithDay = GetDriversDictionary();

            if (driverWithDay.Count == 0)
            {
                return;
            }

            int count = _mileageList.GetDistance(_car, _date);

            Random random = new Random();

            int workDays = driverWithDay.Count;

            bool isShortMonth = ((count / workDays) < MIN_DAILY_MILEAGE);

            if (isShortMonth)
            {
                workDays /= 2;
            }
            int div = random.Next(1);


            var fuelList = FuelList.getInstance().GetListFiltred(_car, _date);

            foreach (var item in fuelList)
            {
                DateTime date = new DateTime(_date.Year, _date.Month, item.Date.Day);

                int curCount = count - GetDistance();
                if ((workDays - _list.Count) == 0)
                {
                    break;
                }

                int everyDayCount = curCount / (workDays - _list.Count);

                if (driverWithDay.ContainsKey(item.Date.Day))
                {
                    WayBillDay wayBillDay = CreateWayBillDaily(driverWithDay[item.Date.Day], date, everyDayCount, random);
                    AddToList(wayBillDay, item.Date.Day);
                }
                if (curCount < 10)
                {
                    break;
                }
            }

            foreach (var item in driverWithDay)
            {
                DateTime date = new DateTime(_date.Year, _date.Month, item.Key);

                if ((isShortMonth) && (item.Key % 2 == div))
                {
                    continue;
                }

                int curCount = count - GetDistance();
                if ((workDays - _list.Count) == 0)
                {
                    break;
                }

                int everyDayCount = curCount / (workDays - _list.Count);

                WayBillDay wayBillDay = CreateWayBillDaily(item.Value, date, everyDayCount, random);
                AddToList(wayBillDay, item.Key);

                if (curCount < 10)
                {
                    break;
                }
            }
        }