public void CreateLanes(List <int> competitorsId, int contestId, Match match) { var database = new DataBaseRepo(); var unitService = new MeasurementService(); var unit = unitService.WhatUnitDoYouNeedBro("spelare"); //TODO Bygga upp serier genom lane, även få med båda spelarnas ID:n så att det skapas en separat serie per spelare. var quantity = (DatabaseHolder)database.Save (new Quantity { Amount = 2, UnitId = unit.UnitId }); if (quantity.ExecuteCodes == ExecuteCodes.SuccessToExecute) { var lane = new Lane { UnitId = unit.UnitId, QuantityId = quantity.PrimaryKey }; var primaryKeyLane = (DatabaseHolder)database.Save(lane); match.LaneId = primaryKeyLane.PrimaryKey; match.QuantityId = quantity.PrimaryKey; match.UnitId = unit.UnitId; var matchId = (DatabaseHolder)database.Save(match); if (matchId.ExecuteCodes != ExecuteCodes.FailedToExecute) { lane.CreateSerie(primaryKeyLane.PrimaryKey, contestId, competitorsId); } } }
public List <Match> SeeMatches(int contestId) { var database = new DataBaseRepo(); var result = database.GetAll(new Match()).Cast <Match>().ToList(); return(result.Where(m => contestId == m.ContestId).ToList()); }
public void UpdateTable() { var contest = new Contest { ContestId = 1011, ManagerId = 4002, ContestTypeId = 1, TimePeriodId = 1, WinnerId = 2026 }; var database = new DataBaseRepo(); var result = database.Update(contest); Assert.Equal(ExecuteCodes.SuccessToExecute, result); }
public Quantity CreateANewQuantity(int amount, int unitId) { DataBaseRepo database = new DataBaseRepo(); var result = (DatabaseHolder)database.Save(new Quantity { Amount = amount, UnitId = unitId }); var quantity = (Quantity)database.GetObject(result.PrimaryKey.ToString(), new Quantity()); return(quantity); }
public void GetWinner() { var database = new DataBaseRepo(); var sut = new BowlingSystem(); var contest = (Contest)database.GetObject("1011", new Contest()); contest.WinnerId = 2026; var result = sut.GetWinnerOfContest(contest); Assert.Equal(contest.ContestId, result.ContestId); }
public void SelectOne() { var timePeriod = new TimePeriod { TimePeriodId = 1, StartDate = DateTime.Now, EndDate = DateTime.Parse("2018-05-28 07:00") }; //var party = new Party { Address="Vägen 12", IsMana,ger=false, LegalId="8705281425", Name="Test Testsson" }; var dbRepo = new DataBaseRepo(); var result = dbRepo.GetObject("1", timePeriod); Assert.Equal(timePeriod.ToString(), result.ToString()); }
public void SaveToTable() { //var timePeriod = new TimePeriod { StartDate=DateTime.Now, EndDate=DateTime.Parse("2018-05-28 07:00") }; var party = new ContestType { Name = "Träningstävling" }; var dbRepo = new DataBaseRepo(); var result = (DatabaseHolder)dbRepo.Save(party); Assert.Equal(ExecuteCodes.SuccessToExecute, result.ExecuteCodes); }
public Party CreateANewManager(string legalId, string name, string address, bool isManager = true) { var member = new Party { Address = address, IsManager = isManager, LegalId = legalId, Name = name }; var dataBase = new DataBaseRepo(); var databaseHolder = (DatabaseHolder)dataBase.Save(member); member.PartyId = databaseHolder.PrimaryKey; return(member); }
public void FindPartyWithKnownKey() { var party = new Party { Address = "Vägen 13", IsManager = false, LegalId = "8705281425", Name = "Test Testsson" }; var dbRepo = new DataBaseRepo(); //var result = dbRepo.Save(party); //var pk = ((DatabaseHolder)result).PrimaryKey; Party foundParty = (Party)dbRepo.GetObject("2026", new Party()); Assert.Equal(2026, foundParty.PartyId); }
public void GetListFromSearch() { var party = new Party { PartyId = 2026, Address = "Vägen 13", IsManager = false, LegalId = "8705281425", Name = "Test Testsson" }; var dbRepo = new DataBaseRepo(); var list = new List <Party>(); list.Add(party); var foundPartyList = dbRepo.GetAll(new Party()); var list2 = foundPartyList.Cast <Party>().ToList(); Assert.Equal(party, list2[0]); }
public Contest GetWinnerOfContest(Contest contest) { var result = 0; var database = new DataBaseRepo(); var players = database .GetAll(new ContestParticipants()) .Cast <ContestParticipants>() .Where(p => contest.ContestId == p.ContestId) .ToList(); var series = database .GetAll(new Serie()) .Cast <Serie>() .Where(s => contest.ContestId == s.ContestId) .ToList(); var scores = database.GetAll(new Score()) .Cast <Score>() .ToList(); var higherScore = 0; var currentScore = 0; foreach (var serie in series) { var listOfSerieIdsAndPartyIds = new Dictionary <int, int>(); if (players.FirstOrDefault(p => serie.PartyId == p.CompetitorId) != null) { listOfSerieIdsAndPartyIds.Add(serie.PartyId, serie.SerieId); } if (listOfSerieIdsAndPartyIds.Count != 0) { foreach (var item in listOfSerieIdsAndPartyIds) { var quantity = (Quantity)database.GetObject(scores.First(sco => item.Value == sco.SerieId).QuantityId.ToString(), new Quantity()); higherScore = quantity.Amount; if (higherScore > currentScore) { currentScore = higherScore; result = item.Key; } } } } contest.WinnerId = result; database.Update(contest); return(contest); }
public Unit WhatUnitDoYouNeedBro(string unitName) { Unit unit = new Unit(); DataBaseRepo database = new DataBaseRepo(); foreach (Unit item in database.GetAll(new Unit()).Cast <Unit>().ToList()) { if (item.Name.ToLower() == unitName.ToLower()) { unit = item; } } return(unit); }
public void CreateANewContest(int[] competitors, int managerId, int timePeriodId, int contestTypeId) { var compId = new List <int>(); var database = new DataBaseRepo(); var contest = new Contest { ContestTypeId = contestTypeId, ManagerId = managerId, TimePeriodId = timePeriodId, WinnerId = 0 }; var databaseHolder = (DatabaseHolder)database.Save(contest); for (int i = 0; i < competitors.Length; i++) { ContestParticipants contestParticipants = new ContestParticipants { ContestId = databaseHolder.PrimaryKey, CompetitorId = competitors[i] }; database.Save(new ContestParticipants()); compId.Add(competitors[i]); if (compId.Count == 2 && i > 0) { var match = new Match { ContestId = databaseHolder.PrimaryKey }; match.CreateLanes(compId, databaseHolder.PrimaryKey, match); compId.Clear(); } if (i % 2 == 1 && i == competitors.Length) { databaseHolder = (DatabaseHolder)database.Save(contest); var match = new Match(); var matchId = (DatabaseHolder)database.Save(match); match.MatchId = matchId.PrimaryKey; match.CreateLanes(compId, databaseHolder.PrimaryKey, match); compId.Clear(); } } }
//public Match Match { get; set; } //public Score Score { get; set; } //public List<Serie> Series { get; set; } public void CreateSerie(int laneId, int contestId, List <int> compIds) { var measurementService = new MeasurementService(); var unit = measurementService.WhatUnitDoYouNeedBro("poäng"); var quantity = measurementService.CreateANewQuantity(0, unit.UnitId); var database = new DataBaseRepo(); for (int i = 0; i < compIds.Count; i++)//To get three series and three scores. { for (int j = 3; j > 0; j--) { var serie = new Serie { LaneId = laneId, PartyId = compIds[i], TurnCounter = 10, ContestId = contestId }; var dataHolderSerie = (DatabaseHolder)database.Save(serie); var score = new Score { LaneId = laneId, UnitId = unit.UnitId, QuantityId = quantity.QuantityId, SerieId = dataHolderSerie.PrimaryKey }; var dataHolderScore = (DatabaseHolder)database.Save(score); } //serie.PlayRound(dataHolderScore.PrimaryKey); } }