Before implementing save to textfiles

This commit is contained in:
2020-04-06 23:50:25 +02:00
parent d6f251c822
commit 137d012ab3
7 changed files with 123 additions and 8 deletions

View File

@ -74,7 +74,7 @@ namespace TrackerLibrary.DataAccess
model.Id = p.Get<int>("@Id");
foreach(PersonModel tm in model.TeamMembers)
foreach (PersonModel tm in model.TeamMembers)
{
p = new DynamicParameters();
p.Add("@TeamId", model.Id);
@ -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()
{
@ -107,11 +166,11 @@ namespace TrackerLibrary.DataAccess
{
output = connection.Query<TeamModel>("dbo.spTeam_GetAll").ToList();
foreach(TeamModel team in output)
foreach (TeamModel team in output)
{
var p = new DynamicParameters();
p.Add("@TeamId", team.Id);
team.TeamMembers = connection.Query<PersonModel>("dbo.spTeamMembers_GetByTeam",p, commandType: CommandType.StoredProcedure).ToList();
team.TeamMembers = connection.Query<PersonModel>("dbo.spTeamMembers_GetByTeam", p, commandType: CommandType.StoredProcedure).ToList();
}
}
return output;