145 lines
3.9 KiB
C#
145 lines
3.9 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 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);
|
|
}
|
|
}
|
|
}
|