Files
TournamentTracker/TrackerLibrary/DataAccess/TextConnector.cs

152 lines
4.2 KiB
C#

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<PersonModel> 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<PrizeModel> 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<string>
// Save the list<String> to the text file
prizes.SaveToPrizeFile();
}
public void CreateTeam(TeamModel model)
{
// Load the text file
// Convert the text to a List>PrizeModel>
List<TeamModel> 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<string>
// Save the list<String> to the text file
teams.SaveToTeamFile();
}
public List<PersonModel> GetPerson_All()
{
return GlobalConfig.PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels();
}
public List<TeamModel> GetTeam_All()
{
return GlobalConfig.TeamFile.FullFilePath().LoadFile().ConvertToTeamModels();
}
public void CreateTournament(TournamentModel model)
{
List<TournamentModel> 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<TournamentModel> GetTournament_All()
{
return GlobalConfig.TournamentFile
.FullFilePath()
.LoadFile()
.ConvertToTournamentModels();
}
public List<PrizeModel> GetPrizes_All()
{
List<PrizeModel> output;
output = GlobalConfig.PrizesFile.FullFilePath().LoadFile().ConvertToPrizeModels();
return output;
}
public void UpdateMatchup(MatchupModel model)
{
model.UpdateMatchupToFile();
}
public void CompleteTournament(TournamentModel model)
{
List<TournamentModel> tournaments = GlobalConfig.TournamentFile
.FullFilePath()
.LoadFile()
.ConvertToTournamentModels();
tournaments.Remove(model);
tournaments.SaveToTournamentFile();
TournamentLogic.UpdateTournamentResults(model);
}
}
}