PatientForm.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.IO.Ports;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. using FietsClient.JSONObjecten;
  13. namespace FietsClient
  14. {
  15. public partial class PatientForm : Form
  16. {
  17. private TcpConnection _connection;
  18. private PatientModel patienModel;
  19. public PatientForm(TcpConnection connection)
  20. {
  21. this._connection = connection;
  22. InitializeComponent();
  23. patienModel = PatientModel.patientModel;
  24. patienModel.patientform = this;
  25. DataHandler.IncomingErrorEvent += HandleError; //initialize event
  26. _connection.IncomingChatmessageEvent += new TcpConnection.ChatmassegeDelegate(printMessage);
  27. }
  28. private void HandleError(string error)
  29. {
  30. switch (error)
  31. {
  32. case "WrongComPort":
  33. toolStripComboBox1.Text = "";
  34. MessageBox.Show("ERROR: Comport not initialized... trying to close the comport", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
  35. break;
  36. case "NotConnectedToBike":
  37. MessageBox.Show("ERROR: Not connected to bike.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
  38. break;
  39. default:
  40. break;
  41. }
  42. }
  43. private void Form1_Load(object sender, EventArgs e)
  44. {
  45. string[] ports = SerialPort.GetPortNames();
  46. toolStripComboBox1.Items.AddRange(ports);
  47. MenuSessionItems();
  48. }
  49. private void requestDataToolStripMenuItem_Click(object sender, EventArgs e)
  50. {
  51. patienModel.startAskingData();
  52. }
  53. private void closePortToolStripMenuItem_Click(object sender, EventArgs e)
  54. {
  55. patienModel.closeComPort();
  56. }
  57. private void openPortToolStripMenuItem_Click(object sender, EventArgs e)
  58. {
  59. patienModel.startComPort(toolStripComboBox1.SelectedItem.ToString());
  60. requestDataToolStripMenuItem.Enabled = true;
  61. closePortToolStripMenuItem.Enabled = true;
  62. }
  63. private void confirmDistanceBox_Click(object sender, EventArgs e)
  64. {
  65. int n;
  66. if (int.TryParse(distanceBox.Text, out n))
  67. {
  68. patienModel.setDistanceMode(distanceBox.Text);
  69. }
  70. else
  71. {
  72. MessageBox.Show("Distance is not a valid number.");
  73. }
  74. }
  75. private void confirmTimeBox_Click(object sender, EventArgs e)
  76. {
  77. int minutes, seconds;
  78. bool isNumericS = int.TryParse(minuteBox.Text, out minutes);
  79. bool isNumericM = int.TryParse(secondBox.Text, out seconds);
  80. if (isNumericM)
  81. {
  82. if (isNumericS)
  83. patienModel.setTimeMode(minutes + ":" + seconds);
  84. else MessageBox.Show("Minutes is not a valid number.");
  85. }
  86. else MessageBox.Show("Seconds is not a valid number.");
  87. }
  88. private void stopTrainingToolStripMenuItem_Click(object sender, EventArgs e)
  89. {
  90. patienModel.reset();
  91. }
  92. private void setPower_Click(object sender, EventArgs e)
  93. {
  94. int n;
  95. if (int.TryParse(powerBox.Text, out n))
  96. patienModel.setPower(powerBox.Text);
  97. else
  98. MessageBox.Show("Power is not a valid number.");
  99. }
  100. private void sendButton_Click(object sender, EventArgs e)
  101. {
  102. if(messageBox.Text != null)
  103. {
  104. string message = messageBox.Text;
  105. messageBox.Clear();
  106. _connection.SendChatMessage(message);
  107. }
  108. }
  109. private void messageBox_KeyPress(object sender, KeyPressEventArgs e)
  110. {
  111. sendButton_Click(sender, e);
  112. }
  113. private void MenuSessionItems()
  114. {
  115. foreach (Session s in _connection.currentData.GetSessions())
  116. {
  117. selectSessionToolStripMenuItem.DropDownItems.Add(
  118. new ToolStripMenuItem(s.id.ToString(), null, delegate
  119. {
  120. // Load Session data
  121. })
  122. );
  123. }
  124. }
  125. private void printMessage(string[] data)
  126. {
  127. string finalMessage = data[1] + ":\t\t" + data[3] + "\r\n";
  128. chatBox.AppendText(finalMessage);
  129. }
  130. }
  131. }