public async Task <Response <EventNotification> > GetEvent(int dataId, int typeId) { try { var ev = await _repo.GetEvent(dataId, typeId); if (ev == null) { return(new Response <EventNotification>("Not found")); } var readHandler = new ReadingHandler <EventNotificationPrimaryKey>(); var arr = new List <IReadable <EventNotificationPrimaryKey> > { new EventRead(ev) }; readHandler.SetObj(arr); var readEvent = readHandler.ReadAll(); await _unitWork.CommitAsync(); if (readEvent.Count > 0) { ev.Read = false; } return(new Response <EventNotification>(ev)); } catch (Exception e) { return(new Response <EventNotification>($"ERROR :{e.Message}")); } }
public async Task <Response <Message> > GetMessage(int messageId) { try { var msg = await _repo.GetMessage(messageId); var readHandler = new ReadingHandler <int>(); var arr = new List <IReadable <int> > { new MessageRead(msg) }; readHandler.SetObj(arr); var readEvent = readHandler.ReadAll(); await _unitWork.CommitAsync(); if (readEvent.Count > 0) { msg.Read = false; } return(msg == null ? new Response <Message>("Error :Message Is not found ") : new Response <Message>(msg)); } catch (Exception e) { return(new Response <Message>($"Error :{e.Message}")); } }
/// <summary> /// Get the event notifications in pagination format . /// then ,it will set the returned data (event notification) as read . /// </summary> /// <param name="repId"></param> /// <param name="pageNumber">for pagination</param> /// <param name="pageSize">for pagination</param> /// <returns></returns> public async Task <Response <IEnumerable <EventNotification> > > GetEventNotification(int repId, int pageNumber, int pageSize) { try { var dictionary = _repo.GetEventsNotifications(repId, pageNumber, pageSize) .ToDictionary(notification => new EventNotificationPrimaryKey(notification.DataId, notification.NotificationTypeId)); //Reading Logic var r = new ReadingHandler <EventNotificationPrimaryKey>(); var obj = new List <IReadable <EventNotificationPrimaryKey> >(dictionary.Select(notification => new EventRead(notification.Value))); r.SetObj(obj); var readElements = r.ReadAll();//the Ids that were influenced in reading process. //end of reading logic await _unitWork.CommitAsync(); /** * after commiting ,the data is set as read ,but the client * need to know the whether the received data is read or not. * so we reset th data to the state it was in before commiting . */ foreach (var element in readElements) { dictionary[new EventNotificationPrimaryKey(element.DataId, element.TypeId)].Read = false; } return(new Response <IEnumerable <EventNotification> >(dictionary.Values)); } catch (Exception e) { return(new Response <IEnumerable <EventNotification> >($"ERROR :{e.Message}")); } }
private void trackReadingtimer_Tick(object sender, EventArgs e) { Reading patientReading = new Reading(); ReadingHandler readingHandler = new ReadingHandler(); DBConnector dbConn = new DBConnector(); dbConn.connect(); bool status = readingHandler.checkExistsReading(dbConn.getConn(), BedsideLoginScreen.bedside_patient_id); if (status) { patientReading = readingHandler.getReading(dbConn.getConn(), BedsideLoginScreen.bedside_patient_id); minBloodPressureLabel.Text = patientReading.MinBloodPressure.ToString(); maxBloodPressureLabel.Text = patientReading.MaxBloodPressure.ToString(); minBreathingRateLabel.Text = patientReading.MinBreathing.ToString(); maxBreathingRateLabel.Text = patientReading.MaxBreathing.ToString(); minPulseRateLabel.Text = patientReading.MinPulse.ToString(); maxPulseRateLabel.Text = patientReading.MaxPulse.ToString(); minTemperatureLabel.Text = patientReading.MinTemperature.ToString(); maxTemperatureLabel.Text = patientReading.MaxTemperature.ToString(); } else { minBloodPressureLabel.Text = "--"; maxBloodPressureLabel.Text = "--"; minBreathingRateLabel.Text = "--"; maxBreathingRateLabel.Text = "--"; minPulseRateLabel.Text = "--"; maxPulseRateLabel.Text = "--"; minTemperatureLabel.Text = "--"; maxTemperatureLabel.Text = "--"; } }
// GET: api/Reading/5 public List <Reading> Get(int id) { //var ReturnList = new List<Reading>(); var ourReadingHandler = new ReadingHandler(); return(ourReadingHandler.GetReadings(id)); }
public static void Scan(this Stream @this, int bufferSize, ReadingHandler handler) { var buffer = new byte[bufferSize]; int readLength; while ((readLength = @this.Read(buffer, 0, bufferSize)) > 0) { handler(buffer, readLength); } }
private void updateBtn_Click(object sender, EventArgs e) { DBConnector dBConn = new DBConnector(); dBConn.connect(); ReadingHandler readingHandler = new ReadingHandler(); Reading reading = new Reading(); reading.MinBloodPressure = double.Parse(minBPtextBox.Text); reading.MaxBloodPressure = double.Parse(maxBPtextBox.Text); reading.MinPulse = double.Parse(minPRtextBox.Text); reading.MaxPulse = double.Parse(maxPRtextBox.Text); reading.MinTemperature = double.Parse(minTemptextBox.Text); reading.MaxTemperature = double.Parse(maxTemptextBox.Text); reading.MinBreathing = double.Parse(minBRtextBox.Text); reading.MaxBreathing = double.Parse(maxBRtextBox.Text); int updateResult = readingHandler.updateReading(dBConn.getConn(), reading, patientIdStatic); if (updateResult == 1) { minBP.Text = minBPtextBox.Text; maxBP.Text = maxBPtextBox.Text; minBR.Text = minBRtextBox.Text; maxBR.Text = maxBRtextBox.Text; minPR.Text = minPRtextBox.Text; maxPR.Text = maxPRtextBox.Text; minTemp.Text = minTemptextBox.Text; maxTemp.Text = maxTemptextBox.Text; updateBtn.Hide(); cancelBtn.Hide(); minBP.Show(); maxBP.Show(); minBR.Show(); maxBR.Show(); minPR.Show(); maxPR.Show(); minTemp.Show(); maxTemp.Show(); minBPtextBox.Hide(); maxBPtextBox.Hide(); minBRtextBox.Hide(); maxBRtextBox.Hide(); minPRtextBox.Hide(); maxPRtextBox.Hide(); minTemptextBox.Hide(); maxTemptextBox.Hide(); MessageBox.Show("Update Successfully", "Update Reading", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Update Failed", "Update Reading", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Saves the current round to disk. Should be called whenever you want to ensure /// that it persists per app instance. /// </summary> public static async Task SaveReadingsToDiskAsync() { if (Singleton == null) { throw new InvalidOperationException("No readings to save."); } await RoundManager.CheckTimeout(); var handler = new ReadingHandler() { Readings = Singleton }; await FileHandler.SaveFileAsync(Constants.FileNames.CurrentReadings, handler); }
public void AddReadingHandler() { //connect database DBConnector dbC = new DBConnector(); string resp = dbC.connect(); Assert.AreEqual("Done", resp); ReadingHandler rhd = new ReadingHandler(); Reading readingclass = new Reading(); Assert.IsInstanceOfType(readingclass, typeof(object)); //int patientId = 1008; //readingclass.MinBloodPressure = 65; //readingclass.MaxBloodPressure = 125; //readingclass.MinTemperature = 65; //readingclass.MaxTemperature = 125; //readingclass.MinPulse = 65; //readingclass.MaxPulse = 125; //readingclass.MinBreathing = 65; //readingclass.MaxBreathing = 125; //int resp2 = rhd.addNewReading(dbC.getConn(), readingclass, patientId); //Assert.IsNotNull(resp2); //int patientId = 1002; //bool resp2 = rhd.checkExistsReading(dbC.getConn(), patientId); //Assert.IsNotNull(resp); //int patientId = 1001; //int resp2 = rhd.updateReading(dbC.getConn(), readingclass, patientId); //Assert.IsNotNull(resp); //int patientId = 1001; //Reading _ = rhd.getReading(dbC.getConn(), patientId); //double value = 65; //int resp2 = rhd.getIdAlarmTrigger(dbC.getConn(), value); }
private void confirmBtnAlarm_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(bPMin.Text)) { MessageBox.Show("Please enter a valid value to the bloodpressure"); return; } if (string.IsNullOrEmpty(bPMax.Text)) { MessageBox.Show("Please enter a valid value to the bloodpressure"); return; } if (string.IsNullOrEmpty(pulseMin.Text)) { MessageBox.Show("Please enter a valid value to the pulse rate"); return; } if (string.IsNullOrEmpty(pulseMax.Text)) { MessageBox.Show("Please enter a valid value to the pulse rate"); return; } if (string.IsNullOrEmpty(tempMin.Text)) { MessageBox.Show("Please enter a valid value to the temperature"); return; } if (string.IsNullOrEmpty(tempMax.Text)) { MessageBox.Show("Please enter a valid value to the temperature"); return; } if (string.IsNullOrEmpty(breathMin.Text)) { MessageBox.Show("Please enter a valid value to the breathing rate"); return; } if (string.IsNullOrEmpty(breathMax.Text)) { MessageBox.Show("Please enter a valid value to the breathing rate"); return; } if (double.Parse(bPMin.Text) > (double.Parse(bPMax.Text))) { MessageBox.Show("The minimum value must not bigger than maximum value"); return; } if (double.Parse(pulseMin.Text) > (double.Parse(pulseMax.Text))) { MessageBox.Show("The minimum value must not bigger than maximum value"); return; } if (double.Parse(tempMax.Text) > (double.Parse(tempMax.Text))) { MessageBox.Show("The minimum value must not bigger than maximum value"); return; } if (double.Parse(breathMin.Text) > (double.Parse(breathMax.Text))) { MessageBox.Show("The minimum value must not bigger than maximum value"); return; } Reading reading = new Reading(); reading.MinBloodPressure = double.Parse(bPMin.Text); reading.MaxBloodPressure = double.Parse(bPMax.Text); reading.MinPulse = double.Parse(pulseMin.Text); reading.MaxPulse = double.Parse(pulseMax.Text); reading.MinTemperature = double.Parse(tempMin.Text); reading.MaxTemperature = double.Parse(tempMax.Text); reading.MinBreathing = double.Parse(breathMin.Text); reading.MaxBreathing = double.Parse(breathMax.Text); minb = bPMin.Text; DBConnector dbcon = new DBConnector(); dbcon.connect(); sessionId = BedsideSystem.BedsideLoginScreen.bedside_patient_id; ReadingHandler readingHandler = new ReadingHandler(); bool status = readingHandler.checkExistsReading(dbcon.getConn(), sessionId); if (status) { int updateResult = readingHandler.updateReading(dbcon.getConn(), reading, sessionId); if (updateResult == 1) { MessageBox.Show("The minimum and maximum value is up to date"); BedsideMainScreen mainScreen = new BedsideMainScreen(); //mainScreen.MinBP = reading.MinBloodPressure.ToString(); //mainScreen.MaxBP = reading.MaxBloodPressure.ToString(); //mainScreen.MinBR = reading.MinBreathing.ToString(); //mainScreen.MaxBR = reading.MaxBreathing.ToString(); //mainScreen.MinPR = reading.MinPulse.ToString(); //mainScreen.MaxPR = reading.MaxPulse.ToString(); //mainScreen.MinT = reading.MinTemperature.ToString(); //mainScreen.MaxT = reading.MaxTemperature.ToString(); mainScreen.Show(this); Close(); } else { MessageBox.Show("Update Failed!"); } } else { int result = readingHandler.addNewReading(dbcon.getConn(), reading, sessionId); if (result == 1) { MessageBox.Show("The minimum and maximum value is ready to test"); BedsideMainScreen mainScreen = new BedsideMainScreen(); //mainScreen.MinBP = reading.MinBloodPressure.ToString(); //mainScreen.MaxBP = reading.MaxBloodPressure.ToString(); //mainScreen.MinBR = reading.MinBreathing.ToString(); //mainScreen.MaxBR = reading.MaxBreathing.ToString(); //mainScreen.MinPR = reading.MinPulse.ToString(); //mainScreen.MaxPR = reading.MaxPulse.ToString(); //mainScreen.MinT = reading.MinTemperature.ToString(); //mainScreen.MaxT = reading.MaxTemperature.ToString(); mainScreen.Refresh(); Close(); } else { MessageBox.Show("The minimum and maximum value is not ready to test"); } } }
private void centralbedsideIdcomboBox_SelectedIndexChanged(object sender, EventArgs e) { if (centralbedsideIdcomboBox.SelectedIndex > 0) { int index = centralbedsideIdcomboBox.SelectedIndex; if (listBedside[index].Status) { DBConnector dBConn = new DBConnector(); dBConn.connect(); centralBedsideStatus.Text = "ONLINE"; centralBedsideStatus.ForeColor = Color.Green; BedsideHandler bedsideHandler = new BedsideHandler(); bool status = bedsideHandler.checkExistBedside(dBConn.getConn(), listBedside[index].Id); if (status) { assignPatientIdcomboBox.Visible = false; assignBedsideIdBtn.Visible = false; readingPanel.Show(); Patient patient = bedsideHandler.getSpecificPatientInBedside(dBConn.getConn(), listBedside[index].Id); patientIdStatic = patient.Id; centralPatientIdLabel.Text = patient.Id.ToString(); centralPatientIdLabel.ForeColor = Color.Black; centralPatientNameLabel.Text = patient.FullName; ReadingHandler readingHandler = new ReadingHandler(); bool statusReading = readingHandler.checkExistsReading(dBConn.getConn(), patient.Id); if (statusReading) { Reading reading = readingHandler.getReading(dBConn.getConn(), patient.Id); minBP.Text = reading.MinBloodPressure.ToString(); maxBP.Text = reading.MaxBloodPressure.ToString(); minBR.Text = reading.MinBreathing.ToString(); maxBR.Text = reading.MaxBreathing.ToString(); minPR.Text = reading.MinPulse.ToString(); maxPR.Text = reading.MaxPulse.ToString(); minTemp.Text = reading.MinTemperature.ToString(); maxTemp.Text = reading.MaxTemperature.ToString(); minBPtextBox.Text = reading.MinBloodPressure.ToString(); maxBPtextBox.Text = reading.MaxBloodPressure.ToString(); minBRtextBox.Text = reading.MinBreathing.ToString(); maxBRtextBox.Text = reading.MaxBreathing.ToString(); minPRtextBox.Text = reading.MinPulse.ToString(); maxPRtextBox.Text = reading.MaxPulse.ToString(); minTemptextBox.Text = reading.MinTemperature.ToString(); maxTemptextBox.Text = reading.MaxTemperature.ToString(); } } } else { readingPanel.Hide(); centralBedsideStatus.Text = "OFFLINE"; centralBedsideStatus.ForeColor = Color.Red; centralPatientIdLabel.Text = "No Assigned Patient ID"; centralPatientIdLabel.ForeColor = Color.Red; centralPatientNameLabel.Text = "--"; minBP.Text = "--"; maxBP.Text = "--"; minBR.Text = "--"; maxBR.Text = "--"; minPR.Text = "--"; maxPR.Text = "--"; minTemp.Text = "--"; maxTemp.Text = "--"; minBPtextBox.Text = ""; maxBPtextBox.Text = ""; minBRtextBox.Text = ""; maxBRtextBox.Text = ""; minPRtextBox.Text = ""; maxPRtextBox.Text = ""; minTemptextBox.Text = ""; maxTemptextBox.Text = ""; } //if (centralPatientIdLabel.Text == "No Assigned Patient ID") //{ // assignPatientIdcomboBox.Items.Clear(); // setAssignPatientId(); //} } }
public async Task <Response <IEnumerable <TotalMessage> > > GetAllMessages(int repId, int pageNumber, int pageSize) { try { var messages = _repo.GetMessages(repId, pageNumber, pageSize); var global = _repo.GetGlobalMessages(pageNumber, pageSize); var all = messages.Select(message => new TotalMessage { Content = message.Content.Content, Id = message.Id, DateTime = message.DateTime, TypesEnum = (NotificationTypesEnum)message.Content.NotificationTypeId, }) .Union(global.Select(globals => new TotalMessage { Content = globals.MessageContent.Content, Id = globals.Id, DateTime = globals.DateTime, TypesEnum = (NotificationTypesEnum)globals.MessageContent.NotificationTypeId, })) .OrderBy(message => message.DateTime) .Skip((pageNumber - 1) * pageSize).Take(pageSize) .ToDictionary(message => new MessageKey { Id = message.Id, Type = (int)message.TypesEnum }); /** * Handling Reading for both types */ var messageReading = new ReadingHandler <int>(); messageReading.SetObj(new List <IReadable <int> >(messages .Select(message => new MessageRead(message)))); var messageRead = messageReading.ReadAll(); var globalHandler = new GlobalMessageReadingHandler(_repo, repId); globalHandler.SetObj(new List <IReadable <int> >( global.Select(message => new GlobalMessageRead(message, _repo, repId)))); var globalRead = globalHandler.ReadAll(); //end of reading foreach (var message in messageRead) { all[new MessageKey { Type = (int)NotificationTypesEnum.Message, Id = message }].Read = false; } foreach (var message in globalRead) { all[new MessageKey { Type = (int)NotificationTypesEnum.Message, Id = message }].Read = false; } await _unitWork.CommitAsync(); return(new Response <IEnumerable <TotalMessage> >(all.Values)); } catch (Exception e) { return(new Response <IEnumerable <TotalMessage> >($"ERROR :{e.Message}")); } }
private async void readTemperatureData() { kayChart dataChart = new kayChart(temperatureLineGraph, 60); dataChart.serieName = "Temperature"; string path = "../../../Patient-Monitoring-System/data files/temperatureCSV.csv"; string line; try { StreamReader sr = new StreamReader(path); line = sr.ReadLine(); while (line != null) { string[] columns = line.Split(','); foreach (string column in columns) { if (run) { double value = double.Parse(column); //add each value to database *DONT Delete* DateTime currentDate = DateTime.Now; DateTime currentTime = DateTime.Now; DBConnector dBConn = new DBConnector(); dBConn.connect(); Temperature newTemperature = new Temperature(); newTemperature.TemperatureValue = value; newTemperature.TemperatureDate = currentDate; newTemperature.TemperatureTime = currentTime; TemperatureHandler temperatureHandler = new TemperatureHandler(); ReadingHandler readingHandler = new ReadingHandler(); int result = temperatureHandler.addNewTemperature(dBConn.getConn(), newTemperature, BedsideLoginScreen.bedside_patient_id); if (result != 1) { MessageBox.Show("Insert Data failed"); } await Task.Delay(1500); await Task.Factory.StartNew(() => { dataChart.TriggeredUpdate(value); }); if (value == 0) { if (smsTrigger == 1) { if (!backgroundWorkerSendSMS.IsBusy) { backgroundWorkerSendSMS.RunWorkerAsync(); } } temperatureLineGraph.Series["Temperature"].Color = Color.Red; temperatureCurrentValue.ForeColor = Color.Red; BedsideHandler bedsideHandler = new BedsideHandler(); int alarmResult = bedsideHandler.updateAlarmZeroStatus(dBConn.getConn(), BedsideLoginScreen.bedsideIDPass, 1); alarmZeroStatus = true; AlarmHandler alarmHandler = new AlarmHandler(); int specificId = alarmHandler.getSpecificId(dBConn.getConn(), value, "temperature"); if (specificId > 0) { bool triggerStatus = alarmHandler.triggerAlarm(dBConn.getConn(), value, BedsideLoginScreen.bedside_patient_id, 0, specificId, "Temperature"); if (triggerStatus) { listTemperature.Add(newTemperature); } } } else if (value >= double.Parse(maxTemperatureLabel.Text) || value <= double.Parse(minTemperatureLabel.Text)) { if (smsTrigger == 1) { if (!backgroundWorkerSendSMS.IsBusy) { backgroundWorkerSendSMS.RunWorkerAsync(); } } temperatureLineGraph.Series["Temperature"].Color = Color.Yellow; temperatureCurrentValue.ForeColor = Color.Yellow; BedsideHandler bedsideHandler = new BedsideHandler(); int alarmResult = bedsideHandler.updateAlarmStatus(dBConn.getConn(), BedsideLoginScreen.bedsideIDPass, 1); alarmReadingStatus = true; int id = readingHandler.getIdAlarmTrigger(dBConn.getConn(), value); if (id > 0) { AlarmHandler alarmHandler = new AlarmHandler(); bool triggerStatus = alarmHandler.triggerAlarm(dBConn.getConn(), value, BedsideLoginScreen.bedside_patient_id, id, 0, "Temperature"); if (triggerStatus) { listTemperature.Add(newTemperature); } } } else { temperatureLineGraph.Series["Temperature"].Color = Color.Green; temperatureCurrentValue.ForeColor = Color.Green; } temperatureCurrentValue.Text = value.ToString() + "°C"; } else { break; } } line = sr.ReadLine(); } } catch (FileNotFoundException e) { MessageBox.Show(e.ToString()); Console.WriteLine(e.ToString()); } }