public async Task <ActionResult <MonitorRoom> > AssignMonitor([FromQuery] MonitorKey monitorKey, [FromBody] MonitorRoom monitorRoom) { monitorRoom.SetMonitorKey(monitorKey); await _monitorStore.AssignMonitorAsync(monitorRoom); MonitorRoom result = await _monitorStore.FindMonitorRoomDetailsAsync(monitorKey); return(Ok(result)); }
private void RoomManageBtn_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!(monitorRoom != null && staffMonitor != null)) { monitorRoom = new MonitorRoom(); staffMonitor = new StaffMonitor(); } this.splitContainerControl1.Panel1.Controls.Clear(); this.splitContainerControl1.Panel2.Controls.Clear(); this.splitContainerControl1.Panel1.Controls.Add(monitorRoom); this.splitContainerControl1.Panel2.Controls.Add(staffMonitor); monitorRoom.Dock = DockStyle.Fill; staffMonitor.Dock = DockStyle.Fill; }
public async Task AddMonitorReadingAsync(MonitorRoom monitorRoom, MonitorReading reading) { using SqlConnection connection = new SqlConnection(_connectionString); await connection.OpenAsync(); if (reading is MonitorReadingSwitch readingSwitch) { await connection.ExecuteAsync( "ReadingSwitch_Add_tr", new { monitorRoom.HotelChain, monitorRoom.CountryCode, monitorRoom.Town, monitorRoom.Suburb, monitorRoom.MACAddress, monitorRoom.RoomType, monitorRoom.Room, monitorRoom.Monitor, ApplicationSwitch = readingSwitch.Application, readingSwitch.ReadingDtm, readingSwitch.Value }, commandType : CommandType.StoredProcedure); } else if (reading is MonitorReadingMeasure readingMeasure) { await connection.ExecuteAsync( "ReadingMeasure_Add_tr", new { monitorRoom.HotelChain, monitorRoom.CountryCode, monitorRoom.Town, monitorRoom.Suburb, monitorRoom.MACAddress, monitorRoom.RoomType, monitorRoom.Room, monitorRoom.Monitor, ApplicationMeasure = readingMeasure.Application, readingMeasure.ReadingDtm, readingMeasure.Value }, commandType : CommandType.StoredProcedure); } }
public async Task AssignMonitorAsync(MonitorRoom monitorRoom) { using SqlConnection connection = new SqlConnection(_connectionString); await connection.OpenAsync(); await connection.ExecuteAsync( "Monitor_Assign_tr", new { monitorRoom.HotelChain, monitorRoom.CountryCode, monitorRoom.Town, monitorRoom.Suburb, monitorRoom.MACAddress, monitorRoom.RoomType, monitorRoom.Room, monitorRoom.Monitor }, commandType : CommandType.StoredProcedure); }
public async Task <IActionResult> HandleMonitorRecord([FromBody] MonitorRecord monitorRecord) { HotelKey hotelKey = ParseHotelKeyFromClaims(User); MonitorKey monitorKey = new MonitorKey { HotelChain = hotelKey.HotelChain, CountryCode = hotelKey.CountryCode, Town = hotelKey.Town, Suburb = hotelKey.Suburb, MACAddress = monitorRecord.MACAddress }; monitorRecord.Logs.ForEach(async log => { try { await _monitorStore.AddMonitorLogAsync( hotelKey, monitorRecord.MACAddress, log); } catch (SqlException ex) { StringBuilder errorMessages = new StringBuilder(); for (int i = 0; i < ex.Errors.Count; i++) { errorMessages.Append("Index #" + i + "\n" + "Message: " + ex.Errors[i].Message + "\n" + "LineNumber: " + ex.Errors[i].LineNumber + "\n" + "Source: " + ex.Errors[i].Source + "\n" + "Procedure: " + ex.Errors[i].Procedure + "\n"); } Console.WriteLine(errorMessages.ToString()); } }); MonitorRoom monitorRoom = await _monitorStore.FindMonitorRoomDetailsAsync(monitorKey); if (monitorRoom != null) { monitorRecord.Readings.ForEach(async reading => { try { await _monitorStore.AddMonitorReadingAsync( monitorRoom, reading); } catch (SqlException ex) { StringBuilder errorMessages = new StringBuilder(); for (int i = 0; i < ex.Errors.Count; i++) { errorMessages.Append("Index #" + i + "\n" + "Message: " + ex.Errors[i].Message + "\n" + "LineNumber: " + ex.Errors[i].LineNumber + "\n" + "Source: " + ex.Errors[i].Source + "\n" + "Procedure: " + ex.Errors[i].Procedure + "\n"); } Console.WriteLine(errorMessages.ToString()); } }); } return(StatusCode(StatusCodes.Status201Created)); }