Before implementing save to textfiles
This commit is contained in:
@ -10,6 +10,7 @@ namespace TrackerLibrary.DataAccess
|
|||||||
PrizeModel CreatePrize(PrizeModel model);
|
PrizeModel CreatePrize(PrizeModel model);
|
||||||
PersonModel CreatePerson(PersonModel model);
|
PersonModel CreatePerson(PersonModel model);
|
||||||
TeamModel CreateTeam(TeamModel model);
|
TeamModel CreateTeam(TeamModel model);
|
||||||
|
TournamentModel CreateTournament(TournamentModel model);
|
||||||
List<TeamModel> GetTeam_All();
|
List<TeamModel> GetTeam_All();
|
||||||
List<PersonModel> GetPerson_All();
|
List<PersonModel> GetPerson_All();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,6 +89,65 @@ namespace TrackerLibrary.DataAccess
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TournamentModel CreateTournament(TournamentModel model)
|
||||||
|
{
|
||||||
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db)))
|
||||||
|
{
|
||||||
|
DynamicParameters p = SaveTournament(model, connection);
|
||||||
|
|
||||||
|
p = SaveTournamentPrizes(model, connection, p);
|
||||||
|
|
||||||
|
p = SaveTournamentEntries(model, connection, p);
|
||||||
|
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static DynamicParameters SaveTournament(TournamentModel model, IDbConnection connection)
|
||||||
|
{
|
||||||
|
var p = new DynamicParameters();
|
||||||
|
p.Add("@TournamentName", model.TournamentName);
|
||||||
|
p.Add("@EntryFee", model.EntryFee);
|
||||||
|
p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);
|
||||||
|
|
||||||
|
connection.Execute("dbo.spTournaments_Insert", p, commandType: CommandType.StoredProcedure);
|
||||||
|
|
||||||
|
model.Id = p.Get<int>("@Id");
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static DynamicParameters SaveTournamentEntries(TournamentModel model, IDbConnection connection, DynamicParameters p)
|
||||||
|
{
|
||||||
|
foreach (TeamModel tm in model.EnteredTeams)
|
||||||
|
{
|
||||||
|
p = new DynamicParameters();
|
||||||
|
p.Add("@TournamentId", model.Id);
|
||||||
|
p.Add("@TeamId", tm.Id);
|
||||||
|
p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);
|
||||||
|
|
||||||
|
connection.Execute("dbo.spTournamentEntries_Insert", p, commandType: CommandType.StoredProcedure);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static DynamicParameters SaveTournamentPrizes(TournamentModel model, IDbConnection connection, DynamicParameters p)
|
||||||
|
{
|
||||||
|
foreach (PrizeModel pz in model.Prizes)
|
||||||
|
{
|
||||||
|
p = new DynamicParameters();
|
||||||
|
p.Add("@TournamentId", model.Id);
|
||||||
|
p.Add("@PrizeId", pz.Id);
|
||||||
|
p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);
|
||||||
|
|
||||||
|
connection.Execute("dbo.spTournamentPrizes_Insert", p, commandType: CommandType.StoredProcedure);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
public List<PersonModel> GetPerson_All()
|
public List<PersonModel> GetPerson_All()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@ -12,6 +12,8 @@ namespace TrackerLibrary.DataAccess
|
|||||||
private const string PrizesFile = "PrizeModels.csv";
|
private const string PrizesFile = "PrizeModels.csv";
|
||||||
private const string PeopleFile = "PersonModels.csv";
|
private const string PeopleFile = "PersonModels.csv";
|
||||||
private const string TeamFile = "TeamModels.csv";
|
private const string TeamFile = "TeamModels.csv";
|
||||||
|
private const string TournamentFile = "TournamentModels.csv";
|
||||||
|
|
||||||
|
|
||||||
public PersonModel CreatePerson(PersonModel model)
|
public PersonModel CreatePerson(PersonModel model)
|
||||||
{
|
{
|
||||||
@ -98,5 +100,10 @@ namespace TrackerLibrary.DataAccess
|
|||||||
{
|
{
|
||||||
return TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(PeopleFile);
|
return TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(PeopleFile);
|
||||||
}
|
}
|
||||||
|
public TournamentModel CreateTournament(TournamentModel model)
|
||||||
|
{
|
||||||
|
List<TournamentModel> tournaments = TournamentFile.FullFilePath().LoadFile().ConvertToTournamentModels();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,7 +90,10 @@ namespace TrackerLibrary.DataAccess.TextHelpers
|
|||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<TournamentModel> ConvertToTournamentModels(this List<string> lines)
|
||||||
|
{
|
||||||
|
// id, TournamentName, EntryFee, (id|id|id - entered teams), (id|id|id - entered prizes), (rounds - id^id^id|id^id^id|id^id^id)
|
||||||
|
}
|
||||||
|
|
||||||
public static void SaveToPrizeFile(this List<PrizeModel> models, string fileName)
|
public static void SaveToPrizeFile(this List<PrizeModel> models, string fileName)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,10 +6,29 @@ namespace TrackerLibrary.Models
|
|||||||
{
|
{
|
||||||
public class TournamentModel
|
public class TournamentModel
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The unique identifier for this tournament
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// The name given to this tournament
|
||||||
|
/// </summary>
|
||||||
public string TournamentName { get; set; }
|
public string TournamentName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// The amount of money each team needs to put up to enter
|
||||||
|
/// </summary>
|
||||||
public decimal EntryFee { get; set; }
|
public decimal EntryFee { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// The set of teams that have entered
|
||||||
|
/// </summary>
|
||||||
public List<Models.TeamModel> EnteredTeams { get; set; } = new List<Models.TeamModel>();
|
public List<Models.TeamModel> EnteredTeams { get; set; } = new List<Models.TeamModel>();
|
||||||
|
/// <summary>
|
||||||
|
/// The list of prizes for various places
|
||||||
|
/// </summary>
|
||||||
public List<Models.PrizeModel> Prizes { get; set; } = new List<Models.PrizeModel>();
|
public List<Models.PrizeModel> Prizes { get; set; } = new List<Models.PrizeModel>();
|
||||||
public List<List<Models.MatchupModel>> MyProperty { get; set; } = new List<List<Models.MatchupModel>>();
|
/// <summary>
|
||||||
|
/// The matchups per round
|
||||||
|
/// </summary>
|
||||||
|
public List<List<Models.MatchupModel>> Rounds { get; set; } = new List<List<Models.MatchupModel>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,6 +104,32 @@ namespace TrackerUI
|
|||||||
|
|
||||||
private void createTournamentButton_Click(object sender, EventArgs e)
|
private void createTournamentButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
//Validate data
|
||||||
|
decimal fee = 0;
|
||||||
|
bool feeAcceptable = decimal.TryParse(entryFeeValue.Text, out fee);
|
||||||
|
if (!feeAcceptable)
|
||||||
|
{
|
||||||
|
MessageBox.Show("You need to enter a valid Entry Fee.",
|
||||||
|
"Invalid Fee",
|
||||||
|
MessageBoxButtons.OK,
|
||||||
|
MessageBoxIcon.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create our tournament model
|
||||||
|
TournamentModel tm = new TournamentModel();
|
||||||
|
|
||||||
|
tm.TournamentName = tournamentNameValue.Text;
|
||||||
|
tm.EntryFee = fee;
|
||||||
|
tm.Prizes = selectedPrizes;
|
||||||
|
tm.EnteredTeams = selectedTeams;
|
||||||
|
|
||||||
|
// Wireup our matchups
|
||||||
|
|
||||||
|
// Finally create the tournament entry
|
||||||
|
// Create all of the prizes entries
|
||||||
|
// Create all of team entries
|
||||||
|
GlobalConfig.Connection.CreateTournament(tm);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ namespace TrackerUI
|
|||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
|
||||||
// Initialize the database connections
|
// Initialize the database connections
|
||||||
GlobalConfig.InitializeConnections(DatabaseType.TextFile);
|
GlobalConfig.InitializeConnections(DatabaseType.Sql);
|
||||||
Application.Run(new CreateTournamentForm());
|
Application.Run(new CreateTournamentForm());
|
||||||
|
|
||||||
//Application.Run(new TournamentDashboardForm());
|
//Application.Run(new TournamentDashboardForm());
|
||||||
|
|||||||
Reference in New Issue
Block a user