private void RemoveDevice(int deviceId) { using (var dbContext = new CalculationSystemDbContext()) { MeteringDevice device = dbContext.MeteringDevices.Single(d => d.Id == deviceId); dbContext.MeteringDevices.Remove(device); dbContext.SaveChanges(); } }
private string FormatIp(MeteringDevice existingDevice, DeviceDetectedEvent e) { string prefix = ""; if (!string.IsNullOrEmpty(existingDevice.DisplayIp)) { prefix = $"{existingDevice.DisplayIp} -> "; } return($"{prefix}{e.Ip.ToString()}"); }
private async Task DeleteDeviceAsync(MeteringDevice device) { var existingDevice = registeredDevices.FirstOrDefault(p => p.DeviceId == device.Id); if (existingDevice != null) { await metersDatabase.RemoveMeterAsync(existingDevice); await LoadRegisterdDevicesAsync(); } }
private MeteringDevice UpdateDevice(int deviceId, double readings) { using (var dbContext = new CalculationSystemDbContext()) { MeteringDevice device = dbContext.MeteringDevices.Single(d => d.Id == deviceId); SaveInitialReadingForCurrentPeriod(dbContext, device.Id, device.Readings); device.Readings = readings; dbContext.SaveChanges(); return(dbContext.MeteringDevices.Include("House").Single(d => d.Id == deviceId)); } }
private void Delete_Clicked(object sender, RoutedEventArgs e) { if (deviceRegistryDataGrid.SelectedIndex > -1) { MeteringDevice selectedDevice = deviceRegistryDataGrid.SelectedItem as MeteringDevice; var result = MessageBox.Show("Are you sure?", "Delete this device?", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { RemoveDevice(selectedDevice.Id); devices.Remove(selectedDevice); MessageBox.Show("Selected device was deleted!"); } } }
private void DeviceAddition_Clicked(object sender, RoutedEventArgs e) { var addWindow = new AddMeteringDeviceWindow(); var result = addWindow.ShowDialog(); if (result.HasValue && result.Value) { MeteringDevice createdDevice = CreateDevice(addWindow.InitialReadings, addWindow.SelectedHouse); devices.Add(createdDevice); } else { addWindow.Close(); } }
private async Task UpsertDeviceAsync(MeteringDevice device) { var existingDevice = registeredDevices.FirstOrDefault(p => p.DeviceId == device.Id); if (existingDevice == null) { existingDevice = new RegisteredMeter() { DeviceId = device.Id }; } existingDevice.DeviceIp = device.Ip; await metersDatabase.UpsertAsync(existingDevice); await LoadRegisterdDevicesAsync(); }
private MeteringDevice CreateDevice(double initialReadings, House house) { using (var dbContext = new CalculationSystemDbContext()) { var device = new MeteringDevice { Id = house.Id, Readings = initialReadings }; dbContext.MeteringDevices.Add(device); dbContext.SaveChanges(); return(dbContext.MeteringDevices.Include("House").Single(d => d.Id == house.Id)); } }
/// <summary> /// Вставка показания прибора учета /// </summary> /// <param name="_meteringDevice">Элемент перечня приборов учета</param> /// <param name="_oneRateCurrentMeteringValue">Элемент списка текущий показаний прибора учета в ГИС ЖКХ</param> /// <returns>Результат вставки</returns> public static string InsertMeteringDeviceHistory(MeteringDevice _meteringDevice, OneRateCurrentMeteringValueExportType _oneRateCurrentMeteringValue) { string _result; try { Program.db.spInsertMeteringDeviceHistory(_meteringDevice.GUID, Convert.ToDecimal(_oneRateCurrentMeteringValue.MeteringValue), _oneRateCurrentMeteringValue.DateValue); _result = "Metering device value is synchronized"; } catch (Exception e) { _result = e.Message; } return(_result); }
private void HandleDevice(DeviceDetectedEvent e) { var existingDevice = Devices.FirstOrDefault(p => p.Id == e.Id); var isNewDevice = existingDevice == null; if (isNewDevice) { existingDevice = new MeteringDevice() { Id = e.Id }; Devices.Add(existingDevice); } existingDevice.Status = isNewDevice ? MeteringDeviceStatus.New : MeteringDeviceStatus.Found; existingDevice.DisplayIp = FormatIp(existingDevice, e); existingDevice.Ip = e.Ip.ToString(); }
/// <summary> /// Обновление строки перечня приборов учета /// </summary> /// <param name="_meteringDevice">Элемент перечня приборов учета</param> /// <param name="_exportMeteringDevice">Прибор учета в ГИС ЖКХ</param> /// <returns>Результат обновления</returns> public static string UpdateMeteringDevice(MeteringDevice _meteringDevice, exportMeteringDeviceDataResultType _exportMeteringDevice) { string _result; try { _meteringDevice.MeteringDeviceModel = _exportMeteringDevice.BasicChatacteristicts.MeteringDeviceModel; _meteringDevice.MeteringDeviceStamp = _exportMeteringDevice.BasicChatacteristicts.MeteringDeviceStamp; _meteringDevice.MeteringDeviceNumber = _exportMeteringDevice.BasicChatacteristicts.MeteringDeviceNumber; _meteringDevice.VerificationInterval = 6; _meteringDevice.InstallationDate = _exportMeteringDevice.BasicChatacteristicts.InstallationDate; _meteringDevice.VerificationDate = _exportMeteringDevice.BasicChatacteristicts.FirstVerificationDate; _meteringDevice.GIS_VersionNumber = int.Parse(_exportMeteringDevice.VersionNumber); Program.db.SubmitChanges(); _result = "Metering device item is correct"; } catch (Exception e) { _result = e.Message; } return(_result); }