Esempio n. 1
0
        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;
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
        }