public void Get_Tournament_Moq() { //var saveChangeCalled = false; TournamentModel tournament = new TournamentModel() { Title = "Test Tournament One", Description = "Test", RegistrationStartDate = DateTime.Now, RegistrationEndDate = DateTime.Now, TournamentStartDate = DateTime.Now, TournamentEndDate = DateTime.Now, CheckInBegins = DateTime.Now, CheckInEnds = DateTime.Now, LastEditedByID = 1, CreatedByID = 1, PlatformID = 3, EntryFee = 0, PrizePurse = 0, GameTypeID = 1 }; var repo = new Mock <ITournamentRepository>(); repo.Setup(x => x.GetTournament(tournament.TournamentID)).Returns(tournament); var context = new VictoriousEntities(); //var uow = new UnitOfWork(context); //var result = uow.TournamentRepository.GetTournament(tournament.TournamentID); //Assert.AreEqual(tournament, result); //Assert.IsNotNull(actual); //Assert.AreEqual(tournament, actual); }
/// <summary> /// Search function for tournaments. /// </summary> /// <param name="searchParams"> Dictionary used to specify search criteria. </param> /// <param name="returnCount"> Number of items to return. </param> /// <returns> Returns a List of Tournaments. </returns> /// <remarks> /// For the <paramref name="searchParams"/>, the key is the column name and the value is the data being used to search against that column. /// </remarks> public List <TournamentModel> FindTournaments(Dictionary <string, string> searchParams, int returnCount = 25) { List <TournamentModel> tournaments = new List <TournamentModel>(); using (VictoriousEntities context = new VictoriousEntities()) { context.TournamentModels.Include(x => x.Brackets) .Include(x => x.GameType) .Include(x => x.Platform) .Include(x => x.TournamentUsers) .Include(x => x.TournamentInvites) .Load(); try { List <SqlParameter> sqlparams = new List <SqlParameter>(); string query = string.Empty; query = "SELECT TOP(" + returnCount + ")* FROM Tournaments WHERE PublicViewing = 1 "; foreach (KeyValuePair <String, String> data in searchParams) { if (query != String.Empty) { query += " AND "; } string val = data.Value; if (data.Key == "TournamentStartDate" || data.Key == "RegistrationStartDate") { val = DateTime.Parse(val).ToShortDateString(); query += data.Key + " >= @" + data.Key; sqlparams.Add(new SqlParameter("@" + data.Key, val)); } else if (data.Key == "TournamentEndDate" || data.Key == "RegistrationEndDate") { val = DateTime.Parse(val).ToShortDateString(); query += data.Key + " <= @" + data.Key; sqlparams.Add(new SqlParameter("@" + data.Key, val)); } else if (data.Key == "CreatedOn") { val = DateTime.Parse(val).ToShortDateString(); query += "datediff(day," + data.Key + ", " + "@" + data.Key + ") = 0 "; sqlparams.Add(new SqlParameter("@" + data.Key, val)); } //if (data.Key == "TournamentStartDate" || data.Key == "TournamentEndDate" || data.Key == "RegistrationStartDate" || // data.Key == "RegistrationEndDate" || data.Key == "CreatedOn") //{ // val = DateTime.Parse(val).ToShortDateString(); // query += "datediff(day," + data.Key + ", " + "@" + data.Key + ") = 0 "; // sqlparams.Add(new SqlParameter("@" + data.Key, val)); //} else if (data.Key == "Title") { query += data.Key + " LIKE @" + data.Key; sqlparams.Add(new SqlParameter("@" + data.Key, "%" + val + "%")); } else { query += data.Key + " = @" + data.Key; sqlparams.Add(new SqlParameter("@" + data.Key, val)); } } query += " ORDER BY TournamentStartDate ASC"; tournaments = context.TournamentModels.SqlQuery(query, sqlparams.ToArray()).ToList(); query = string.Empty; //if (tournaments.Count == 0) //{ // query = "SELECT TOP(25)* FROM Tournaments WHERE IsPublic = 1 ORDER BY TournamentStartDate ASC"; // tournaments = context.TournamentModels.SqlQuery(query).ToList(); //} } catch (Exception ex) { //interfaceException = ex; //WriteException(ex); unitOfWork.SetException(ex); tournaments.Clear(); } } return(tournaments); }