cs1 improvements
This commit is contained in:
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||||
</startup>
|
</startup>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
@@ -51,7 +51,15 @@ namespace PoloClubApp
|
|||||||
/// <returns>List of wearable devices.</returns>
|
/// <returns>List of wearable devices.</returns>
|
||||||
public List<Device> GetAllWearables()
|
public List<Device> GetAllWearables()
|
||||||
{
|
{
|
||||||
return devices.Where(d => d is IWearable).ToList();
|
List<Device> wearables = new List<Device>();
|
||||||
|
foreach (Device device in devices)
|
||||||
|
{
|
||||||
|
if (device is IWearable)
|
||||||
|
{
|
||||||
|
wearables.Add(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return wearables;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -62,8 +70,8 @@ namespace PoloClubApp
|
|||||||
/// <exception cref="Exception">Thrown if device is not found.</exception>
|
/// <exception cref="Exception">Thrown if device is not found.</exception>
|
||||||
public void AssignDevice(int id, string playerName)
|
public void AssignDevice(int id, string playerName)
|
||||||
{
|
{
|
||||||
var device = GetDeviceById(id) ?? throw new Exception("Device not found");
|
Device device = GetDeviceById(id) ?? throw new Exception("Device not found");
|
||||||
var waterResistance = (device as IWearable)?.GetWaterResistanceMeters();
|
int? waterResistance = (device as IWearable)?.GetWaterResistanceMeters();
|
||||||
device.AssignDevice(playerName, waterResistance);
|
device.AssignDevice(playerName, waterResistance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +82,7 @@ namespace PoloClubApp
|
|||||||
/// <returns>True if successful, false if device not found.</returns>
|
/// <returns>True if successful, false if device not found.</returns>
|
||||||
public bool ReturnDevice(int id)
|
public bool ReturnDevice(int id)
|
||||||
{
|
{
|
||||||
var device = GetDeviceById(id);
|
Device device = GetDeviceById(id);
|
||||||
return device?.ReturnDevice() ?? false;
|
return device?.ReturnDevice() ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,8 +103,8 @@ namespace PoloClubApp
|
|||||||
/// <returns>Formatted report lines.</returns>
|
/// <returns>Formatted report lines.</returns>
|
||||||
public List<string> GenerateReportPerPlayer(string playerName)
|
public List<string> GenerateReportPerPlayer(string playerName)
|
||||||
{
|
{
|
||||||
var assignedDevices = GetAllAssignedDevicesByPlayer(playerName);
|
List<Device> assignedDevices = GetAllAssignedDevicesByPlayer(playerName);
|
||||||
var report = new List<string>
|
List<string> report = new List<string>
|
||||||
{
|
{
|
||||||
$"List of devices assigned to {playerName}",
|
$"List of devices assigned to {playerName}",
|
||||||
"Phones",
|
"Phones",
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ namespace PoloClubApp {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>True if assigned, false otherwise.</returns>
|
/// <returns>True if assigned, false otherwise.</returns>
|
||||||
public bool IsAssigned(){
|
public bool IsAssigned(){
|
||||||
return !string.IsNullOrEmpty(PlayerName);
|
return !string.IsNullOrEmpty(PlayerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -68,17 +68,16 @@ namespace PoloClubApp {
|
|||||||
/// <param name="playerName">Name of the player to assign to.</param>
|
/// <param name="playerName">Name of the player to assign to.</param>
|
||||||
/// <param name="waterResistanceMeters">Water resistance for wearables (nullable).</param>
|
/// <param name="waterResistanceMeters">Water resistance for wearables (nullable).</param>
|
||||||
/// <exception cref="Exception">Throws when assignment fails.</exception>
|
/// <exception cref="Exception">Throws when assignment fails.</exception>
|
||||||
public void AssignDevice(string playerName, int? waterResistanceMeters)
|
public void AssignDevice(string playerName, int? waterResistanceMeters){
|
||||||
{
|
if (IsAssigned()){
|
||||||
if (IsAssigned())
|
|
||||||
throw new Exception("Device is already assigned");
|
throw new Exception("Device is already assigned");
|
||||||
|
}
|
||||||
if (this is IWearable && waterResistanceMeters < 3)
|
if (this is IWearable && waterResistanceMeters < 3){
|
||||||
throw new Exception("Water resistance must be 3 meters or more for wearables");
|
throw new Exception("Water resistance must be 3 meters or more for wearables");
|
||||||
|
}
|
||||||
if (Id == 0)
|
if (Id == 0){
|
||||||
throw new Exception("Invalid device ID");
|
throw new Exception("Invalid device ID");
|
||||||
|
}
|
||||||
PlayerName = playerName;
|
PlayerName = playerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,11 +86,11 @@ namespace PoloClubApp {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>True if successful, false if device wasn't assigned.</returns>
|
/// <returns>True if successful, false if device wasn't assigned.</returns>
|
||||||
public bool ReturnDevice(){
|
public bool ReturnDevice(){
|
||||||
if (!IsAssigned())
|
if (!IsAssigned()){
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
PlayerName = null;
|
PlayerName = null;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<RootNamespace>PoloClubApp</RootNamespace>
|
<RootNamespace>PoloClubApp</RootNamespace>
|
||||||
<AssemblyName>PoloClubApp</AssemblyName>
|
<AssemblyName>PoloClubApp</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
|
|||||||
@@ -202,7 +202,6 @@
|
|||||||
//
|
//
|
||||||
// saveFileDialog1
|
// saveFileDialog1
|
||||||
//
|
//
|
||||||
this.saveFileDialog1.FileOk += new System.ComponentModel.CancelEventHandler(this.saveFileDialog1_FileOk);
|
|
||||||
//
|
//
|
||||||
// PoloClubAppForm
|
// PoloClubAppForm
|
||||||
//
|
//
|
||||||
@@ -215,7 +214,6 @@
|
|||||||
this.Controls.Add(this.lbOverview);
|
this.Controls.Add(this.lbOverview);
|
||||||
this.Name = "PoloClubAppForm";
|
this.Name = "PoloClubAppForm";
|
||||||
this.Text = "Form1";
|
this.Text = "Form1";
|
||||||
this.Load += new System.EventHandler(this.PoloClubAppForm_Load);
|
|
||||||
this.groupBox1.ResumeLayout(false);
|
this.groupBox1.ResumeLayout(false);
|
||||||
this.groupBox2.ResumeLayout(false);
|
this.groupBox2.ResumeLayout(false);
|
||||||
this.groupBox2.PerformLayout();
|
this.groupBox2.PerformLayout();
|
||||||
|
|||||||
@@ -19,14 +19,14 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace PoloClubApp {
|
namespace PoloClubApp {
|
||||||
public partial class PoloClubAppForm : Form {
|
public partial class PoloClubAppForm : Form {
|
||||||
// Provide your answers here
|
// Provide your answers here
|
||||||
private void btnViewAllWearables_Click(object sender, EventArgs e){
|
private void btnViewAllWearables_Click(object sender, EventArgs e){
|
||||||
List<Device> wearables = myClub.GetAllWearables();
|
List<Device> wearables = myClub.GetAllWearables();
|
||||||
lbOverview.Items.Clear();
|
lbOverview.Items.Clear();
|
||||||
foreach (Device wearable in wearables)
|
foreach (Device wearable in wearables){
|
||||||
{
|
|
||||||
lbOverview.Items.Add(wearable.GetDetails());
|
lbOverview.Items.Add(wearable.GetDetails());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,16 +34,19 @@ namespace PoloClubApp {
|
|||||||
private void btnAssign_Click(object sender, EventArgs e){
|
private void btnAssign_Click(object sender, EventArgs e){
|
||||||
try {
|
try {
|
||||||
if (string.IsNullOrWhiteSpace(tbPlayerName.Text)){
|
if (string.IsNullOrWhiteSpace(tbPlayerName.Text)){
|
||||||
MessageBox.Show("Please enter a player name");
|
MessageBox.Show("Please enter a player name.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cbDevice.SelectedItem == null){
|
||||||
|
MessageBox.Show("Please select a device.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!int.TryParse(cbDevice.SelectedItem.ToString(), out int deviceId)){
|
||||||
|
MessageBox.Show("Invalid device selection. Please select a valid device.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int deviceId = int.Parse(cbDevice.SelectedItem.ToString());
|
|
||||||
myClub.AssignDevice(deviceId, tbPlayerName.Text);
|
myClub.AssignDevice(deviceId, tbPlayerName.Text);
|
||||||
MessageBox.Show("Device assigned successfully");
|
MessageBox.Show("Device assigned successfully.");
|
||||||
}
|
|
||||||
catch (FormatException){
|
|
||||||
MessageBox.Show("Please select a valid device");
|
|
||||||
}
|
}
|
||||||
catch (Exception ex){
|
catch (Exception ex){
|
||||||
MessageBox.Show($"Error assigning device: {ex.Message}");
|
MessageBox.Show($"Error assigning device: {ex.Message}");
|
||||||
@@ -62,17 +65,15 @@ namespace PoloClubApp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void btnGeneratePlayerTextReport_Click(object sender, EventArgs e)
|
||||||
private void btnGeneratePlayerTextReport_Click(object sender, EventArgs e){
|
{
|
||||||
List<string> report = myClub.GenerateReportPerPlayer(tbPlayerName.Text);
|
List<string> report = myClub.GenerateReportPerPlayer(tbPlayerNameForFile.Text);
|
||||||
lbOverview.Items.Clear();
|
lbOverview.Items.Clear();
|
||||||
foreach (string line in report){
|
foreach (string line in report){
|
||||||
lbOverview.Items.Add(line);
|
lbOverview.Items.Add(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// -----The provided code below will not be graded, therefore should not be changed-----
|
// -----The provided code below will not be graded, therefore should not be changed-----
|
||||||
|
|
||||||
private Club myClub;
|
private Club myClub;
|
||||||
@@ -103,12 +104,13 @@ namespace PoloClubApp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnViewAllDevices_Click(object sender, EventArgs e){
|
private void btnViewAllDevices_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
this.lbOverview.Items.Clear();
|
this.lbOverview.Items.Clear();
|
||||||
foreach (Device dev in myClub.GetAllDevices()){
|
foreach (Device dev in myClub.GetAllDevices())
|
||||||
|
{
|
||||||
this.lbOverview.Items.Add(dev.GetDetails());
|
this.lbOverview.Items.Add(dev.GetDetails());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace PoloClubApp.Properties {
|
|||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.13.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.12.0.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||||
</startup>
|
</startup>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
2dd441a6dcab245f72940a1e3dc8fb177864ab58
|
90cb8bf3ebafd798eee9d80691d19f1b5819e6787f258fb71804932ed0b5e337
|
||||||
|
|||||||
@@ -27,3 +27,13 @@ C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.csproj.GenerateResourc
|
|||||||
C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.csproj.CoreCompileInputs.cache
|
C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.csproj.CoreCompileInputs.cache
|
||||||
C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.exe
|
C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.exe
|
||||||
C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.pdb
|
C:\Users\Rens\Downloads\PoloClubApp\obj\Debug\PoloClubApp.pdb
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.PoloClubAppForm.resources
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.Properties.Resources.resources
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.csproj.GenerateResource.cache
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.exe
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\obj\Debug\PoloClubApp.pdb
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\bin\Debug\PoloClubApp.exe.config
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\bin\Debug\PoloClubApp.exe
|
||||||
|
C:\Users\Gebruiker\T2\CS\CS1 PoloClubApp_RensPastoor\bin\Debug\PoloClubApp.pdb
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user