Wireup window with access methods + refaktor structure
This commit is contained in:
12
TrackerLibrary/DataAccess/IDataConnection.cs
Normal file
12
TrackerLibrary/DataAccess/IDataConnection.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using TrackerLibrary.Models;
|
||||||
|
|
||||||
|
namespace TrackerLibrary.DataAccess
|
||||||
|
{
|
||||||
|
public interface IDataConnection
|
||||||
|
{
|
||||||
|
PrizeModel CreatePrize(PrizeModel model);
|
||||||
|
}
|
||||||
|
}
|
||||||
21
TrackerLibrary/DataAccess/SqlConnector.cs
Normal file
21
TrackerLibrary/DataAccess/SqlConnector.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace TrackerLibrary.DataAccess
|
||||||
|
{
|
||||||
|
public class SqlConnector : IDataConnection
|
||||||
|
{
|
||||||
|
// TODO - Make the CreatePrize method actually save to the database
|
||||||
|
/// <summary>
|
||||||
|
/// Saves a prize to the database
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="model">The prize information.</param>
|
||||||
|
/// <returns>The prize information, including the unique identifier.</returns>
|
||||||
|
public Models.PrizeModel CreatePrize(Models.PrizeModel model)
|
||||||
|
{
|
||||||
|
model.Id = 1;
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
TrackerLibrary/DataAccess/TextConnector.cs
Normal file
17
TrackerLibrary/DataAccess/TextConnector.cs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using TrackerLibrary.Models;
|
||||||
|
|
||||||
|
namespace TrackerLibrary.DataAccess
|
||||||
|
{
|
||||||
|
public class TextConnector : IDataConnection
|
||||||
|
{
|
||||||
|
// TODO - Wire up the createPrize for textFiles
|
||||||
|
public PrizeModel CreatePrize(PrizeModel model)
|
||||||
|
{
|
||||||
|
model.Id = 1;
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
28
TrackerLibrary/GlobalConfig.cs
Normal file
28
TrackerLibrary/GlobalConfig.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using TrackerLibrary.DataAccess;
|
||||||
|
|
||||||
|
namespace TrackerLibrary
|
||||||
|
{
|
||||||
|
public static class GlobalConfig
|
||||||
|
{
|
||||||
|
public static List<IDataConnection> Connections { get; private set; } = new List<IDataConnection>();
|
||||||
|
public static void InitializeConnections(bool database, bool textFiles)
|
||||||
|
{
|
||||||
|
if (database)
|
||||||
|
{
|
||||||
|
// TODO - Set up the sql connector properly !
|
||||||
|
SqlConnector sql = new SqlConnector();
|
||||||
|
Connections.Add(sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (textFiles)
|
||||||
|
{
|
||||||
|
// TODO - Create the text Connection
|
||||||
|
TextConnector text = new TextConnector();
|
||||||
|
Connections.Add(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,7 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace TrackerLibrary
|
namespace TrackerLibrary.Models
|
||||||
{
|
{
|
||||||
public class MatchupEntryModel
|
public class MatchupEntryModel
|
||||||
{
|
{
|
||||||
@ -2,7 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace TrackerLibrary
|
namespace TrackerLibrary.Models
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents one match in the tournament.
|
/// Represents one match in the tournament.
|
||||||
@ -2,7 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace TrackerLibrary
|
namespace TrackerLibrary.Models
|
||||||
{
|
{
|
||||||
public class PersonModel
|
public class PersonModel
|
||||||
{
|
{
|
||||||
40
TrackerLibrary/Models/PrizeModel.cs
Normal file
40
TrackerLibrary/Models/PrizeModel.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace TrackerLibrary.Models
|
||||||
|
{
|
||||||
|
public class PrizeModel
|
||||||
|
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The unique identifier for the prize
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
public int PlaceNumber { get; set; }
|
||||||
|
public string PlaceName { get; set; }
|
||||||
|
public decimal PrizeAmount { get; set; }
|
||||||
|
public double PrizePercentage { get; set; }
|
||||||
|
|
||||||
|
public PrizeModel()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public PrizeModel(string placeName, string placeNumber, string prizeAmount, string prizePercentage)
|
||||||
|
{
|
||||||
|
PlaceName = placeName;
|
||||||
|
|
||||||
|
int placeNumberValue = 0;
|
||||||
|
int.TryParse(placeNumber, out placeNumberValue);
|
||||||
|
PlaceNumber = placeNumberValue;
|
||||||
|
|
||||||
|
decimal prizeAmountValue = 0;
|
||||||
|
decimal.TryParse(prizeAmount, out prizeAmountValue);
|
||||||
|
PrizeAmount = prizeAmountValue;
|
||||||
|
|
||||||
|
double prizePercentageValue = 0;
|
||||||
|
double.TryParse(prizePercentage, out prizePercentageValue);
|
||||||
|
PrizePercentage = prizePercentageValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,7 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace TrackerLibrary
|
namespace TrackerLibrary.Models
|
||||||
{
|
{
|
||||||
public class TeamModel
|
public class TeamModel
|
||||||
{
|
{
|
||||||
15
TrackerLibrary/Models/TournamentModel.cs
Normal file
15
TrackerLibrary/Models/TournamentModel.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace TrackerLibrary.Models
|
||||||
|
{
|
||||||
|
public class TournamentModel
|
||||||
|
{
|
||||||
|
public string TournamentName { get; set; }
|
||||||
|
public decimal EntryFee { get; set; }
|
||||||
|
public List<Models.TeamModel> EnteredTeams { get; set; } = new List<Models.TeamModel>();
|
||||||
|
public List<Models.PrizeModel> Prizes { get; set; } = new List<Models.PrizeModel>();
|
||||||
|
public List<List<Models.MatchupModel>> MyProperty { get; set; } = new List<List<Models.MatchupModel>>();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace TrackerLibrary
|
|
||||||
{
|
|
||||||
public class PrizeModel
|
|
||||||
|
|
||||||
{
|
|
||||||
public int PlaceNumber { get; set; }
|
|
||||||
public string PlaceName { get; set; }
|
|
||||||
public decimal PrizeAmount { get; set; }
|
|
||||||
public double PrizePercentage { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace TrackerLibrary
|
|
||||||
{
|
|
||||||
public class TournamentModel
|
|
||||||
{
|
|
||||||
public string TournamentName { get; set; }
|
|
||||||
public decimal EntryFee { get; set; }
|
|
||||||
public List<TeamModel> EnteredTeams { get; set; } = new List<TeamModel>();
|
|
||||||
public List<PrizeModel> Prizes { get; set; } = new List<PrizeModel>();
|
|
||||||
public List<List<MatchupModel>> MyProperty { get; set; } = new List<List<MatchupModel>>();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
11
TrackerUI/CreatePrizeForm.Designer.cs
generated
11
TrackerUI/CreatePrizeForm.Designer.cs
generated
@ -59,7 +59,7 @@
|
|||||||
this.placeNumberValue.Location = new System.Drawing.Point(183, 83);
|
this.placeNumberValue.Location = new System.Drawing.Point(183, 83);
|
||||||
this.placeNumberValue.Name = "placeNumberValue";
|
this.placeNumberValue.Name = "placeNumberValue";
|
||||||
this.placeNumberValue.Size = new System.Drawing.Size(234, 35);
|
this.placeNumberValue.Size = new System.Drawing.Size(234, 35);
|
||||||
this.placeNumberValue.TabIndex = 14;
|
this.placeNumberValue.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// placeNumberLabel
|
// placeNumberLabel
|
||||||
//
|
//
|
||||||
@ -78,7 +78,8 @@
|
|||||||
this.prizePercentageValue.Location = new System.Drawing.Point(183, 296);
|
this.prizePercentageValue.Location = new System.Drawing.Point(183, 296);
|
||||||
this.prizePercentageValue.Name = "prizePercentageValue";
|
this.prizePercentageValue.Name = "prizePercentageValue";
|
||||||
this.prizePercentageValue.Size = new System.Drawing.Size(234, 35);
|
this.prizePercentageValue.Size = new System.Drawing.Size(234, 35);
|
||||||
this.prizePercentageValue.TabIndex = 16;
|
this.prizePercentageValue.TabIndex = 4;
|
||||||
|
this.prizePercentageValue.Text = "0";
|
||||||
//
|
//
|
||||||
// prizePercentageLabel
|
// prizePercentageLabel
|
||||||
//
|
//
|
||||||
@ -97,7 +98,8 @@
|
|||||||
this.prizeAmountValue.Location = new System.Drawing.Point(183, 185);
|
this.prizeAmountValue.Location = new System.Drawing.Point(183, 185);
|
||||||
this.prizeAmountValue.Name = "prizeAmountValue";
|
this.prizeAmountValue.Name = "prizeAmountValue";
|
||||||
this.prizeAmountValue.Size = new System.Drawing.Size(234, 35);
|
this.prizeAmountValue.Size = new System.Drawing.Size(234, 35);
|
||||||
this.prizeAmountValue.TabIndex = 18;
|
this.prizeAmountValue.TabIndex = 3;
|
||||||
|
this.prizeAmountValue.Text = "0";
|
||||||
//
|
//
|
||||||
// prizeAmountLabel
|
// prizeAmountLabel
|
||||||
//
|
//
|
||||||
@ -116,7 +118,7 @@
|
|||||||
this.placeNameValue.Location = new System.Drawing.Point(183, 134);
|
this.placeNameValue.Location = new System.Drawing.Point(183, 134);
|
||||||
this.placeNameValue.Name = "placeNameValue";
|
this.placeNameValue.Name = "placeNameValue";
|
||||||
this.placeNameValue.Size = new System.Drawing.Size(234, 35);
|
this.placeNameValue.Size = new System.Drawing.Size(234, 35);
|
||||||
this.placeNameValue.TabIndex = 20;
|
this.placeNameValue.TabIndex = 2;
|
||||||
//
|
//
|
||||||
// placeNameLabel
|
// placeNameLabel
|
||||||
//
|
//
|
||||||
@ -154,6 +156,7 @@
|
|||||||
this.createPrizeButton.TabIndex = 24;
|
this.createPrizeButton.TabIndex = 24;
|
||||||
this.createPrizeButton.Text = "Create Prize";
|
this.createPrizeButton.Text = "Create Prize";
|
||||||
this.createPrizeButton.UseVisualStyleBackColor = true;
|
this.createPrizeButton.UseVisualStyleBackColor = true;
|
||||||
|
this.createPrizeButton.Click += new System.EventHandler(this.createPrizeButton_Click);
|
||||||
//
|
//
|
||||||
// CreatePrizeForm
|
// CreatePrizeForm
|
||||||
//
|
//
|
||||||
|
|||||||
@ -7,6 +7,8 @@ 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;
|
||||||
|
using TrackerLibrary;
|
||||||
|
using TrackerLibrary.Models;
|
||||||
|
|
||||||
namespace TrackerUI
|
namespace TrackerUI
|
||||||
{
|
{
|
||||||
@ -16,5 +18,77 @@ namespace TrackerUI
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createPrizeButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ValidateForm())
|
||||||
|
{
|
||||||
|
PrizeModel model = new PrizeModel(
|
||||||
|
placeNameValue.Text,
|
||||||
|
placeNumberValue.Text,
|
||||||
|
prizeAmountValue.Text,
|
||||||
|
prizePercentageValue.Text);
|
||||||
|
|
||||||
|
foreach (var db in GlobalConfig.Connections)
|
||||||
|
{
|
||||||
|
db.CreatePrize(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
placeNameValue.Text = "";
|
||||||
|
placeNumberValue.Text = "";
|
||||||
|
prizeAmountValue.Text = "0";
|
||||||
|
prizePercentageValue.Text = "0";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show("This form has invalid information. Please check it and try again.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool ValidateForm()
|
||||||
|
{
|
||||||
|
bool output = true;
|
||||||
|
int placeNumber = 0;
|
||||||
|
bool placeNumberValidator = int.TryParse(placeNumberValue.Text, out placeNumber);
|
||||||
|
|
||||||
|
if (!placeNumberValidator)
|
||||||
|
{
|
||||||
|
output = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (placeNumber < 1)
|
||||||
|
{
|
||||||
|
output = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (placeNameValue.Text.Length == 0)
|
||||||
|
{
|
||||||
|
output = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
decimal prizeAmount = 0;
|
||||||
|
int prizePercentage = 0;
|
||||||
|
|
||||||
|
bool prizeAmountValid = decimal.TryParse(prizeAmountValue.Text, out prizeAmount);
|
||||||
|
bool prizePercentageValid = int.TryParse(prizeAmountValue.Text, out prizePercentage);
|
||||||
|
|
||||||
|
if (prizePercentageValid == false || prizeAmountValid == false)
|
||||||
|
{
|
||||||
|
output = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prizeAmount <= 0 && prizePercentage <= 0)
|
||||||
|
{
|
||||||
|
output = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prizePercentage < 0 || prizePercentage > 100)
|
||||||
|
{
|
||||||
|
output = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,12 @@ namespace TrackerUI
|
|||||||
{
|
{
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new TournamentViewerForm());
|
|
||||||
|
// Initialize the database connections
|
||||||
|
TrackerLibrary.GlobalConfig.InitializeConnections(true, true);
|
||||||
|
Application.Run(new CreatePrizeForm());
|
||||||
|
|
||||||
|
//Application.Run(new TournamentDashboardForm());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -115,5 +115,11 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\TrackerLibrary\TrackerLibrary.csproj">
|
||||||
|
<Project>{b4ffd708-5d53-4d58-b5a6-5691020ef6dc}</Project>
|
||||||
|
<Name>TrackerLibrary</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
||||||
Reference in New Issue
Block a user