public IResponse createSuccessResponse(string search)
        {
            GenericApiResponse          response             = new GenericApiResponse();
            List <LeaderBoardsResponse> list                 = new List <LeaderBoardsResponse>();
            LeaderBoardsResponse        responseLeaderBoards = new LeaderBoardsResponse();

            try
            {
                var appData = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "Repository");
                // read JSON directly from a file
                //using (StreamReader file = File.OpenText(appData + "\\LeaderBoards.json"))

                var jsonText     = File.ReadAllText(appData + "\\LeaderBoards.json");
                var leaderBoards = JsonConvert.DeserializeObject <List <LeaderBoardsResponse> >(jsonText);

                responseLeaderBoards = (from l in leaderBoards
                                        where l.filter == search
                                        select new LeaderBoardsResponse {
                    Leaderboards = l.Leaderboards,
                    LastWinner = l.LastWinner
                }).FirstOrDefault();


                return(responseLeaderBoards);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
                responseLeaderBoards = null;

                return(responseLeaderBoards);
            }
        }
        public IResponse createResponseSaveJson()
        {
            GenericApiResponse          response = new GenericApiResponse();
            List <LeaderBoardsResponse> list     = new List <LeaderBoardsResponse>();

            List <LeaderBoards> listAllLeaderBoards = new List <LeaderBoards>();

            try
            {
                LeaderBoards Leaderboards  = new LeaderBoards();
                var          pLeaderboards = gameBL.GetLeaderBoards();

                var pLastWinner = gameBL.GetLastWinner();

                listAllLeaderBoards.Add(Leaderboards);

                LeaderBoardsResponse resultToday = new LeaderBoardsResponse();
                resultToday.LastWinner   = pLastWinner.LastWinnerOnYesterday;
                resultToday.Leaderboards = pLeaderboards.ListLeaderBoardsToday;
                resultToday.filter       = "Today";

                list.Add(resultToday);

                LeaderBoardsResponse resultWeek = new LeaderBoardsResponse();
                resultWeek.LastWinner   = pLastWinner.LastWinnerOnWeek;
                resultWeek.Leaderboards = pLeaderboards.ListLeaderBoardsWeek;
                resultWeek.filter       = "Week";
                list.Add(resultWeek);

                LeaderBoardsResponse resultMonth = new LeaderBoardsResponse();
                resultMonth.LastWinner   = pLastWinner.LastWinnerOnMonth;
                resultMonth.Leaderboards = pLeaderboards.ListLeaderBoardsMonth;
                resultMonth.filter       = "Month";
                list.Add(resultMonth);

                LeaderBoardsResponse resultOverAll = new LeaderBoardsResponse();
                resultOverAll.Leaderboards = pLeaderboards.ListLeaderBoardsOverAll;
                resultOverAll.filter       = "OverAll";
                list.Add(resultOverAll);

                string json = JsonConvert.SerializeObject(list, Formatting.Indented);
                EventViewerLoggerBL.LogError("json data: " + json);

                var appData = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "Repository");

                foreach (var file in Directory.EnumerateFiles(appData))
                {
                    var dest = Path.Combine(appData, Path.GetFileName(file));
                    if (!File.Exists(dest))
                    {
                        File.Copy(file, dest);
                    }

                    System.IO.File.WriteAllText(dest, json);
                }



                response.HttpCode     = 200;
                response.InternalCode = "00";
                response.Message      = "Success";
            }
            catch (Exception ex)
            {
                EventViewerLoggerBL.LogError(ex.Message);
                response = null;
            }

            return(response);
        }