public async Task <IActionResult> ClearQueue() { db.Queue.RemoveRange(db.Queue); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> DeleteConfirmed(int id) { var timers = db.Timers.Where(t => t.TimeTableId == id); db.RemoveRange(timers); var timeTable = await db.Timetables.FindAsync(id); db.Timetables.Remove(timeTable); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Index([Bind("ConfigID, ConfigValue")] Config config) { if (ModelState.IsValid) { var be = await db.Configs.SingleOrDefaultAsync(b => b.ConfigID == "BoilerEnabled"); if (be.ConfigValue != config.ConfigValue) { be.ConfigValue = config.ConfigValue; await db.SaveChangesAsync(); } } return(View(config)); }
private async Task SaveValveLogAsync(int addr, StateMessage state) { using (IServiceScope scope = scopeFactory.CreateScope()) { HeatAppContext db = scope.ServiceProvider.GetRequiredService <HeatAppContext>(); ValveLog vl = new ValveLog(addr, state); var last = db.ValveLog.SingleOrDefault(v => v.Addr == vl.Addr && v.Time == vl.Time); if (last == null) { db.ValveLog.Add(vl); await db.SaveChangesAsync(); } } }
public async Task <IActionResult> Edit(int id, [Bind("Addr,Caption,BoilerEnabled,Temperature,TimeTable,Wanted,Auto,Locked")] ValveView valveView) { if (ModelState.IsValid && valveView.Addr > 0) { var valve = await db.Valves.SingleOrDefaultAsync(v => v.Addr == valveView.Addr); if (valve == null) { valve = new Valve() { Addr = valveView.Addr, BoilerEnabled = valveView.BoilerEnabled, Caption = valveView.Caption, TimeTable = valveView.TimeTable, Locked = valveView.Locked }; await db.Valves.AddAsync(valve); await db.SaveChangesAsync(); commandService.SendTimetableToValve(valve.Addr, valve.TimeTable); } else { bool change = false; if (valve.Caption != valveView.Caption) { valve.Caption = valveView.Caption; change = true; } if (valve.Addr != valveView.Addr) { valve.Addr = valveView.Addr; change = true; } if (valve.BoilerEnabled != valveView.BoilerEnabled) { valve.BoilerEnabled = valveView.BoilerEnabled; change = true; } if (valve.Locked != valveView.Locked) { valve.Locked = valveView.Locked; change = true; } if (change) { await db.SaveChangesAsync(); } if (valve.TimeTable != valveView.TimeTable) { valve.TimeTable = valveView.TimeTable; await db.SaveChangesAsync(); commandService.SendTimetableToValve(valve.Addr, valve.TimeTable); } } commandService.UpdateValve(valveView); return(RedirectToAction(nameof(Index))); } List <SelectListItem> timetables = new List <SelectListItem> { new SelectListItem() { Value = "0", Text = "žádný" } }; timetables.AddRange(await db.Timetables.Select(t => new SelectListItem { Value = t.Id.ToString(), Text = t.Caption }).ToListAsync()); ViewBag.TimeTables = timetables; return(View(valveView)); }