Files
ErgometerApplication/ErgometerApplication/ErgometerApplication/ClientApplicatie.cs
T

149 lines
4.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
using System.IO;
using System.Net.Sockets;
using System.Net;
using System.Timers;
using ErgometerLibrary;
namespace ErgometerApplication
{
public partial class ClientApplicatie : Form
{
public PanelClientChat chat;
private int count;
public ClientApplicatie()
{
InitializeComponent();
MainClient.Init(this);
count = 0;
}
private void updateTimer_Tick(object sender, EventArgs e)
{
if(MainClient.Doctor.Connected)
{
MainClient.ComPort.Write("ST");
string response = MainClient.ComPort.Read();
if (response != "err")
{
Meting m = MainClient.SaveMeting(response);
heartBeat.updateValue(m.HeartBeat);
RPM.updateValue(m.RPM);
speed.updateValue(m.Speed);
distance.updateValue(m.Distance);
power.updateValue(m.Power);
energy.updateValue(m.Energy);
actualpower.updateValue(m.ActualPower);
if (count >= 10)
{
count = 0;
panelGraphView.updateAllCharts(MainClient.Metingen);
}
count++;
}
else
{
logout("De Ergometer is niet meer verbonden.", Color.Red);
}
}
}
public void validateLogin(string username, string password)
{
if (username.Length > 0)
{
if (password.Length == 0)
{
panelLogin.lblVerification.Text = "Vul een wachtwoord in.";
panelLogin.lblVerification.ForeColor = Color.Red;
panelLogin.lblVerification.Visible = true;
}
if (password.Length > 0)
{
string error = "";
bool connect = MainClient.Connect(SerialPort.GetPortNames()[0], username, password, out error);
if (connect)
{
panelClientContainer.BringToFront();
chat = panelClientChat;
this.labelUsername.Text = panelLogin.textBoxUsername.Text;
panelTopBar.Visible = true;
updateTimer.Start();
}
else
{
panelLogin.lblVerification.Text = error;
panelLogin.lblVerification.ForeColor = Color.Red;
panelLogin.lblVerification.Visible = true;
}
}
}
else
{
panelLogin.lblVerification.Text = "Vul een gebruikersnaam in.";
panelLogin.lblVerification.ForeColor = Color.Red;
panelLogin.lblVerification.Visible = true;
}
}
private void ClientApplicatie_Resize(object sender, System.EventArgs e)
{
Control control = (Control)sender;
if (control.Size.Width < 980)
{
panelGraphView.Visible = false;
panelClientChat.Width = 400;
panelDataViewLeft.Dock = DockStyle.Fill;
}
if (control.Size.Width >= 980 && control.Size.Width < 1368)
{
panelGraphView.Visible = true;
panelDataViewLeft.Width = 250;
panelClientChat.Width = 400;
panelDataViewLeft.Dock = DockStyle.Left;
}
if (control.Size.Width >= 1368)
{
panelGraphView.Visible = true;
panelDataViewLeft.Width = 400;
panelDataViewLeft.Dock = DockStyle.Left;
}
}
private void buttonLogOff_Click(object sender, EventArgs e)
{
logout("U bent uitgelogd.", Color.Blue);
}
private void logout(string message, System.Drawing.Color cl)
{
panelLogin.BringToFront();
panelTopBar.Visible = false;
panelLogin.lblVerification.Text = message;
panelLogin.lblVerification.ForeColor = cl;
panelLogin.lblVerification.Visible = true;
panelLogin.textBoxUsername.Text = "";
panelLogin.textBoxPassword.Text = "";
MainClient.Disconnect();
updateTimer.Stop();
}
}
}