public async Task SendMessage(string message) { var userId = NameUserIdProvider.GetUserId(Context); if (userId != null) { var command = Newtonsoft.Json.JsonConvert.DeserializeObject <AckArmCommand>(message); var meter = new EnergyMeter(command.Meter.serialId, userId, TypeOfEnergyMeter.House, null, command.Meter.count, command.Meter.Switch); await repository.Update(meter); } // await Clients.Group(userId).SendAsync("ReceiveMessage", message); }
public async Task Delete(EnergyMeter energyMeter) { var dao = await _dbContext.EnergyMetersDaos.FindAsync(energyMeter.SerialId); if (dao != null) { if (_dbContext.Entry(dao).State == EntityState.Detached) { _dbContext.EnergyMetersDaos.Attach(dao); } _dbContext.EnergyMetersDaos.Remove(dao); await _dbContext.SaveChangesAsync(); } }
public async Task Create(EnergyMeter energyMeter) { try { var dao = new EnergyMeterDao(energyMeter); await _dbContext.AddAsync(dao); await _dbContext.SaveChangesAsync(); } catch (Exception) { throw new ArgumentException(); } }
public async Task <GetConsumptionResult> GetConsumptionAsync(EnergyMeter meter) { var uri = (meter.Type == EnergyType.Electricity) ? $"/v1/electricity-meter-points/{meter.Identifier}/meters/{meter.SerialNumber}/consumption/" : $"/v1/gas-meter-points/{meter.Identifier}/meters/{meter.SerialNumber}/consumption/"; var json = await _httpClient.GetStringAsync(uri); var response = JsonConvert.DeserializeObject <ApiResponse <ConsumptionItem> >(json); return(new GetConsumptionResult { Unit = meter.Type == EnergyType.Electricity ? ConsumptionUnit.KilowattHour : ConsumptionUnit.CubicMetres, Items = response.Results ?? Array.Empty <ConsumptionItem>() }); }
public void sendBurger() { if (stack.SequenceEqual(burgeri.Ingredients)) { Debug.Log("Correct burger"); EnergyMeter.LoadEnergy(2); orderPassed = true; //burgeri = menu.BurgerMenu[burgerID]; BurgerTimer = 100; } else { // orderFail = true; // Debug.Log("Wrong burger"); BurgerTimer = 100; } }
public EnergyMeterDao(EnergyMeter meter) { SerialId = meter.SerialId; UserId = meter.UserId; Type = meter.Type; Count = meter.Count; SwitchState = meter.SwitchState; MeterOfPoleDao = null; if (meter.Meters != null) { var dao = new List <MeterOfPoleDao>(); foreach (var item in meter.Meters) { dao.Add(new MeterOfPoleDao(this, item.MeterId)); } MeterOfPoleDao = dao; } }
public MeterViewModel(EnergyMeter item, EnergyMetersService Service, MainViewModel MainView) { mainView = MainView; service = Service; Type = item.Type; SerialId = item.SerialId; Count = item.Count; UserId = item.UserId; SwitchState = item.SwitchState; foreach (var i in item.Meters) { MetersOfPole.Add(new MeterOfPoleViewModel { MeterId = i.MeterId }); } DeleteCommand = new Command(async() => await Delete(), () => true); SwitchCommand = new Command(async() => await Switch(), () => true); GetCountCommand = new Command(async() => await GetCount(), () => true); UpdateCommand = new Command(async() => await Update(), () => true); }
public EnergyMeterUpdateViewModel(EnergyMeter energyMeter) { ResetSelectList(); serialId = energyMeter.SerialId; Select = energyMeter.Type.ToString(); Count = energyMeter.Count; Switch = energyMeter.SwitchState; meterOfPoles = new List <MeterOfPoleDto>(); if (energyMeter.Meters != null && energyMeter.Meters.Any()) { foreach (var item in energyMeter.Meters) { meterOfPoles.Add(new MeterOfPoleDto { meterSerialId = item.MeterId }); } } meterOfPoles.Add(new MeterOfPoleDto { meterSerialId = "0" }); }
public async Task Update(EnergyMeter energyMeter) { var dao = await _dbContext.EnergyMetersDaos.Include(m => m.MeterOfPoleDao).FirstOrDefaultAsync(m => m.SerialId == energyMeter.SerialId); if (dao != null) { var newDao = new EnergyMeterDao(energyMeter); dao.Type = newDao.Type; if (newDao.Count != null) { dao.Count = newDao.Count; } dao.SwitchState = newDao.SwitchState; dao.MeterOfPoleDao = newDao.MeterOfPoleDao; _dbContext.Entry(dao).State = EntityState.Modified; await _dbContext.SaveChangesAsync(); } }
private StrcutureSystem SetSensorList(LayoutColumn valueSplitted, StrcutureSystem structure) { var sensorFound = new Sensor(); if (valueSplitted.Value != "CMD") { if (structure.SensorList.Count() > 0) { foreach (string usedBy in valueSplitted.Father) { sensorFound = structure.SensorList.Find(c => c.ModelName == valueSplitted.ModelName && c.UsedBy.Contains(usedBy)); if (sensorFound != null) { break; } } } } else { sensorFound = structure.SensorList.Find(c => c.ModelName == valueSplitted.ModelName); } if (sensorFound == null || structure.SensorList.Count() == 0) { var item = new Sensor() { InstallationArea = valueSplitted.Area, ModelName = valueSplitted.ModelName }; item.UsedBy = new List <string>(); item.UsedBy = valueSplitted.Father; if (valueSplitted.Type == "energymeter") { if (item.EnergyMeterList == null) { item.EnergyMeterList = new List <EnergyMeter>(); EnergyMeter energyMeter = new EnergyMeter(); energyMeter.LabelValues = new List <string>() { valueSplitted.Value }; item.EnergyMeterList.Add(energyMeter); } else { var valueBag = sensorFound.EnergyMeterList.LastOrDefault(); valueBag.LabelValues.Add(valueSplitted.Value); } } if (valueSplitted.Type == "pump") { if (item.PumpSensorList == null) { item.PumpSensorList = new List <PumpSensor>(); PumpSensor pump = new PumpSensor(); pump.LabelValues = new List <string>() { valueSplitted.Value }; item.PumpSensorList.Add(pump); } else { var valueBag = sensorFound.PumpSensorList.LastOrDefault(); valueBag.LabelValues.Add(valueSplitted.Value); } } structure.SensorList.Add(item); } else { if (!string.IsNullOrEmpty(valueSplitted.Value)) { if (valueSplitted.Type == "energymeter") { var valueBag = sensorFound.EnergyMeterList.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } } if (valueSplitted.Type == "pump") { var valueBag = sensorFound.PumpSensorList.LastOrDefault(); if (valueBag != null && !valueBag.LabelValues.Contains(valueSplitted.Value)) { valueBag.LabelValues.Add(valueSplitted.Value); } if (valueBag != null && valueSplitted.Value == "CMD") { foreach (string s in valueSplitted.Father) { if (!sensorFound.UsedBy.Contains(s)) { sensorFound.UsedBy.Add(s); } } } } } } return(structure); }
private StrcutureSystem SetDateInAllStructure(StrcutureSystem structure, string value) { if (structure.CogeneratorList.Count > 0) { foreach (var cogenerator in structure.CogeneratorList) { if (cogenerator.CogeneratorValue.Count > 0) { if (cogenerator.CogeneratorValue.FirstOrDefault().DetectionDate == DateTime.MinValue) { cogenerator.CogeneratorValue.FirstOrDefault().DetectionDate = DateTime.Parse(value); } else { var backup = cogenerator.CogeneratorValue.FirstOrDefault(); CogeneratoreValue newBag = new CogeneratoreValue(); newBag.LabelValues = new List <string>(); newBag.LabelValues = backup.LabelValues; newBag.DetectionDate = DateTime.Parse(value); cogenerator.CogeneratorValue.Add(newBag); } } } } if (structure.SensorList.Count > 0) { foreach (var sensor in structure.SensorList) { if (sensor.PumpSensorList != null && sensor.PumpSensorList.Count > 0) { if (sensor.PumpSensorList.FirstOrDefault().DetectionDate == DateTime.MinValue) { sensor.PumpSensorList.FirstOrDefault().DetectionDate = DateTime.Parse(value); } else { var backup = sensor.PumpSensorList.FirstOrDefault(); PumpSensor newBag = new PumpSensor(); newBag.LabelValues = new List <string>(); newBag.LabelValues = backup.LabelValues; newBag.DetectionDate = DateTime.Parse(value); sensor.PumpSensorList.Add(newBag); } } if (sensor.EnergyMeterList != null && sensor.EnergyMeterList.Count > 0) { if (sensor.EnergyMeterList.FirstOrDefault().DetectionDate == DateTime.MinValue) { sensor.EnergyMeterList.FirstOrDefault().DetectionDate = DateTime.Parse(value); } else { var backup = sensor.EnergyMeterList.FirstOrDefault(); EnergyMeter newBag = new EnergyMeter(); newBag.LabelValues = new List <string>(); newBag.LabelValues = backup.LabelValues; newBag.DetectionDate = DateTime.Parse(value); sensor.EnergyMeterList.Add(newBag); } } } } if (structure.BoilerList.Count > 0) { foreach (var boiler in structure.BoilerList) { if (boiler.BoilerValue.Count > 0) { if (boiler.BoilerValue.FirstOrDefault().DetectionDate == DateTime.MinValue) { boiler.BoilerValue.FirstOrDefault().DetectionDate = DateTime.Parse(value); } else { var backup = boiler.BoilerValue.FirstOrDefault(); BoilerValue newBag = new BoilerValue(); newBag.LabelValues = new List <string>(); newBag.LabelValues = backup.LabelValues; newBag.DetectionDate = DateTime.Parse(value); boiler.BoilerValue.Add(newBag); } } } } if (structure.HeatPumpList.Count > 0) { foreach (var heatPump in structure.HeatPumpList) { if (heatPump.HeatPumpValue.Count > 0) { if (heatPump.HeatPumpValue.FirstOrDefault().DetectionDate == DateTime.MinValue) { heatPump.HeatPumpValue.FirstOrDefault().DetectionDate = DateTime.Parse(value); } else { var backup = heatPump.HeatPumpValue.FirstOrDefault(); HeatPumpValue newBag = new HeatPumpValue(); newBag.LabelValues = new List <string>(); newBag.LabelValues = backup.LabelValues; newBag.DetectionDate = DateTime.Parse(value); heatPump.HeatPumpValue.Add(newBag); } } } } //TODO ABSORBER return(structure); }