Exemple #1
0
        public IEnumerable <GameInfo> GetLists(GameSearch search)
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append("SELECT * FROM [vw_Hishop_PromotionGame] where 1=1 ");
            if (!string.IsNullOrEmpty(search.Status))
            {
                stringBuilder.AppendFormat(" and [Status]={0}", search.Status);
            }
            if (search.BeginTime.HasValue)
            {
                stringBuilder.AppendFormat(" and [BeginTime]>='{0}'", search.BeginTime);
            }
            if (search.EndTime.HasValue)
            {
                stringBuilder.AppendFormat(" and [EndTime]<'{0}'", search.EndTime);
            }
            System.Data.Common.DbCommand sqlStringCommand = this._database.GetSqlStringCommand(stringBuilder.ToString());
            IEnumerable <GameInfo>       result;

            using (System.Data.IDataReader dataReader = this._database.ExecuteReader(sqlStringCommand))
            {
                result = ReaderConvert.ReaderToList <GameInfo>(dataReader);
            }
            return(result);
        }
Exemple #2
0
        public DbQueryResult GetGameListByView(GameSearch search)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(" 1=1");
            if (search.GameType.HasValue)
            {
                builder.AppendFormat(" and [GameType]={0}", search.GameType);
            }
            if (!string.IsNullOrEmpty(search.Status))
            {
                if (search.Status == "1")
                {
                    builder.AppendFormat(" and ([Status]={0} or EndTime<getdate())", search.Status);
                }
                else
                {
                    builder.AppendFormat(" and ([Status]={0} and EndTime>getdate())", search.Status);
                }
            }
            if (search.BeginTime.HasValue)
            {
                builder.AppendFormat(" and [BeginTime]>='{0}'", search.BeginTime.Value.ToString("yyyy-MM-dd"));
            }
            if (search.EndTime.HasValue)
            {
                builder.AppendFormat(" and [EndTime]<'{0}'", search.EndTime.Value.AddDays(1.0).ToString("yyyy-MM-dd"));
            }
            string selectFields = " GameID, GameType,GameTitle, BeginTime ,EndTime,PlayType,GameUrl,GameQRCodeAddress ,Status,TotalCount,PrizeCount,LimitEveryDay,MaximumDailyLimit ";

            return(DataHelper.PagingByTopnotin(search.PageIndex, search.PageSize, search.SortBy, search.SortOrder, search.IsCount, "vw_Hishop_PromotionGame", "GameId", builder.ToString(), selectFields));
        }
Exemple #3
0
        private void BindData()
        {
            GameSearch gameSearch = new GameSearch()
            {
                SortBy    = "GameId",
                PageIndex = this.pageIndex,
                PageSize  = this.pageSize,
                GameType  = new int?(Convert.ToInt32(this.PGameType.Value)),
                BeginTime = this.calendarStartDate.SelectedDate,
                EndTime   = this.calendarEndDate.SelectedDate
            };
            GameSearch gameSearch1 = gameSearch;
            string     str         = this.isFinished;

            if (!string.IsNullOrEmpty(str))
            {
                gameSearch1.Status = str;
            }
            DbQueryResult gameListByView = GameHelper.GetGameListByView(gameSearch1);
            DataTable     data           = (DataTable)gameListByView.Data;

            this.grdGameLists.DataSource = data;
            this.grdGameLists.DataBind();
            this.pager1.TotalRecords = gameListByView.TotalRecords;
        }
Exemple #4
0
        public IActionResult OnPostSearch([FromBody] GameSearch searchData)
        {
            var games = _gameStore.Get().Where(g => g.Name.ToLower().Contains(searchData.SearchText.ToLower())).Select(g => new
            {
                id        = g.Id,
                name      = g.Name,
                userName  = g.Owner.DisplayName,
                createdOn = g.CreatedOn.ToString("yyyy-MM-dd"),
                cardCount = g.CardCount
            }).ToList();

            var pageIndex = searchData.Page - 1;
            var pageCount = games.Count / searchData.ItemsPerPage;

            if (games.Count % searchData.ItemsPerPage > 0)
            {
                pageCount++;
            }

            var result = new
            {
                games         = games.Skip(pageIndex * searchData.ItemsPerPage).Take(searchData.ItemsPerPage),
                numberOfPages = pageCount
            };

            return(new JsonResult(result));
        }
Exemple #5
0
        public DbQueryResult GetGameList(GameSearch search)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(" 1=1");
            if (search.GameType.HasValue)
            {
                builder.AppendFormat(" and [GameType]={0}", search.GameType);
            }
            if (!string.IsNullOrEmpty(search.Status))
            {
                builder.AppendFormat(" and [Status]={0}", search.Status);
            }
            if (search.BeginTime.HasValue)
            {
                builder.AppendFormat(" and [BeginTime]>='{0}'", search.BeginTime);
            }
            if (search.EndTime.HasValue)
            {
                builder.AppendFormat(" and [EndTime]>'{0}'", search.EndTime);
            }
            string selectFields = "GameId, GameType, GameTitle, Description, BeginTime, EndTime, ApplyMembers,DefualtGroup,CustomGroup, NeedPoint, GivePoint, OnlyGiveNotPrizeMember, PlayType, NotPrzeDescription, GameUrl, GameQRCodeAddress, Status";

            return(DataHelper.PagingByTopnotin(search.PageIndex, search.PageSize, search.SortBy, search.SortOrder, search.IsCount, "Hishop_PromotionGame", "GameId", builder.ToString(), selectFields));
        }
        private static bool CheckArchiver(string gameDir)
        {
            if (IoC.Archiver.CheckArchiverLib())
            {
                return(true);
            }

            if (String.IsNullOrEmpty(gameDir))
            {
                gameDir = new GameSearch().FindSteamGameDir(SteamGameName);
                if (String.IsNullOrEmpty(gameDir))
                {
                    Console.WriteLine("Cannot get oodle library, Cannot find game and no game directory specified.");
                    return(false);
                }
            }

            try
            {
                IoC.Archiver.GetLibrary().Wait();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Cannot get oodle library, {ex.Message}.");
                return(false);
            }

            return(true);
        }
Exemple #7
0
        public async void StartSearching(string current_game = null)
        {
            string search_game = "";

            if (current_game != null)
            {
                search_game = current_game;
            }
            if (search_game == "")
            {
                search_game = SearchContent.Text;
            }

            if (SearchContent.Text.Length == 0 && current_game == null)
            {
                Toast.MakeText(this, $"Enter a game title before searching.", ToastLength.Short).Show();
                return;
            }

            SearchContent.Visibility      = Android.Views.ViewStates.Gone;
            CurrentGameSection.Visibility = Android.Views.ViewStates.Gone;
            LibrarySection.Visibility     = Android.Views.ViewStates.Gone;

            BeaconButton.Visibility   = Android.Views.ViewStates.Visible;
            SearchingText.Visibility  = Android.Views.ViewStates.Visible;
            ChatroomButton.Visibility = Android.Views.ViewStates.Visible;
            PlayerList.Visibility     = Android.Views.ViewStates.Visible;

            SearchingText.Text = $"Finding players who want to play {search_game}";
            game = new GameSearch(search_game, uaccount.UserId.ToString(), uaccount.Username, uaccount.Avatar, uaccount.CountryCode);

            var gamesearches = await firebase_database.GetGameSearchesAsync();

            foreach (var u in gamesearches)
            {
                if (u.Object.UserId == uaccount.UserId)
                {
                    firebase_database.RemoveGameSearchAsync(u.Key);
                }
            }

            firebase_database.PostGameSearchAsync(game);

            // Create the game search activity.
            new UserActivity(uaccount.UserId, uaccount.Username, $"Started searching for '{search_game}'", uaccount.Avatar, search_game).Create();

            gamesearches = await firebase_database.GetGameSearchesAsync();

            gamesearches_reference = FirebaseDatabase.Instance.GetReference("gamesearches");
            gamesearches_reference.AddValueEventListener(this);

            ChatroomButton.Click += delegate
            {
                MessagingActivity.account           = uaccount;
                MessagingActivity.CurrentGameSearch = game;
                StartActivity(new Android.Content.Intent(this, typeof(MessagingActivity)));
                gamesearches_reference.RemoveEventListener(this);
            };
        }
Exemple #8
0
 public async Task <IEnumerable <Game> > GetGames(GameSearch searchParams)
 {
     try
     {
         return(await gameRepository.GetGames(searchParams));
     }
     catch (Exception e)
     {
         logger.LogError(e, "Error retrieving all games");
         throw e;
     }
 }
Exemple #9
0
 public ActionResult Get([FromQuery] GameSearch dto)
 {
     try
     {
         var consoles = getGame.Execute(dto);
         return(Ok(consoles));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex.Message));
     }
 }
Exemple #10
0
        public async Task <IActionResult> GetGames([FromBody] GameSearch searchParams)
        {
            try
            {
                var result = await gameService.GetGames(searchParams);

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(new StatusCodeResult(500));
            }
        }
Exemple #11
0
 internal async System.Threading.Tasks.Task <List <Game> > SearchGamesAsync(string name)
 {
     try
     {
         var jsonResult = webclient.DownloadStringTaskAsync("https://api-endpoint.igdb.com/" + "games/?search=" + name);
         var ids        = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Id> >(await jsonResult);
         var gameSearch = new GameSearch();
         gameSearch.Id = ids;
         var games = gameSearch.ToGameListAsync(this);
         return(await games);
     }
     catch (Exception e)
     {
         throw;
     }
 }
        private async Task InitializeFirstRun()
        {
            if (Configs.GamePackDir != null)
            {
                return;
            }

            var gameDir = new GameSearch().FindSteamGameDir(SteamGameName);

            if (gameDir == null)
            {
                return;
            }

            IoC.Settings.GamePath = gameDir;
            if (!UpdateGameDirStatus())
            {
                IoC.Settings.GamePath = "";
            }

            await IoC.Archiver.GetLibrary();
        }
Exemple #13
0
        private void BindData()
        {
            GameSearch search = new GameSearch {
                SortBy    = "GameId",
                PageIndex = this.pageIndex,
                PageSize  = this.pageSize,
                GameType  = (int)(this.PGameType.Value),
                BeginTime = this.calendarStartDate.SelectedDate,
                EndTime   = this.calendarEndDate.SelectedDate
            };
            string isFinished = this.isFinished;

            if (!string.IsNullOrEmpty(isFinished))
            {
                search.Status = isFinished;
            }
            DbQueryResult gameListByView = GameHelper.GetGameListByView(search);
            DataTable     data           = (DataTable)gameListByView.Data;

            this.grdGameLists.DataSource = data;
            this.grdGameLists.DataBind();
            this.pager1.TotalRecords = gameListByView.TotalRecords;
        }
Exemple #14
0
        // Get all games and populate their "ImageCollection" field
        public Task <List <Game> > GetGames(GameSearch searchParams)
        {
            return(gamestakDb.Use(async conn =>
            {
                var searchTermPresent = searchParams.SearchTerm != "";
                var categoriesPresent = searchParams.Categories != null && searchParams.Categories.Count > 0;
                var featuresPresent = searchParams.Features != null && searchParams.Features.Count > 0;
                var ownerPresent = searchParams.OwnerID != null;

                var whereClause = "";
                var orderbyClause = "ORDER BY ";

                var listOfWhereFilters = new List <string>();

                if (searchTermPresent || categoriesPresent || featuresPresent || ownerPresent)
                {
                    whereClause = "WHERE ";
                }
                if (searchTermPresent)
                {
                    listOfWhereFilters.Add($@"Title LIKE '%{searchParams.SearchTerm}%'");
                }
                if (categoriesPresent)
                {
                    listOfWhereFilters.Add(@$ "GameID IN (SELECT GameID FROM {DbTables.CategoryAssignments} ca WHERE ca.GameID = g.GameID and CategoryID IN @CategoryIds)");
                }
                if (featuresPresent)
                {
                    listOfWhereFilters.Add(@$ "GameID IN (SELECT GameID FROM {DbTables.FeatureAssignments} fa WHERE fa.GameID = g.GameID and FeatureID IN @FeatureIds)");
                }
                if (ownerPresent)
                {
                    listOfWhereFilters.Add($@"GameID IN (SELECT GameID FROM {DbTables.GameKeys} gk WHERE gk.GameID = g.GameID and UserID = @OwnerId)");
                }
                if (whereClause != "")
                {
                    whereClause += String.Join(" AND ", listOfWhereFilters);
                }

                switch (searchParams.SortBy)
                {
                case SortType.NewerFirst:
                    orderbyClause += "ReleaseDate DESC";
                    break;

                case SortType.OlderFirst:
                    orderbyClause += "ReleaseDate ASC";
                    break;

                case SortType.AZ:
                    orderbyClause += "Title ASC";
                    break;

                case SortType.ZA:
                    orderbyClause += "Title DESC";
                    break;

                case SortType.PriceLowToHigh:
                    orderbyClause += "Price ASC";
                    break;

                case SortType.PriceHighToLow:
                    orderbyClause += "Price DESC";
                    break;
                }

                var query = @$ "
                    SELECT * FROM {DbTables.Games} g
                    {whereClause}
                    {orderbyClause}
                ";

                var games = (await conn.QueryAsync <Game>(query, new {
                    OwnerId = searchParams.OwnerID,
                    CategoryIds = searchParams.Categories,
                    FeatureIds = searchParams.Features,
                })).ToList();

                var gamesWithImages = await PopulateGamesImages(games);

                return await PopulateGamesFilters(gamesWithImages);
            }));
        }
Exemple #15
0
 public static IEnumerable <GameInfo> GetLists(GameSearch search)
 {
     return(new GameDao().GetLists(search));
 }
Exemple #16
0
 public static DbQueryResult GetGameListByView(GameSearch search)
 {
     return(new GameDao().GetGameListByView(search));
 }
Exemple #17
0
 public static DbQueryResult GetGameList(GameSearch search)
 {
     return((new GameDao()).GetGameList(search));
 }
Exemple #18
0
        public PageResponse <GameDto> Execute(GameSearch search)
        {
            var query = context.Games.Include(gg => gg.Game_Genre)
                        .ThenInclude(g => g.Genre)
                        .Include(gc => gc.Game_Console)
                        .ThenInclude(c => c.Console)
                        .AsQueryable();

            if (search.Title != null)
            {
                var name = search.Title.ToLower();
                query = query.Where(g => g.Title.ToLower().Contains(name));
            }

            if (search.GenreId != null)
            {
                query = query.Where(x => x.Game_Genre.Any(gg => gg.Genre.Id == search.GenreId));
            }
            if (search.ConsoleId != null)
            {
                query = query.Where(x => x.Game_Console.Any(gc => gc.Console.Id == search.ConsoleId));
            }

            query = query.Where(y => y.IsDeleted == false);

            var totalCount = query.Count();

            query = query.Skip((search.PageNumber - 1) * search.PerPage)
                    .Take(search.PerPage);

            var pagesCount = (int)Math.Ceiling((double)totalCount / search.PerPage);

            var result = new PageResponse <GameDto>
            {
                CurrentPage = search.PageNumber,
                PageCount   = pagesCount,
                TotalCount  = totalCount,
                Data        = query.Select(s => new GameDto
                {
                    Id         = s.Id,
                    Title      = s.Title,
                    ReleseDate = s.ReleseDate,
                    Picture    = s.Picture,
                    Company    = s.Company,

                    Genres = s.Game_Genre.Select(gn => new GenreDto
                    {
                        Id   = gn.Id,
                        Name = gn.Genre.GenereName
                    }).ToList(),

                    Consoles = s.Game_Console.Select(cn => new ConsoleDto
                    {
                        Id   = cn.Id,
                        Name = cn.Console.ConsoleName
                    }).ToList()
                }).ToList()
            };

            return(result);
        }
 internal async void PostGameSearchAsync(GameSearch game)
 {
     await firebase.Child("gamesearches").PostAsync(game);
 }