using System; using System.Collections.Generic; using System.Text; using TrackerLibrary.Models; using TrackerLibrary.DataAccess.TextHelpers; using System.Linq; namespace TrackerLibrary.DataAccess { public class TextConnector : IDataConnection { public void CreatePerson(PersonModel model) { List people = GlobalConfig.PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); int currentId = 1; if (people.Count > 0) { currentId = people.OrderByDescending(x => x.Id).First().Id + 1; } model.Id = currentId; people.Add(model); people.SaveToPeopleFile(); } // TODO - Wire up the createPrize for textFiles public void CreatePrize(PrizeModel model) { // Load the text file // Convert the text to a List>PrizeModel> List prizes = GlobalConfig.PrizesFile.FullFilePath().LoadFile().ConvertToPrizeModels(); // Find the max Id int currentId = 1; if (prizes.Count > 0) { currentId = prizes.OrderByDescending(x => x.Id).First().Id + 1; } model.Id = currentId; // Add the new record with the new ID (max +1) prizes.Add(model); // Convert the prizes to a List // Save the list to the text file prizes.SaveToPrizeFile(); } public void CreateTeam(TeamModel model) { // Load the text file // Convert the text to a List>PrizeModel> List teams = GlobalConfig.TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(); // Find the max Id int currentId = 1; if (teams.Count > 0) { currentId = teams.OrderByDescending(x => x.Id).First().Id + 1; } model.Id = currentId; // Add the new record with the new ID (max +1) teams.Add(model); // Convert the prizes to a List // Save the list to the text file teams.SaveToTeamFile(); } public List GetPerson_All() { return GlobalConfig.PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); } public List GetTeam_All() { return GlobalConfig.TeamFile.FullFilePath().LoadFile().ConvertToTeamModels(); } public void CreateTournament(TournamentModel model) { List tournaments = GlobalConfig.TournamentFile .FullFilePath() .LoadFile() .ConvertToTournamentModels(); int currentId = 1; if (tournaments.Count > 0) { currentId = tournaments.OrderByDescending(x => x.Id).First().Id + 1; } model.Id = currentId; model.SaveRoundsToFile(); tournaments.Add(model); tournaments.SaveToTournamentFile(); TournamentLogic.UpdateTournamentResults(model); } public List GetTournament_All() { return GlobalConfig.TournamentFile .FullFilePath() .LoadFile() .ConvertToTournamentModels(); } public void UpdateMatchup(MatchupModel model) { model.UpdateMatchupToFile(); } public void CompleteTournament(TournamentModel model) { List tournaments = GlobalConfig.TournamentFile .FullFilePath() .LoadFile() .ConvertToTournamentModels(); tournaments.Remove(model); tournaments.SaveToTournamentFile(); TournamentLogic.UpdateTournamentResults(model); } } }