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 { } }
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 { } }
public CarDTCView() { InitializeComponent(); _car = CarStorage.Instance.SelectedCar; DisplayErrors(); CarsHandler.Instance.CarDTCMonthLoaded += Instance_CarDTCMonthLoaded; }
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; } } }
private void AddCar(object obj) { ClearValues(); SelectedCar = new DISP_Car { CarModel = new CarListBaseDataModel() }; }
private void SelectedCarChange(DISP_Car car) { if (OnSelectedCarChange != null) { OnSelectedCarChange(car, EventArgs.Empty); } }
void CarSelector_OnCarChanged(Engine.DisplayModels.DISP_Car car) { if (car != null) { _selectedCar = car; } }
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(); } }
void CarSelector_OnCarChanged(DISP_Car car) { if (SelectedCar != CarSelector.SelectedCar) { SelectedCar = CarSelector.SelectedCar; } }
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 { } }
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(); }
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"); }
public CarZoneHistoryErrorViewModel(DISP_Car car, LocationCollection routeCollection) { SelectedCar = car; _routeCollection = routeCollection; _zoneHandler = ZonesHandler.Instance; _zoneHandler.LoadCompleted += zoneHandler_LoadCompleted; if (!_zoneHandler.Zones.Any()) { _zoneHandler.Update(); } }
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()); } }
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; } }
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; }
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); } }
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(); } }
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); }
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 { } }
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(); }
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(); }
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); } }
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(); } }
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; //} }
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); } } } } }
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); }