Esempio n. 1
0
 private void FillSensorConnections(string row)
 {
     try
     {
         List <SensorConnectionInfo> data = JsonConvert.DeserializeObject <List <SensorConnectionInfo> >(row);
         foreach (var item in data)
         {
             DISP_Car car = _cars.Where(p => p.ID == item.DID).FirstOrDefault();
             if (car != null)
             {
                 foreach (var sns in item.Connections)
                 {
                     SensorFullModel sfm = _sensors.Where(p => p.id == sns.idSensor).FirstOrDefault();
                     if (sfm != null)
                     {
                         if (car.ConnectedSensors.ContainsKey(sns.Port) == false)
                         {
                             car.ConnectedSensors.Add(sns.Port, sfm);
                         }
                     }
                 }
             }
         }
     }
     catch { }
 }
Esempio n. 2
0
 private void LoadCarsErrorsComplete(string row)
 {
     try
     {
         List <CarDTCHistoryModel> temp = JsonConvert.DeserializeObject <List <CarDTCHistoryModel> >(row);
         if (Application.Current != null)
         {
             Application.Current.Dispatcher.BeginInvoke(new Action(() =>
             {
                 if (temp != null)
                 {
                     for (int i = 0; i < CarStorage.Instance.Cars.Count(); i++)
                     {
                         CarStorage.Instance.Cars[i].Errors.Clear();
                         CarStorage.Instance.Cars[i].UpdateErrors();
                     }
                     foreach (var item in temp)
                     {
                         DISP_Car model = CarStorage.Instance.Cars.Where(p => p.CarModel.DID == item.DID).FirstOrDefault();
                         if (model != null)
                         {
                             model.Errors.Add(item);
                             model.UpdateErrors();
                         }
                     }
                 }
                 CarStorage.Instance.SetErrorsLoaded();
             }));
         }
     }
     catch { }
 }
Esempio n. 3
0
 public CarDTCView()
 {
     InitializeComponent();
     _car = CarStorage.Instance.SelectedCar;
     DisplayErrors();
     CarsHandler.Instance.CarDTCMonthLoaded += Instance_CarDTCMonthLoaded;
 }
Esempio n. 4
0
 internal void Update(DISP_Car car, VmPolyline zone, MovedLocationCollection routeOpacited)
 {
     if (!car.Equals(SelectedCar))
     {
         SelectedCar = car;
     }
     Application.Current.Dispatcher.BeginInvoke(new Action(() => CarsInOut.Clear()));
     foreach (var location in routeOpacited)
     {
         var inzone = CalcLeavingZone.Instance.FillContains(location, zone.MovedLocations);
         if (_findError)
         {
             if (inzone)
             {
                 continue;
             }
             AddCarToErrorLog(car, zone, location.Dates);
             _findError = false;
         }
         else
         {
             if (!inzone)
             {
                 continue;
             }
             AddBackCarToErrorLog(car, zone, location.Dates);
             _findError = true;
         }
     }
 }
Esempio n. 5
0
 private void AddCar(object obj)
 {
     ClearValues();
     SelectedCar = new DISP_Car {
         CarModel = new CarListBaseDataModel()
     };
 }
Esempio n. 6
0
 private void SelectedCarChange(DISP_Car car)
 {
     if (OnSelectedCarChange != null)
     {
         OnSelectedCarChange(car, EventArgs.Empty);
     }
 }
Esempio n. 7
0
 void CarSelector_OnCarChanged(Engine.DisplayModels.DISP_Car car)
 {
     if (car != null)
     {
         _selectedCar = car;
     }
 }
Esempio n. 8
0
 private void DisplayFuel(DISP_Car car)
 {
     if (car.FuelData.FuelDataPosition < 0)
     {
         if (car.OBD != null)
         {
             if (car.OBD.Count() > 0)
             {
                 DISP_Car.EOBDData obd = car.OBD.Where(p => p.Key == "2F").FirstOrDefault();
                 if (obd == null)
                 {
                     grdFuel.Visibility = Visibility.Collapsed;
                 }
                 else
                 {
                     grdFuel.Visibility = Visibility.Visible;
                     txtFuel.Text       = obd.Value + "%";
                 }
             }
             else
             {
                 grdFuel.Visibility = Visibility.Collapsed;
             }
         }
         else
         {
             grdFuel.Visibility = Visibility.Collapsed;
         }
     }
     else
     {
         grdFuel.Visibility = Visibility.Visible;
         if (car.Data.Sensors != null)
         {
             if (car.Data.Sensors.Count() > car.FuelData.FuelDataPosition)
             {
                 int vol = car.Data.Sensors[car.FuelData.FuelDataPosition];
                 vol = vol - car.FuelData.StartFuelValue;
                 vol = (int)(vol / car.FuelData.StepPerLiter);
                 if (vol != _lastFuel)
                 {
                     txtFuel.Text = vol.ToString() + " л";
                     _lastFuel    = vol;
                 }
             }
             else
             {
                 grdFuel.Visibility = Visibility.Collapsed;
             }
         }
         else
         {
             grdFuel.Visibility = Visibility.Collapsed;
         }
         //if (car.FuelData.FuelLevelValue < 1000)
         //    txtFuel.Text = car.FuelData.FuelLevelValue.ToString() + " л";
         //else
         //    txtFuel.Text = car.FuelData.FuelLevelValue.ToString();
     }
 }
Esempio n. 9
0
 void CarSelector_OnCarChanged(DISP_Car car)
 {
     if (SelectedCar != CarSelector.SelectedCar)
     {
         SelectedCar = CarSelector.SelectedCar;
     }
 }
Esempio n. 10
0
 public void SaveOutState(DISP_Car car)
 {
     try
     {
         DeviceControlInfo dci = new DeviceControlInfo();
         dci.DID = car.ID;
         if (car.Outs.Out1)
         {
             dci.Out1 = 1;
         }
         else
         {
             dci.Out1 = 0;
         }
         if (car.Outs.Out2)
         {
             dci.Out2 = 1;
         }
         else
         {
             dci.Out2 = 0;
         }
         if (car.Outs.Out3)
         {
             dci.Out3 = 1;
         }
         else
         {
             dci.Out3 = 0;
         }
         string req = "BI" + JsonConvert.SerializeObject(dci);
         TCPConnection.Instance.SendData(req);
     }
     catch { }
 }
Esempio n. 11
0
        private void FillCarsStatus(string row)
        {
            try
            {
                var temp = JsonConvert.DeserializeObject <List <CarStateFullModel> >(row);
                if (temp != null)
                {
                    var cars = new List <DISP_Car>();
                    foreach (var item in temp)
                    {
                        var excar = _cars.FirstOrDefault(p => p.Car.Id == item.State.ID);
                        if (excar == null)
                        {
                            continue;
                        }
                        var car = new DISP_Car
                        {
                            Data = item.State,
                            VIN  = item.VIN, Car = excar.Car, FuelData = excar.FuelData
                        };
                        foreach (var er in item.Errors)
                        {
                            car.Errors.Add(new DISP_Car.EOBDData
                            {
                                Key   = er.Key,
                                Value = er.Value
                            });
                        }
                        foreach (var obd in item.OBD)
                        {
                            car.OBD.Add(new DISP_Car.EOBDData
                            {
                                Key   = obd.Key,
                                Value = obd.Value
                            });
                        }

                        foreach (var sens in car.Device.Sensors)
                        {
                            int pos = sens.Model.Port - 1;
                            int c   = item.State.Sensors.Count() - 1;
                            if (c < pos)
                            {
                                continue;
                            }
                            sens.State = new SensorState {
                                Vol = item.State.Sensors[pos]
                            };
                        }
                        cars.Add(car);
                    }
                    OnChangeCarsStatus(cars);
                    //запрос информации о состоянии выходов контроллеров
                    try { TCPConnection.Instance.SendData("BH"); }
                    catch { }
                }
            }
            catch { }
        }
 private void CarSelector_OnCarChanged(DISP_Car car)
 {
     CarNumber = car != null ? car.Car.CarNumber: "";
     OnPropertyChanged("EnableButton");
     OnClearHistory();
     HistoryRows.Clear();
     _loadedObdData.Clear();
 }
Esempio n. 13
0
 private void SelectedCarChange(DISP_Car car)
 {
     CarStorage.Instance.GetCarDetails(car.CarModel.CarNumber);
     if (OnSelectedCarChange != null)
     {
         OnSelectedCarChange(car, EventArgs.Empty);
     }
 }
        private void CarSelector_OnCarChanged(DISP_Car car)
        {
            _selectedCar = car;
            var link = PhonesCarsList.FirstOrDefault(o => o.Did.Equals(_selectedCar.ID));

            SelectedPhone = link != null ? link.PhoneNumber : null;
            FillControls();
            OnPropertyChanged("EnableButtons");
        }
Esempio n. 15
0
 public CarZoneHistoryErrorViewModel(DISP_Car car, LocationCollection routeCollection)
 {
     SelectedCar                 = car;
     _routeCollection            = routeCollection;
     _zoneHandler                = ZonesHandler.Instance;
     _zoneHandler.LoadCompleted += zoneHandler_LoadCompleted;
     if (!_zoneHandler.Zones.Any())
     {
         _zoneHandler.Update();
     }
 }
Esempio n. 16
0
 void txt_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     try
     {
         DISP_Car car = (DISP_Car)(((TextBlock)sender).Tag);
         CarStorage.Instance.GetCarDetails(car.CarModel.CarNumber);
     }
     catch (Exception ex)
     {
         Debug.Assert(false, ex.Message, ex.InnerException.ToString());
     }
 }
Esempio n. 17
0
 private void Handler_OnSelectedCarChange(object sender, EventArgs e)
 {
     _selectedCar = sender as DISP_Car;
     if (_selectedCar == null)
     {
         return;
     }
     CreateNewTabItem(_selectedCar);
     if (_buttonsvm != null)
     {
         _buttonsvm.IsSelectedCar = true;
     }
 }
Esempio n. 18
0
        private void CreateNewTabItem(DISP_Car car)
        {
            var excar = TabItems.FirstOrDefault(o => o.Header.Equals(car.CarModel.CarNumber));

            if (excar == null)
            {
                CarsHandler.Instance.GetCarDetails(car.CarModel.CarNumber);
            }
            else
            {
                SelectedTab = excar;
            }
            //InfoBlock = _buttonsform;
        }
Esempio n. 19
0
 private void DisplayLastCars()
 {
     wrp.Children.Clear();
     if (CarStorage.Instance.Cars.Count == 0)
     {
         return;
     }
     foreach (var item in CarStorage.Instance.LastCarNumbers)
     {
         DISP_Car car = CarStorage.Instance.GetCarByCarNumber(item);
         SideMenuHelp.LastCarItem view = new SideMenuHelp.LastCarItem(car);
         wrp.Children.Add(view);
     }
 }
Esempio n. 20
0
        private void AddCarToErrorLog(DISP_Car car, VmPolyline zone, DateTime dt)
        {
            var el = new CarInOutViewModel()
            {
                CarID       = car.ID,
                CarNumber   = car.Name,
                ZoneId      = zone.ID,
                ZoneName    = zone.Name,
                OutZoneDate = dt
            };

            el.PropertyChanged += CarInOut_PropertyChanged;
            Application.Current.Dispatcher.BeginInvoke(new Action(() => CarsInOut.Add(el)));
        }
 private void lstCars_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (lstCars.SelectedItem != null)
     {
         if (_selectedCar != null)
         {
             _selectedCar.PropertyChanged -= _selectedCar_PropertyChanged;
         }
         _selectedCar = (DISP_Car)lstCars.SelectedItem;
         _selectedCar.PropertyChanged += _selectedCar_PropertyChanged;
         DisplayLines();
         UpdateFuel();
     }
 }
Esempio n. 22
0
        private void AddCarToErrorLog(DISP_Car car, VmPolyline zone)
        {
            var el = new CarInOutViewModel()
            {
                CarID       = car.ID,
                CarNumber   = car.Name,
                ZoneId      = zone.ID,
                ZoneName    = zone.Name,
                OutZoneDate = ToDate(car.Data.DateUpdate)
            };

            el.PropertyChanged += CarInOut_PropertyChanged;
            CarsInOut.Add(el);
            _inErrorCars.Add(car);
        }
Esempio n. 23
0
 public void UpdateCarData(DISP_Car carData)
 {
     try
     {
         if (_currentCar != null)
         {
             _currentCar.PropertyChanged -= _currentCar_PropertyChanged;
         }
         _currentCar = carData;
         _currentCar.PropertyChanged += _currentCar_PropertyChanged;
         UpdateData();
         _vm.CAR = carData;
         SetOutStates();
     }
     catch { }
 }
Esempio n. 24
0
 private void CarSelector_OnCarChanged(DISP_Car car)
 {
     if (car == null)
     {
         return;
     }
     Position = new DISP_Car
     {
         Car = new SCarModel
         {
             CarNumber = car.Car.CarNumber,
             Id        = car.Car.Id
         }
     };
     HistoryRows.Clear();
     LoadData();
 }
Esempio n. 25
0
 public OrderViewModel()
 {
     if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
     {
         ID   = 1;
         User = new UserLightModel {
             Nm = "Иванов Петр Иванович"
         };
         Car = new DISP_Car {
             CarModel = { CarNumber = "Demo2", Mark = "Audio", Model = "A5" }
         };
         DateWork    = DateTime.Now;
         IsChanged   = false;
         _filterText = "User";
     }
     _storage.Update();
 }
Esempio n. 26
0
 private void FillCars(List <SCarModel> temp)
 {
     foreach (var item in temp)
     {
         if (item == null)
         {
             continue;
         }
         var c = _cars.FirstOrDefault(p => p.Car != null && p.Car.Id == item.Id);
         if (c == null)
         {
             c = new DISP_Car
             {
                 Car      = item,
                 FuelData = new FuelDataModel
                 {
                     FuelDataPosition = item.FuelPosition,
                     StartFuelValue   = item.StartValue,
                     StepPerLiter     = ((decimal)item.StepsPerLiter) / 100.0m
                 },
                 VIN = item.VIN
             };
             _cars.Add(c);
         }
         else
         {
             c.Car = item;
         }
     }
     OnCarsRefreshed(_cars);
     if (_threadAskerIsWorked == false)
     {
         Thread tr = new Thread(ThreadDataAsker);
         tr.Start();
     }
     //ask device data
     try
     {
         TCPConnection.Instance.SendData("BC");
     }
     catch (Exception ex)
     {
         string txt = ex.Message;
         Debug.WriteLine(txt);
     }
 }
Esempio n. 27
0
        private void DisplayAccelerometer(DISP_Car car)
        {
            if (car.Data.AcsX == 0 && car.Data.AcsXMax == 0 && car.Data.AcsY == 0 &&
                car.Data.AcsYMax == 0 && car.Data.AcsZ == 0 &&
                car.Data.AcsZMax == 0)
            {
            }
            else
            {
                double x = car.Data.AcsX - car.Data.AcsXMax;
                double y = car.Data.AcsY - car.Data.AcsYMax;
                double z = car.Data.AcsZ - car.Data.AcsZMax;

                x = Math.Abs(x);
                y = Math.Abs(y);
                z = Math.Abs(z);

                x = (100 - x) / 100.0d * 0.3d;
                y = (100 - y) / 100.0d * 0.5d;
                z = (100 - z) / 100.0d * 0.2d;

                //x = Math.Abs(x);
                //y = Math.Abs(y);
                //z = Math.Abs(z);

                double ak  = (x + y + z) * 0.7;
                double spk = 0;
                if (car.Data.Navigation.Speed < 300)
                {
                    spk = 0.3d;
                }
                else
                {
                    spk = 300 / (double)car.Data.Navigation.Speed;
                }
                if (car.Data.Navigation.Speed > 1100)
                {
                    ak = ak * 1100 / (double)car.Data.Navigation.Speed;
                }

                int scorr = (int)((ak + spk) * 100);

                txtScorr.Text = scorr.ToString();
            }
        }
Esempio n. 28
0
        public MapViewModel(Dispatcher dispatcher)
        {
            _dispatcher  = dispatcher;
            _zoneHandler = ZonesHandler.Instance;
            _mapHandler  = CarsHandler.Instance;
            _mapHandler.CarsRefreshed    += _mapHandler_CarsRefreshed;
            _mapHandler.ChangeCarsStatus += _mapHandler_ChangeCarsStatus;
            MapCenter = MapCenterUser = new Location(55.75, 37.62);
            Zones.Add(new VmPolyline(Zones.Count));

            if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
            {
                this.SelectedZone = Zones[0];

                DISP_Car car = new DISP_Car();
                car.Navigation.LocationPoint = new Location(55.758, 37.76);
                car.Name = "obj-1";
                Points.Add(car);

                DISP_Car car1 = new DISP_Car();
                car1.Navigation.LocationPoint = new Location(55.75, 37.5);
                car1.Name = "obj-2";
                Points.Add(car1);

                DISP_Car car2 = new DISP_Car();
                car2.Navigation.LocationPoint = new Location(55.8, 37.625);
                car2.Name = "obj-3";
                Points.Add(car2);

                Zones[0].AddLocation(new Location(55.758, 37.76), false);
                Zones[0].AddLocation(new Location(55.75, 37.5), false);
                Zones[0].AddLocation(new Location(55.8, 37.625), false);
                //ZoneSelect.Add(Zones[0]);
            }
            //else
            //{
            //mapHandler.LoadCompleted += mapHandler_LoadCompleted;

            EnableTracking              = true;
            _zoneHandler.LoadCompleted += zoneHandler_LoadCompleted;
            _zoneHandler.Update();
            CarSelector.OnCarChanged += CarSelector_OnCarChanged;
            //}
        }
Esempio n. 29
0
        private void DisplaySensors(DISP_Car car)
        {
            if (car != null)
            {
                if (car.ConnectedSensors != null)
                {
                    if (car.ConnectedSensors.Count() > 0)
                    {
                        stkSensors.Children.Clear();
                        _sensorsData.Clear();
                        foreach (var item in car.ConnectedSensors)
                        {
                            SensorLocator          sl     = new SensorLocator();
                            DevicePresenter.Sensor sensor = new DevicePresenter.Sensor();
                            sensor.Model = new DTCDev.Models.DeviceSender.DeviceSensorsModel
                            {
                                id        = item.Value.id,
                                IsAnalog  = item.Value.isNumeric,
                                IsInput   = 1,
                                NormalMax = Convert.ToInt32(item.Value.Max.Split('.')[0]),
                                NormalMin = Convert.ToInt32(item.Value.Min.Split('.')[0]),
                                Name      = item.Value.Name,
                                Max       = Convert.ToInt32(item.Value.Max.Split('.')[0]) * 5,
                                Min       = Convert.ToInt32(item.Value.Min.Split('.')[0]) * 5,
                                Port      = item.Key,
                                PrType    = item.Value.PresentModel
                            };
                            sensor.State = new DTCDev.Models.DeviceSender.SensorState();
                            if (car.Data.Sensors != null)
                            {
                                if (car.Data.Sensors.Count() > item.Key)
                                {
                                    sensor.State.Vol = car.Data.Sensors[item.Key] + Convert.ToInt32(item.Value.StartValue.Split('.')[0]);
                                }
                            }

                            UserControl control = sl.GetSensor(SensorsTypeEnum.SensorsMode.MIN, sensor);
                            stkSensors.Children.Add(control);
                        }
                    }
                }
            }
        }
Esempio n. 30
0
        private static void OnCarChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            CarViewElement cve    = (CarViewElement)sender;
            DISP_Car       nValue = (DISP_Car)e.NewValue;
            DISP_Car       oValue = (DISP_Car)e.OldValue;

            nValue.PropertyChanged += cve.nValue_PropertyChanged;
            oValue.PropertyChanged -= cve.nValue_PropertyChanged;
            if (nValue.Device != null)
            {
                nValue.Device.PropertyChanged += cve.Device_PropertyChanged;
            }
            if (oValue.Device != null)
            {
                oValue.Device.PropertyChanged -= cve.Device_PropertyChanged;
            }
            cve.DisplaySensors(nValue);
            cve.DisplayState(nValue);
        }