From 1361fa048e56f1c1be6c12d2773d96ea1c6c850b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommy=20=C3=96man?= Date: Wed, 15 Apr 2020 21:51:58 +0200 Subject: [PATCH] Two big refactorings done --- TrackerLibrary/DataAccess/IDataConnection.cs | 6 +-- TrackerLibrary/DataAccess/SqlConnector.cs | 10 ++-- TrackerLibrary/DataAccess/TextConnector.cs | 46 +++++++----------- .../DataAccess/TextConnectorProcessor.cs | 48 ++++++++++--------- TrackerUI/App.config | 8 ++-- TrackerUI/Program.cs | 2 +- 6 files changed, 54 insertions(+), 66 deletions(-) diff --git a/TrackerLibrary/DataAccess/IDataConnection.cs b/TrackerLibrary/DataAccess/IDataConnection.cs index c7a1b9a..af01698 100644 --- a/TrackerLibrary/DataAccess/IDataConnection.cs +++ b/TrackerLibrary/DataAccess/IDataConnection.cs @@ -7,9 +7,9 @@ namespace TrackerLibrary.DataAccess { public interface IDataConnection { - PrizeModel CreatePrize(PrizeModel model); - PersonModel CreatePerson(PersonModel model); - TeamModel CreateTeam(TeamModel model); + void CreatePrize(PrizeModel model); + void CreatePerson(PersonModel model); + void CreateTeam(TeamModel model); void CreateTournament(TournamentModel model); void UpdateMatchup(MatchupModel model); List GetTeam_All(); diff --git a/TrackerLibrary/DataAccess/SqlConnector.cs b/TrackerLibrary/DataAccess/SqlConnector.cs index 38110e5..39b94b2 100644 --- a/TrackerLibrary/DataAccess/SqlConnector.cs +++ b/TrackerLibrary/DataAccess/SqlConnector.cs @@ -18,7 +18,7 @@ namespace TrackerLibrary.DataAccess public class SqlConnector : IDataConnection { private const string db = "Tournaments"; - public PersonModel CreatePerson(PersonModel model) + public void CreatePerson(PersonModel model) { using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db))) { @@ -32,8 +32,6 @@ namespace TrackerLibrary.DataAccess connection.Execute("dbo.spPeople_Insert", p, commandType: CommandType.StoredProcedure); model.Id = p.Get("@Id"); - - return model; } } @@ -43,7 +41,7 @@ namespace TrackerLibrary.DataAccess /// /// The prize information. /// The prize information, including the unique identifier. - public Models.PrizeModel CreatePrize(Models.PrizeModel model) + public void CreatePrize(Models.PrizeModel model) { using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db))) { @@ -58,11 +56,10 @@ namespace TrackerLibrary.DataAccess model.Id = p.Get("@Id"); - return model; } } - public TeamModel CreateTeam(TeamModel model) + public void CreateTeam(TeamModel model) { using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db))) { @@ -84,7 +81,6 @@ namespace TrackerLibrary.DataAccess } - return model; } } diff --git a/TrackerLibrary/DataAccess/TextConnector.cs b/TrackerLibrary/DataAccess/TextConnector.cs index fbc2094..fe0251f 100644 --- a/TrackerLibrary/DataAccess/TextConnector.cs +++ b/TrackerLibrary/DataAccess/TextConnector.cs @@ -9,18 +9,10 @@ namespace TrackerLibrary.DataAccess { public class TextConnector : IDataConnection { - private const string PrizesFile = "PrizeModels.csv"; - private const string PeopleFile = "PersonModels.csv"; - private const string TeamFile = "TeamModels.csv"; - private const string TournamentFile = "TournamentModels.csv"; - private const string MatchupFile = "MatchupModels.csv"; - private const string MatchupEntryFile = "MatchupEntryModels.csv"; - - - public PersonModel CreatePerson(PersonModel model) + public void CreatePerson(PersonModel model) { - List people = PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); + List people = GlobalConfig.PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); int currentId = 1; if (people.Count > 0) @@ -32,17 +24,15 @@ namespace TrackerLibrary.DataAccess people.Add(model); - people.SaveToPeopleFile(PeopleFile); - - return model; + people.SaveToPeopleFile(); } // TODO - Wire up the createPrize for textFiles - public PrizeModel CreatePrize(PrizeModel model) + public void CreatePrize(PrizeModel model) { // Load the text file // Convert the text to a List>PrizeModel> - List prizes = PrizesFile.FullFilePath().LoadFile().ConvertToPrizeModels(); + List prizes = GlobalConfig.PrizesFile.FullFilePath().LoadFile().ConvertToPrizeModels(); // Find the max Id @@ -60,16 +50,15 @@ namespace TrackerLibrary.DataAccess // Convert the prizes to a List // Save the list to the text file - prizes.SaveToPrizeFile(PrizesFile); + prizes.SaveToPrizeFile(); - return model; } - public TeamModel CreateTeam(TeamModel model) + public void CreateTeam(TeamModel model) { // Load the text file // Convert the text to a List>PrizeModel> - List teams = TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(PeopleFile); + List teams = GlobalConfig.TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(); // Find the max Id @@ -89,26 +78,25 @@ namespace TrackerLibrary.DataAccess // Convert the prizes to a List // Save the list to the text file - teams.SaveToTeamFile(TeamFile); + teams.SaveToTeamFile(); - return model; } public List GetPerson_All() { - return PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); + return GlobalConfig.PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); } public List GetTeam_All() { - return TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(PeopleFile); + return GlobalConfig.TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(); } public void CreateTournament(TournamentModel model) { - List tournaments = TournamentFile + List tournaments = GlobalConfig.TournamentFile .FullFilePath() .LoadFile() - .ConvertToTournamentModels(TeamFile, PeopleFile, PrizesFile); + .ConvertToTournamentModels(); int currentId = 1; if (tournaments.Count > 0) @@ -117,19 +105,19 @@ namespace TrackerLibrary.DataAccess } model.Id = currentId; - model.SaveRoundsToFile( MatchupFile, MatchupEntryFile); + model.SaveRoundsToFile(); tournaments.Add(model); - tournaments.SaveToTournamentFile(TournamentFile); + tournaments.SaveToTournamentFile(); } public List GetTournament_All() { - return TournamentFile + return GlobalConfig.TournamentFile .FullFilePath() .LoadFile() - .ConvertToTournamentModels(TeamFile, PeopleFile, PrizesFile); + .ConvertToTournamentModels(); } public void UpdateMatchup(MatchupModel model) diff --git a/TrackerLibrary/DataAccess/TextConnectorProcessor.cs b/TrackerLibrary/DataAccess/TextConnectorProcessor.cs index 3ca0d5c..bab2ce9 100644 --- a/TrackerLibrary/DataAccess/TextConnectorProcessor.cs +++ b/TrackerLibrary/DataAccess/TextConnectorProcessor.cs @@ -7,6 +7,13 @@ using System.Text; using System.Threading.Tasks; using TrackerLibrary.Models; +/* +* Title : +* Author : +* Date : +* Purpose: +*/ + namespace TrackerLibrary.DataAccess.TextHelpers { public static class TextConnectorProcessor @@ -61,12 +68,12 @@ namespace TrackerLibrary.DataAccess.TextHelpers return output; } - public static List ConvertToTeamModels(this List lines, string peopleFileName) + public static List ConvertToTeamModels(this List lines) { // id, team name,list of ids separated by pipe // 3,Start Team, 1|4 List output = new List(); - List people = peopleFileName.FullFilePath().LoadFile().ConvertToPersonModels(); + List people = GlobalConfig.PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); foreach (string line in lines) { @@ -91,10 +98,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers } public static List ConvertToTournamentModels( - this List lines, - string teamFileName, - string peopleFileName, - string prizesFileName + this List lines ) { // id = 0 @@ -106,8 +110,8 @@ namespace TrackerLibrary.DataAccess.TextHelpers // id, TournamentName, EntryFee, (id|id|id - entered teams), (id|id|id - entered prizes), (rounds - id^id^id|id^id^id|id^id^id) List output = new List(); - List teams = teamFileName.FullFilePath().LoadFile().ConvertToTeamModels(peopleFileName); - List prizes = prizesFileName.FullFilePath().LoadFile().ConvertToPrizeModels(); + List teams = GlobalConfig.TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(); + List prizes = GlobalConfig.PrizesFile.FullFilePath().LoadFile().ConvertToPrizeModels(); List matchups = GlobalConfig.MatchupFile.FullFilePath().LoadFile().ConvertToMatchupModels(); foreach (string line in lines) @@ -150,7 +154,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers return output; } - public static void SaveToPrizeFile(this List models, string fileName) + public static void SaveToPrizeFile(this List models) { List lines = new List(); @@ -158,10 +162,10 @@ namespace TrackerLibrary.DataAccess.TextHelpers { lines.Add($"{p.Id},{p.PlaceNumber},{p.PlaceName}, {p.PrizeAmount}, {p.PrizePercentage}"); } - File.WriteAllLines(fileName.FullFilePath(), lines); + File.WriteAllLines(GlobalConfig.PrizesFile.FullFilePath(), lines); } - public static void SaveToPeopleFile(this List models, string fileName) + public static void SaveToPeopleFile(this List models) { List lines = new List(); foreach (PersonModel p in models) @@ -169,11 +173,11 @@ namespace TrackerLibrary.DataAccess.TextHelpers lines.Add($"{p.Id},{p.FirstName},{p.LastName},{p.EmailAddress},{p.CellPhoneNumber}"); } - File.WriteAllLines(fileName.FullFilePath(), lines); + File.WriteAllLines(GlobalConfig.PeopleFile.FullFilePath(), lines); } - public static void SaveToTeamFile(this List models, string fileName) + public static void SaveToTeamFile(this List models) { List lines = new List(); foreach (TeamModel t in models) @@ -181,10 +185,10 @@ namespace TrackerLibrary.DataAccess.TextHelpers lines.Add($"{t.Id},{t.TeamName},{ConvertPeopleListToString(t.TeamMembers)}"); } - File.WriteAllLines(fileName.FullFilePath(), lines); + File.WriteAllLines(GlobalConfig.TeamFile.FullFilePath(), lines); } - public static void SaveRoundsToFile(this TournamentModel model,string matchupFile,string matchupEntryFile) + public static void SaveRoundsToFile(this TournamentModel model) { // Loop through each round // Loop through each matchup @@ -198,7 +202,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers // Get the top id and add one // Store the id // Svae the matchup record - matchup.SaveMatchupToFile(matchupFile, matchupEntryFile); + matchup.SaveMatchupToFile(); } @@ -270,7 +274,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers { List matchingTeams = new List(); matchingTeams.Add(team); - return matchingTeams.ConvertToTeamModels(GlobalConfig.PeopleFile).First(); + return matchingTeams.ConvertToTeamModels().First(); } } return null; @@ -318,7 +322,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers return output; } - public static void SaveMatchupToFile(this MatchupModel matchup, string matchupFile, string matchupEntryFile) + public static void SaveMatchupToFile(this MatchupModel matchup) { List matchups = GlobalConfig.MatchupFile.FullFilePath().LoadFile().ConvertToMatchupModels(); int currentId = 1; @@ -332,7 +336,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers foreach (MatchupEntryModel entry in matchup.Entries) { - entry.SaveEntryToFile(matchupEntryFile); + entry.SaveEntryToFile(); } List lines = new List(); @@ -385,7 +389,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers File.WriteAllLines(GlobalConfig.MatchupFile.FullFilePath(), lines); } - public static void SaveEntryToFile(this MatchupEntryModel entry, string matchupEntryFile) + public static void SaveEntryToFile(this MatchupEntryModel entry) { List entries = GlobalConfig.MatchupEntryFile.FullFilePath().LoadFile().ConvertToMatchupEntryModels(); int currentId = 1; @@ -452,7 +456,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers } - public static void SaveToTournamentFile(this List models, string fileName) + public static void SaveToTournamentFile(this List models) { List lines = new List(); @@ -461,7 +465,7 @@ namespace TrackerLibrary.DataAccess.TextHelpers lines.Add($@"{tm.Id},{tm.TournamentName},{tm.EntryFee},{ConvertTeamListToString(tm.EnteredTeams)},{ConvertPrizeListToString(tm.Prizes)},{ConvertRoundListToString(tm.Rounds)}"); } - File.WriteAllLines(fileName.FullFilePath(), lines); + File.WriteAllLines(GlobalConfig.TournamentFile.FullFilePath(), lines); } private static string ConvertRoundListToString(List> rounds) diff --git a/TrackerUI/App.config b/TrackerUI/App.config index 24996ee..69475bb 100644 --- a/TrackerUI/App.config +++ b/TrackerUI/App.config @@ -1,12 +1,12 @@  - - + + - - + + diff --git a/TrackerUI/Program.cs b/TrackerUI/Program.cs index c8ed92e..da40480 100644 --- a/TrackerUI/Program.cs +++ b/TrackerUI/Program.cs @@ -19,7 +19,7 @@ namespace TrackerUI Application.SetCompatibleTextRenderingDefault(false); // Initialize the database connections - GlobalConfig.InitializeConnections(DatabaseType.Sql); + GlobalConfig.InitializeConnections(DatabaseType.TextFile); Application.Run(new TournamentDashboardForm()); } }