Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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);
        }