| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using FietsClient.Forms;
- using FietsLibrary.JSONObjecten;
- using System.Windows.Forms.DataVisualization.Charting;
- namespace FietsClient
- {
- public partial class DoctorForm : Form
- {
- private DoctorModel doctorModel;
- public Forms.DoctorSummaryUC summaryUserControl { get; private set; }
- public DoctorForm(TcpConnection connection)
- {
- InitializeComponent();
- doctorModel = DoctorModel.doctorModel;
- doctorModel.doctorform = this;
- doctorModel.tcpConnection = connection;
- this.summaryUserControl = doctorSummaryUC1;
- DataHandler.IncomingErrorEvent += HandleError;
- connection.IncomingChatmessageEvent += new TcpConnection.ChatmassegeDelegate(printMessage);
- }
- private void HandleError(string error)
- {
- switch (error)
- {
- default:
- break;
- }
- }
- private List<User> users;
- private void Form1_Load(object sender, EventArgs e)
- {
- users = doctorModel.requestUsers();
- foreach (User user in users)
- {
- PatientBox.Items.Add(user.id);
- }
- }
- private void messageBox_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == '\r')
- {
- messageButton_Click(sender, e);
- }
- }
- private void messageButton_Click(object sender, EventArgs e)
- {
- if (messageBox.Text != null && doctorTabControl.SelectedTab.Name != "tabPageSummary")
- {
- String[] data = new String[2];
- data[0] = messageBox.Text;
- //current patient:
- data[1] = doctorTabControl.SelectedTab.Name;
- messageBox.Clear();
- doctorModel.tcpConnection.SendChatMessage(data);
- }
- else if (messageBox.Text != null && doctorTabControl.SelectedTab.Name == "tabPageSummary")
- {
- String[] data = new String[2];
- data[0] = "This is a broadcast: " + messageBox.Text + "\r\n";
- //all patients:
- for (int tabs = 1; tabs <= doctorTabControl.TabCount - 1; tabs++)
- {
- doctorTabControl.SelectTab(tabs);
- data[1] = doctorTabControl.SelectedTab.Name;
- doctorModel.tcpConnection.SendChatMessage(data);
- }
- messageBox.Clear();
- }
- }
- private void printMessage(string[] data)
- {
- string finalMessage = data[0] + ":\t" + data[2] + "\r\n";
- chatBox.Invoke((MethodInvoker)delegate ()
- {
- chatBox.AppendText(finalMessage);
- });
- }
- public void AddSessionToTabcontrol(string patientID)
- {
- TabPage page = new TabPage("Patientsession " + patientID);
- page.Name = patientID;
- Forms.DoctorSessionUC sessionUC = new Forms.DoctorSessionUC(patientID);
- sessionUC.Name = "sessionUC" + patientID;
- doctorModel.doctorSessions.Add(patientID, sessionUC);
- doctorModel.doctorSessions.TryGetValue(patientID, out sessionUC);
- page.Controls.Add(sessionUC);
- doctorTabControl.TabPages.Add(page);
- }
- public void RemoveSessionFromTabcontrol(string patientID)
- {
- doctorTabControl.TabPages.RemoveByKey(patientID);
- }
- private void DoctorForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- doctorModel.stopAskingData();
- doctorModel.tcpConnection.disconnect();
- Application.Exit();
- }
- private void nieuwePatientToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var newPatient = new NewPatientForm(doctorModel.tcpConnection);
- newPatient.Show();
- }
- private List<DataPoint> speedPoints = new List<DataPoint>();
- private List<DataPoint> bpmPoints = new List<DataPoint>();
- private List<DataPoint> rpmPoints = new List<DataPoint>();
- private void selectSessionToolStripMenuItem_Click(object sender, EventArgs e)
- {
- //get measurments
- List<Measurement> measurments = new List<Measurement>();
- User user = null;
- foreach (User userx in users)
- {
- if (PatientBox.Text == user.id)
- {
- user = userx;
- List<Session> sessions = user.GetSessions();
- foreach (Session session in sessions)
- {
- if (sessionsBox.Text == session.date.ToString())
- {
- measurments = session.session;
- }
- }
- }
- }
- //fill boxes
- summaryUserControl.sessionBox.Text = user.id;
- summaryUserControl.nameBox.Text = user.id;
- summaryUserControl.pulseBox.Text = measurments[measurments.Count - 1].bpm.ToString();
- summaryUserControl.rpmInfoBox.Text = measurments[measurments.Count - 1].rpm.ToString();
- summaryUserControl.speedInfoBox.Text = measurments[measurments.Count - 1].speed.ToString();
- summaryUserControl.distanceInfoBox.Text = measurments[measurments.Count - 1].distance.ToString();
- summaryUserControl.requestedBox.Text = measurments[measurments.Count - 1].requestedPower.ToString();
- summaryUserControl.energyInfoBox.Text = measurments[measurments.Count - 1].energy.ToString();
- summaryUserControl.timeBox.Text = measurments[measurments.Count - 1].time.ToString();
- summaryUserControl.actualBox.Text = measurments[measurments.Count - 1].actualPower.ToString();
- //fill speedpoints
- for (int i = 0; i < measurments.Count; i++)
- {
- speedPoints.Add(new DataPoint(measurments[i].time, measurments[i].speed));
- }
- //fill speedgraph
- summaryUserControl.speedChart.Series[0].Points.Clear();
- for (int i = 0; i < speedPoints.Count; i++)
- summaryUserControl.speedChart.Series[0].Points.Add(speedPoints[i]);
- summaryUserControl.speedChart.Update();
- //fill bpm
- for (int i = 0; i < measurments.Count; i++)
- {
- bpmPoints.Add(new DataPoint(measurments[i].time, measurments[i].bpm));
- }
- //fill bpmgraph
- summaryUserControl.bpmChart.Series[0].Points.Clear();
- for (int i = 0; i < bpmPoints.Count; i++)
- summaryUserControl.bpmChart.Series[0].Points.Add(bpmPoints[i]);
- summaryUserControl.bpmChart.Update();
- //fill rpm
- for (int i = 0; i < measurments.Count; i++)
- {
- rpmPoints.Add(new DataPoint(measurments[i].time, measurments[i].rpm));
- }
- //fill rpmgraph
- summaryUserControl.rpmChart.Series[0].Points.Clear();
- for (int i = 0; i < rpmPoints.Count; i++)
- summaryUserControl.rpmChart.Series[0].Points.Add(rpmPoints[i]);
- summaryUserControl.rpmChart.Update();
- }
- private void PatientBox_SelectedIndexChanged(object sender, EventArgs e)
- {
- foreach (User user in users)
- {
- if (user.id == PatientBox.Text)
- foreach (Session session in user.GetSessions())
- {
- sessionsBox.Items.Add(session.date.ToString());
- }
- }
- }
- }
- }
|