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.Text;
|
||||
|
||||
namespace TrackerLibrary
|
||||
namespace TrackerLibrary.Models
|
||||
{
|
||||
public class MatchupEntryModel
|
||||
{
|
||||
@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TrackerLibrary
|
||||
namespace TrackerLibrary.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents one match in the tournament.
|
||||
@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace TrackerLibrary
|
||||
namespace TrackerLibrary.Models
|
||||
{
|
||||
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.Text;
|
||||
|
||||
namespace TrackerLibrary
|
||||
namespace TrackerLibrary.Models
|
||||
{
|
||||
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.Name = "placeNumberValue";
|
||||
this.placeNumberValue.Size = new System.Drawing.Size(234, 35);
|
||||
this.placeNumberValue.TabIndex = 14;
|
||||
this.placeNumberValue.TabIndex = 1;
|
||||
//
|
||||
// placeNumberLabel
|
||||
//
|
||||
@ -78,7 +78,8 @@
|
||||
this.prizePercentageValue.Location = new System.Drawing.Point(183, 296);
|
||||
this.prizePercentageValue.Name = "prizePercentageValue";
|
||||
this.prizePercentageValue.Size = new System.Drawing.Size(234, 35);
|
||||
this.prizePercentageValue.TabIndex = 16;
|
||||
this.prizePercentageValue.TabIndex = 4;
|
||||
this.prizePercentageValue.Text = "0";
|
||||
//
|
||||
// prizePercentageLabel
|
||||
//
|
||||
@ -97,7 +98,8 @@
|
||||
this.prizeAmountValue.Location = new System.Drawing.Point(183, 185);
|
||||
this.prizeAmountValue.Name = "prizeAmountValue";
|
||||
this.prizeAmountValue.Size = new System.Drawing.Size(234, 35);
|
||||
this.prizeAmountValue.TabIndex = 18;
|
||||
this.prizeAmountValue.TabIndex = 3;
|
||||
this.prizeAmountValue.Text = "0";
|
||||
//
|
||||
// prizeAmountLabel
|
||||
//
|
||||
@ -116,7 +118,7 @@
|
||||
this.placeNameValue.Location = new System.Drawing.Point(183, 134);
|
||||
this.placeNameValue.Name = "placeNameValue";
|
||||
this.placeNameValue.Size = new System.Drawing.Size(234, 35);
|
||||
this.placeNameValue.TabIndex = 20;
|
||||
this.placeNameValue.TabIndex = 2;
|
||||
//
|
||||
// placeNameLabel
|
||||
//
|
||||
@ -154,6 +156,7 @@
|
||||
this.createPrizeButton.TabIndex = 24;
|
||||
this.createPrizeButton.Text = "Create Prize";
|
||||
this.createPrizeButton.UseVisualStyleBackColor = true;
|
||||
this.createPrizeButton.Click += new System.EventHandler(this.createPrizeButton_Click);
|
||||
//
|
||||
// CreatePrizeForm
|
||||
//
|
||||
|
||||
@ -7,6 +7,8 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TrackerLibrary;
|
||||
using TrackerLibrary.Models;
|
||||
|
||||
namespace TrackerUI
|
||||
{
|
||||
@ -16,5 +18,77 @@ namespace TrackerUI
|
||||
{
|
||||
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.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>
|
||||
<None Include="App.config" />
|
||||
</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" />
|
||||
</Project>
|
||||
Reference in New Issue
Block a user