Exemplo n.º 1
0
        /// <summary>
        /// Get Leader Board Details with Name .
        /// </summary>
        /// <param name="leaderBoardName"></param>
        /// <returns></returns>
        public IEnumerator GetLeaderBoardWithName(string leaderBoardName)
        {
            //if result is active.
            if (LeaderBoardDetailsPanel.activeInHierarchy)
            {
                LeaderBoardDetailsPanel.SetActive(false);
            }
            // if (!string.IsNullOrEmpty(LeaderBoardResult.text)) LeaderBoardResult.text = string.Empty;
            //activate loding panel .
            LeaderBoardLoadinPanel.SetActive(true);
            //Url need to heat .
            const string url = "https://long-run.herokuapp.com/LeaderBoard";
            //var create json.
            var leaderBoardDetails = new LeaderBoardDetails(leaderBoardName);
            //convert to json.
            var json = JsonUtility.ToJson(leaderBoardDetails);

            //debug.
            Debug.Log("Print json" + json);
            //update json.
            json = json.Replace("'", "\"");
            //Encode the JSON string into a bytes
            var postData = System.Text.Encoding.UTF8.GetBytes(json);
            //create headers.
            //Add keys an values .
            var headers = new Dictionary <string, string> {
                { "Content-Type", "application/json" }
            };
            //Now call a new WWW request
            var www = new WWW(url, postData, headers);

            //Yield return www .
            yield return(www);

            //deacctivate loding panel .
            LeaderBoardLoadinPanel.SetActive(false);

            //check for error.
            //Registered success fully.
            if (string.IsNullOrEmpty(www.error))
            {
                var receivedData = JSON.Parse(www.text)["User"];
                Debug.Log(receivedData);
                //var modifiledData = "Name" + "         " + "Joe Games Currency"+"            "+"Emailid";


                SetLeaderBoardResult(receivedData);
            }
            else
            {
                var receivedData = www.error;
                Debug.Log("Data" + receivedData);
                SetLeaderBoardResult(receivedData);
            }

            www.Dispose();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the leader board details.
        /// </summary>
        /// <param name="result">The result.</param>
        /// <returns></returns>
        private List <LeaderBoardDetails> GetLeaderBoardDetails(List <JobStatusModel> result)
        {
            var groupedUsers = result.GroupBy(x => x.AppliedBy).ToList();
            var byTotalViews = groupedUsers.OrderByDescending(m => m.Count()).ToList();
            List <LeaderBoardDetails> leaderBoard = new List <LeaderBoardDetails>();

            foreach (var user in groupedUsers)
            {
                LeaderBoardDetails leaderBoardObject = new LeaderBoardDetails();
                leaderBoardObject.name        = user.Key;
                leaderBoardObject.Rank        = byTotalViews.FindIndex(x => x.Key == user.Key) + 1;
                leaderBoardObject.submissions = user.Count();
                leaderBoard.Add(leaderBoardObject);
            }
            return(leaderBoard);
        }