コード例 #1
0
ファイル: MrSignup.cs プロジェクト: trowlett/MISGA-Old-Signup
    public static int ValidateGuestPlaying(string EventID, int gID, int pID)
    {
        int       errorCode     = 0;
        string    MRMISGADBConn = ConfigurationManager.ConnectionStrings["MRMISGADBConnect"].ToString();
        MRMISGADB db            = new MRMISGADB(MRMISGADBConn);

        PlayersList entry = db.PlayersList.FirstOrDefault(p => p.EventID == EventID && p.GuestID == gID && p.Marked == 0);

        if (entry != null)
        {
            if (entry.PlayerID != pID)
            {
                errorCode = 1;                       // set error that guest is already playing with another member
            }
        }

        Guest gentry = db.Guest.FirstOrDefault(g => g.GuestID == gID);

        if (gentry != null)
        {
            if (gentry.Played > 0)
            {
                errorCode = 2;                          // set erro that guest has already played as a guest once this year.
            }
        }

        return(errorCode);
    }
コード例 #2
0
 void Awake()
 {
     playerManager = GameObject.Find("Player Manager");
     players       = playerManager.GetComponent <Players>();
     playersList   = playerManager.GetComponent <PlayersList>();
     aliveCount    = GameObject.Find("Alive").GetComponent <AlivePlayerCount>();
 }
コード例 #3
0
        public BindingList <Player> EventSelectionChangedPlayers(Event selectedEvent)
        {
            BindingList <Player> itemSource = null;

            try
            {
                if (selectedEvent.Type.TypeName.Equals("Микст"))
                {
                    itemSource = new BindingList <Player>(PlayersList);
                }
                else if (selectedEvent.Sort.Equals("Женщины"))
                {
                    itemSource = new BindingList <Player>(PlayersList.Where(p => p.Sex.Equals("Женский")).ToList());
                }
                else
                {
                    itemSource = new BindingList <Player>(PlayersList.Where(p => p.Sex.Equals("Мужской")).ToList());
                }
            }
            catch
            {
                MessageBox.Show("Нельзя сделать выборку, когда не выбрано событие!");
            }

            return(itemSource);
        }
コード例 #4
0
    public IEnumerator GetAllPlayerOnline()
    {
        Player          player     = FindObjectOfType <Player>();
        UnityWebRequest httpClient = new UnityWebRequest(player.HttpServerAddress + "/api/Player/AllGames", "GET");

        httpClient.SetRequestHeader("Authorization", "bearer " + player.Token);
        httpClient.SetRequestHeader("Accept", "application/json");
        httpClient.downloadHandler    = new DownloadHandlerBuffer();
        httpClient.certificateHandler = new ByPassCertificate();
        yield return(httpClient.SendWebRequest());

        if (httpClient.isNetworkError || httpClient.isHttpError)
        {
            throw new Exception("Helper > GetPlayerInfo: " + httpClient.error);
        }
        else
        {
            string      stringToRecieve = httpClient.downloadHandler.text;
            string      json            = "{\"players\":" + stringToRecieve + "}";
            PlayersList players         = JsonUtility.FromJson <PlayersList>(json);
            foreach (PlayerSerializable p in players.players)
            {
                connectionsText.text += "Player " + p.Id.Substring(0, 5) + " " + p.Nickname + " <color=green> is Online! </color>" + "\n";
            }
        }

        httpClient.Dispose();
    }
コード例 #5
0
 void Start()
 {
     myplayer      = PlayersList.GetMyPlayer();
     killtrigger   = myplayer.GetComponent <KillTrigger>();
     reportTrigger = myplayer.GetComponent <ReportTrigger>();
     ventTrigger   = myplayer.GetComponent <VentTrigger>();
 }
コード例 #6
0
        private void LoadPlayersData(HandHistories.Objects.Hand.HandHistory CurrentGame)
        {
            PlayersList.Clear();

            var players = CurrentGame.Players;

            for (int i = 0; i < players.Count; i++)
            {
                var list = new List <CardModel>();

                if (players[i].hasHoleCards)
                {
                    foreach (var card in players[i].HoleCards)
                    {
                        list.Add(new CardModel()
                        {
                            Rank = new RangeCardRank().StringToRank(card.Rank),
                            Suit = new RangeCardSuit().StringToSuit(card.Suit)
                        });
                    }
                }

                if (i > PlayersList.Count - 1)
                {
                    PlayersList.Add(new PlayerModel());
                }

                var currentPlayer = PlayersList[i];
                currentPlayer.SetCollection(list);
                currentPlayer.PlayerName = players[i].PlayerName;
            }
        }
コード例 #7
0
        public void PrzydzielSaldoTest()
        {
            //Arrange
            PlayersList x = new PlayersList()
            {
                new PlayerItem()
                {
                    Nazwa = "gracz1"
                },
                new PlayerItem()
                {
                    Nazwa = "gracz2"
                },
                new PlayerItem()
                {
                    Nazwa = "gracz3"
                },
                new PlayerItem()
                {
                    Nazwa = "gracz4"
                }
            };

            //act
            x.PrzydzielSaldo();
            //assert
            Assert.AreEqual(20000, x.AktualnyGracz.Saldo);
        }
コード例 #8
0
    IEnumerator CR_Vent_In(GameObject _player, Vector3 target, float overTime)
    {
        //If I am Venting then disable movement.
        GameObject myPlayer = PlayersList.GetMyPlayer();

        if (_player == myPlayer)
        {
            playerMovement.canMove = false;
        }

        // Move the player on top of the vent.
        float   startTime = Time.time;
        Vector3 source    = _player.transform.position;
        float   distance  = Vector3.Distance(source, target);

        if (!(distance > 0.349 && distance < 0.35))
        {
            while (Time.time < startTime + overTime)
            {
                _player.transform.position = Vector3.Lerp(source, target, (Time.time - startTime) / overTime);
                yield return(null);
            }
        }
        _player.transform.position = target;


        // Play vent-in animation.
        //_player.GetComponentInChildren<Animator>().SetBool("vent", true);

        // Wait for the length of animations then hide the character.
        yield return(new WaitForSeconds(0.25f));

        //Disable the sprite.
        _player.GetComponentInChildren <SpriteRenderer>().enabled = false;
    }
コード例 #9
0
        public List <Card> GiveFirstCard()
        {
            var cardsToCompare = new List <Card>();

            PlayersList.ForEach(player => cardsToCompare.Add(player.GiveFirstCard()));
            return(cardsToCompare);
        }
コード例 #10
0
        private async void CalculateEquity(object obj)
        {
            if (IsCalculationRunning.HasValue)
            {
                if (IsCalculationRunning.Value)
                {
                    if (cts != null)
                    {
                        IsCalculationRunning = null;
                        cts.Cancel();
                    }
                    return;
                }
            }
            else
            {
                return;
            }

            if (PlayersList.Where(x => x.GetPlayersHand().Count > 0).Count() < 2)
            {
                IsCalculateEquityError = true;
                return;
            }

            IsCalculateEquityError = false;

            await CalculateEquity();
        }
コード例 #11
0
 private void OnTriggerExit(Collider other)
 {
     if (other.gameObject == PlayersList.GetMyPlayer())
     {
         UseBtn.interactable = false;
     }
 }
コード例 #12
0
        private string CalculateStrongestOpponent(HandHistories.Objects.Hand.HandHistory CurrentGame, Street CurrentStreet)
        {
            try
            {
                IEnumerable <EquityRangeSelectorItemViewModel> oponnentHands = new List <EquityRangeSelectorItemViewModel>();

                var opponentName = string.Empty;

                MainAnalyzer.GetStrongestOpponent(CurrentGame, CurrentStreet, out opponentName, out oponnentHands);

                if (AutoGenerateHandRanges)
                {
                    if (!string.IsNullOrEmpty(opponentName) &&
                        oponnentHands.Any() &&
                        PlayersList.Any(x => x.PlayerName == opponentName && x.Cards.All(c => !c.Validate())))
                    {
                        oponnentHands.ForEach(r => r.UsedCards = _board.Cards);

                        var player = PlayersList.FirstOrDefault(x => x.PlayerName == opponentName);
                        player?.SetRanges(oponnentHands);
                    }
                }

                return(opponentName);
            }
            catch (Exception ex)
            {
                LogProvider.Log.Error(this, "Could not determine the strongest opponent", ex);
            }

            return(string.Empty);
        }
コード例 #13
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
コード例 #14
0
        public void PobierzOplateZaStartTest()
        {
            //Arrange
            PlayersList x = new PlayersList()
            {
                new PlayerItem()
                {
                    Nazwa = "gracz1"
                },
                new PlayerItem()
                {
                    Nazwa = "gracz2"
                },
                new PlayerItem()
                {
                    Nazwa = "gracz3"
                },
                new PlayerItem()
                {
                    Nazwa = "gracz4"
                }
            };

            //act
            x.PobierzOplateZaStart();
            //assert
            Assert.AreEqual(300, x.AktualnyGracz.Saldo);
        }
コード例 #15
0
ファイル: Program.cs プロジェクト: DinaraZZ/DZ1022
        static void Main(string[] args)
        {
            TablesDataCreatorAndFiller.CreateDataAndFillTables();
            PlayersList.ShowAllPlayers();

            Console.WriteLine("Done.");
            Console.ReadKey();
        }
コード例 #16
0
ファイル: LogPlayViewModel.cs プロジェクト: amselem/bgguwp
 public void FilterPlayers(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
 {
     if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
     {
         FilteredPlayersList = new ObservableCollection <PlayerDataItem>(
             PlayersList.Where(p => p.Name.IndexOf(sender.Text, 0, StringComparison.CurrentCultureIgnoreCase) >= 0).ToList());
     }
 }
コード例 #17
0
    public void ExitTask(bool isComplete)
    {
        doingTask = false;
        PlayersList.GetMyPlayer().GetComponent <PlayerMovement>().canMove = true;
        VendingMachineVCam.gameObject.SetActive(false);

        TaskComplete = isComplete;
    }
コード例 #18
0
 private void SetUpPlayerConfigData()
 {
     for (var i = 0; i < _configurationData.PlayerIndexes.Count; i++)
     {
         ConfiguredPlayers[_configurationData.PlayerIds[i]].PlayerDetails =
             PlayersList.FirstOrDefault(m => m.Id == _configurationData.PlayerIndexes[i]);
     }
 }
コード例 #19
0
 private void OnPlayersReady()
 {
     players = PlayersList.GetPlayers();
     //Register players and give roles
     if (PhotonNetwork.IsMasterClient)
     {
         RegisterPlayersRoles();
     }
 }
コード例 #20
0
 private void RaiseCalculateBluffNotification(PlayerModel playerModel)
 {
     CalculateBluffRequest.Raise(new CalculateBluffNotification
     {
         Title           = string.Empty,
         EquityValue     = playerModel.EquityValue,
         NumberOfPlayers = PlayersList.Where(x => x.GetPlayersHand().Count > 0).Count()
     });
 }
コード例 #21
0
        public void SwapActivePlayer()
        {
            //TODO what if 2 players out from round?
            var activeIndex = PlayersList.IndexOf(ActivePlayer);

            ActivePlayer = (activeIndex == PlayersList.Count - 1)
                ? PlayersList[0]
                : PlayersList[activeIndex + 1];
        }
コード例 #22
0
 private void OnTriggerExit(Collider other)
 {
     // Disable Use button
     if (other.gameObject == PlayersList.GetMyPlayer())
     {
         taskManager.currentTask = null;
         crewmateHud.ToggleUseBtn(false);
     }
 }
コード例 #23
0
        public void RemovePlayer(Player player)
        {
            _ = player ?? throw new ArgumentNullException();

            if (!PlayersList.Remove(player))
            {
                throw new InvalidOperationException("Player does not found");
            }
        }
コード例 #24
0
 private void OnTriggerStay(Collider other)
 {
     // Enable Use button
     if (other.gameObject == PlayersList.GetMyPlayer())
     {
         taskManager.currentTask = gameObject;
         crewmateHud.ToggleUseBtn(true);
     }
 }
コード例 #25
0
        private void ClearEquity()
        {
            foreach (var player in PlayersList.Where(x => x.EquityValue != 0))
            {
                player.EquityValue = 0.0;
            }

            IsCalculateEquityError = false;
            IsCanExport            = false;
        }
コード例 #26
0
ファイル: Square.cs プロジェクト: rocverde/GrandChaseIV
 public void LeaveSquare(ClientSession cs)
 {
     using (OutPacket oPacket = new OutPacket(GameOpcodes.EVENT_LEAVE_SQUARE_ACK))
     {
         PlayersList.Remove(cs);
         oPacket.WriteInt(0);
         oPacket.Assemble(cs.CRYPT_KEY, cs.CRYPT_HMAC, cs.CRYPT_PREFIX, ++cs.CRYPT_COUNT);
         cs.Send(oPacket);
     }
 }
コード例 #27
0
    public void ExitTask(bool isComplete)
    {
        doingTask = false;
        PlayersList.GetMyPlayer().GetComponent <PlayerMovement>().canMove = true;
        TrashCanFreeLookCam.gameObject.SetActive(false);
        trashBagSpringJoint.GetComponent <SpringJoint>().spring = defaultSpringForce;


        TaskComplete = isComplete;
    }
コード例 #28
0
 private void RaiseExportDataNotification()
 {
     ExportRequest.Raise(new ExportNotification()
     {
         Title = string.Empty,
         CurrentHandHistory = _currentHandHistory,
         PlayersList        = PlayersList.Where(x => x.PlayerCards.Count > 0),
         BoardCards         = Board.Cards
     });
 }
コード例 #29
0
        public IExternalData GetData(Stream stream)
        {
            PlayersList players = null;

            using (StreamReader reader = new StreamReader(stream))
            {
                JsonSerializer serializer = new JsonSerializer();
                players = (PlayersList)serializer.Deserialize(reader, typeof(PlayersList));
            }
            return(players);
        }
コード例 #30
0
        private void DeleteSelected()
        {
            var dialogResult = MessageBox.Show($"Czy na pewno chcesz usunąć {Environment.NewLine} {Selected}?", "Usuwanie", MessageBoxButton.YesNo);

            if (dialogResult == MessageBoxResult.Yes)
            {
                PlayersList.Remove(Selected);
            }
            Clear();
            Selected = null;
        }
コード例 #31
0
ファイル: PlayersData.cs プロジェクト: bedashii/ReturnMedz
        public void LoadUnprocessedPlayers(PlayersList playersList, int topCount)
        {
            string q = "SELECT TOP " + topCount + " " + _selectColumnNames + " FROM dbo.Players P\n";
            q += "WHERE PersonaName IS NULL\n";
            //q += "OR LastUpdated < CONVERT(DATE, GETDATE())\n";
            //q += "WHERE LastUpdated < CONVERT(DATE, GETDATE())\n";
            //q += "ORDER BY LastUpdated";
            q += "ORDER BY SteamID";

            DataTable dt = dataHelper.ExecuteQuery(dataHelper.CreateCommand(q));
            PopulateList(playersList, dt);
        }
コード例 #32
0
ファイル: Program.cs プロジェクト: bedashii/ReturnMedz
        static void Main(string[] args)
        {
            DotaDbGenLib.Lists.PlayersList _players = new PlayersList();
            _players.GetAll(0, _avatarFetchCount);

            int counter = 0;

            if (!Directory.Exists(_directory))
                Directory.CreateDirectory(_directory);

            do
            {
                counter += _players.Count;

                _players.ForEach(x =>
                                     {
                                         if (x != null && x.RecordExists && x.AvatarFull != null)
                                         {
                                             int index = x.AvatarFull.LastIndexOf('/');
                                             if (index != -1)
                                             {
                                                 string path = x.AvatarFull.Substring(index + 1);
                                                 try
                                                 {
                                                     if (!File.Exists(_directory + "\\" + path))
                                                     {
                                                         DownloadRemoteImageFile(x.AvatarFull, _directory + "\\" + path);
                                                         Console.WriteLine(path + " downloaded!");
                                                     }
                                                     else
                                                     {
                                                         Console.WriteLine(path + " exists!");
                                                     }
                                                 }
                                                 catch (Exception ex)
                                                 {
                                                     Console.WriteLine(ex.Message);
                                                 }
                                             }
                                         }
                                     });

                _players.Clear();
                _players.GetAll(counter, _avatarFetchCount);
            } while (_players.Count > 0);
        }
コード例 #33
0
ファイル: Players.aspx.cs プロジェクト: bedashii/ReturnMedz
    private void Search(string searchText)
    {
        int current = Convert.ToInt32(HiddenFieldCurrentPage.Value) - 1;
        int total = Convert.ToInt32(HiddenFieldTotalPages.Value);

        PlayersList playersList = new PlayersList();
        if (TextBoxSearchBox.Text == "")
            playersList.GetAll(current == 0 ? 0 : ((current * itemsPerPage) + 1), current == 0 ? itemsPerPage : itemsPerPage - 1);
        else
            playersList.GetByLikeName(TextBoxSearchBox.Text, current == 0 ? 0 : ((current * itemsPerPage) + 1), current == 0 ? itemsPerPage : itemsPerPage - 1);

        // If exact match found, move to the top of the list.
        DotaDbGenLib.Business.Players player = playersList.Find(x => x.PersonaName == TextBoxSearchBox.Text);
        if (player != null)
        {
            playersList.Remove(player);
            playersList.Insert(0, player);
        }

        ListViewPlayers.DataSource = playersList;
        ListViewPlayers.DataBind();
    }
コード例 #34
0
ファイル: Program.cs プロジェクト: bedashii/ReturnMedz
        private static bool GetOlderMatchesPerPlayer(long steamID64)
        {
            Dota2DataMiner.Class1 d2Dm = new Dota2DataMiner.Class1();

            PlayersList playersList = new PlayersList();
            int matchID = 0;
            // Make sure there is older matches to find.
            if (playersList.LastMatchFound(steamID64, out matchID))
                return false;

            // Check for and Recover Local Data.
            d2Dm.GetMatchPerPlayerLocalData(steamID64, matchID);

            // Check if System Config permits this method call.
            SystemConfig systemConfig = new SystemConfig();
            systemConfig.GetByKey("GetOlderMatchesPerPlayer");

            if (systemConfig.RecordExists)
            {
                if (DateTime.Now < Convert.ToDateTime(systemConfig.SCValue).AddSeconds(1))
                    return true;
            }
            else
            {
                systemConfig.SCKey = "GetOlderMatchesPerPlayer";
            }

            // Get or Create SteamRequest
            SteamRequests steamRequests;
            GetSteamRequest(out steamRequests);

            // Check if API can be used else return
            if (DateTime.Now < steamRequests.LastUpdated.AddSeconds(1))
                return true;

            // Increment the Steam Request Counter
            Console.WriteLine("Steam request number : " + steamRequests.RequestNumber + " - Get Older Matches Per Player");
            steamRequests.RequestNumber++;
            steamRequests.LastUpdated = DateTime.Now;
            steamRequests.InsertOrUpdate();

            Players player = new Players();

            // Get Live Data.
            try
            {
                if (!d2Dm.GetMatchPerPlayer(steamID64, matchID, "GetOlderMatchesPerPlayer", systemConfig))
                {
                    if (!QuiteMode)
                        Console.WriteLine("Oldest Player match found.");

                    player.GetBySteamID64(steamID64);
                    player.OldestMatchFound = true;
                    player.Update();
                }

                systemConfig.SCValue = DateTime.Now.ToString();
                systemConfig.InsertOrUpdate();
            }
            catch (Exception)
            {
                steamRequests.RequestNumber--;
                steamRequests.InsertOrUpdate();
            }

            if (player.RecordExists && player.OldestMatchFound)
                return false;
            else
                return true;
        }
コード例 #35
0
ファイル: Program.cs プロジェクト: bedashii/ReturnMedz
        private static void GetPlayerSummaries()
        {
            Dota2DataMiner.Class1 d2Dm = new Dota2DataMiner.Class1();

            PlayersList players = new PlayersList();

            // Get Top 100 Unprocessed Players
            players.GetUnprocessedPlayers(Dota2DataMiner.Class1.PlayerSummariesLimiter);

            // Check for and Recover Local Data.
            d2Dm.GetNewPlayerSummariesRecoverLocalData(players);

            // Get Top 100 Unprocessed Players
            players.GetUnprocessedPlayers(Dota2DataMiner.Class1.PlayerSummariesLimiter);

            // Check if System Config permits this method call.
            SystemConfig systemConfig = new SystemConfig();
            systemConfig.GetByKey("GetPlayerSummaries");

            if (systemConfig.RecordExists)
            {
                if (DateTime.Now < Convert.ToDateTime(systemConfig.SCValue).AddSeconds(1))
                    return;
            }
            else
                systemConfig.SCKey = "GetPlayerSummaries";

            // Get or Create And Increment SteamRequest
            SteamRequests steamRequests;
            GetSteamRequest(out steamRequests);

            // Check if API can be used else return
            if (DateTime.Now < steamRequests.LastUpdated.AddSeconds(1))
                return;

            // Increment the Steam Request Counter
            Console.WriteLine("Steam request number : " + steamRequests.RequestNumber + " - Get Player Summaries");
            steamRequests.RequestNumber++;
            steamRequests.LastUpdated = DateTime.Now;
            steamRequests.InsertOrUpdate();

            // Get Live Data.
            if (d2Dm.GetNewPlayerSummaries(players, systemConfig))
            {
                // New Data Found, sleep for 1 seconds as steam requests before continuing.
                systemConfig.SCValue = DateTime.Now.ToString();
            }
            else
            {
                // No New Data Found, sleep for 60 seconds to save daily requests.
                if (!QuiteMode)
                    Console.WriteLine("No New Players Found.");
                systemConfig.SCValue = DateTime.Now.AddMinutes(1).ToString();
            }

            systemConfig.InsertOrUpdate();
        }
コード例 #36
0
ファイル: Program.cs プロジェクト: bedashii/ReturnMedz
        private static void GetMatchesPerUndocumentedPlayer()
        {
            Dota2DataMiner.Class1 d2Dm = new Dota2DataMiner.Class1();

            PlayersList playersList = new PlayersList();

            // Get latest Team.
            long steamID64 = playersList.GetPlayerWithNoMatchRecords();

            // If nothing new to find, return
            if (steamID64 == -1)
                return;

            // Check for and Recover Local Data.
            d2Dm.GetMatchPerPlayerLocalData(steamID64, 0);

            // Get latest Team.
            steamID64 = playersList.GetPlayerWithNoMatchRecords();

            // If nothing new to find, return
            if (steamID64 == -1)
                return;

            // Check if System Config permits this method call.
            SystemConfig systemConfig = new SystemConfig();
            systemConfig.GetByKey("GetMatchesPerUndocumentedPlayer");

            if (systemConfig.RecordExists)
            {
                if (DateTime.Now < Convert.ToDateTime(systemConfig.SCValue).AddSeconds(1))
                    return;
            }
            else
            {
                systemConfig.SCKey = "GetMatchesPerUndocumentedPlayer";
            }

            // Get or Create SteamRequest
            SteamRequests steamRequests;
            GetSteamRequest(out steamRequests);

            // Check if API can be used else return
            if (DateTime.Now < steamRequests.LastUpdated.AddSeconds(1))
                return;

            // Increment the Steam Request Counter
            Console.WriteLine("Steam request number : " + steamRequests.RequestNumber + " - Get Matches Per Undocumented Player");
            steamRequests.RequestNumber++;
            steamRequests.LastUpdated = DateTime.Now;
            steamRequests.InsertOrUpdate();

            // Get Live Data.
            if (d2Dm.GetMatchPerPlayer(steamID64, 0, "GetMatchesPerUndocumentedPlayer", systemConfig))
            {
                // New Data Found, sleep for 1 seconds as steam requests before continuing.
                systemConfig.SCValue = DateTime.Now.ToString();
            }
            else
            {
                // No New Data Found, sleep for 60 seconds to save daily requests.
                if (!QuiteMode)
                    Console.WriteLine("No Match Per Player Found.");
                systemConfig.SCValue = DateTime.Now.AddMinutes(1).ToString();
            }

            systemConfig.InsertOrUpdate();
        }
コード例 #37
0
ファイル: Class1.cs プロジェクト: bedashii/ReturnMedz
        public bool GetNewPlayerSummaries(PlayersList players, SystemConfig systemConfig)
        {
            if (players == null || players.Count == 0)
                return false;

            XmlDocument response = new XmlDocument();

            string request = @"http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=" + steamAPIKey;

            request += "&format=xml";

            request += @"&SteamIDs=";

            for (int i = 0; i < players.Count; i++)
            {
                if (i != 0)
                    request += ",";
                request += (players[i].SteamID + 76561197960265728).ToString();
            }

            response = MakeRequest("GetPlayerSummaries", request, systemConfig);

            if (response == null)
            {
                if (players.Count == 1 && PlayerSummariesLimiter == 1)
                {
                    players[0].PersonaName = "BROKEN";
                    players[0].LastUpdated = new DateTime(2020, 1, 1);

                    PlayerSummariesLimiter = 100;
                    players[0].InsertOrUpdate();
                }
                return true;
            }
            else
            {
                response.Save("PlayerSummaryInfo" + players[0].SteamID + "(" + DateTime.Now.ToString("ddMMyyyy") + ").xml");

                return GetPlayers(response, players);
            }
        }
コード例 #38
0
ファイル: Class1.cs プロジェクト: bedashii/ReturnMedz
        private bool GetPlayers(XmlDocument response, PlayersList players)
        {
            bool newPlayersAdded = false;

            foreach (XmlNode subRootNode in response.DocumentElement.ChildNodes)
            {
                if (subRootNode.Name == "players")
                {
                    foreach (XmlNode playerNode in subRootNode)
                    {
                        Players player = new Players();
                        if (playerNode["steamid"] != null)
                        {
                            player =
                                players.Find(
                                    x =>
                                    x.SteamID ==
                                    Convert.ToInt32(Convert.ToInt64(playerNode["steamid"].InnerText) - 76561197960265728));
                            if (!player.RecordExists)
                            {
                                player = new Players();
                                players.Add(player);
                            }
                        }
                        else
                        {
                            player = new Players();
                            players.Add(player);
                        }

                        if (playerNode["steamid"] != null)
                            player.SteamID64 = Convert.ToInt64(playerNode["steamid"].InnerText);
                        if (playerNode["communityvisibilitystate"] != null)
                            player.CommunityVisibilityState = Convert.ToInt32(playerNode["communityvisibilitystate"].InnerText);
                        if (playerNode["profilestate"] != null)
                            player.ProfileState = Convert.ToInt32(playerNode["profilestate"].InnerText);
                        if (playerNode["personaname"] != null)
                            player.PersonaName = playerNode["personaname"].InnerText;
                        if (playerNode["lastlogoff"] != null)
                            player.LastLogOff = UnixTimeStampToDateTime(Convert.ToDouble(playerNode["lastlogoff"].InnerText));
                        if (playerNode["profileurl"] != null)
                            player.ProfileURL = playerNode["profileurl"].InnerText;
                        if (playerNode["avatar"] != null)
                            player.Avatar = playerNode["avatar"].InnerText;
                        if (playerNode["avatarmedium"] != null)
                            player.AvatarMedium = playerNode["avatarmedium"].InnerText;
                        if (playerNode["avatarfull"] != null)
                            player.AvatarFull = playerNode["avatarfull"].InnerText;
                        if (playerNode["personastate"] != null)
                            player.PersonaState = Convert.ToInt32(playerNode["personastate"].InnerText);
                        if (playerNode["realname"] != null)
                            player.RealName = playerNode["realname"].InnerText;

                        if (playerNode["primaryclanid"] != null)
                            player.PrimaryClanID = Convert.ToInt64(playerNode["primaryclanid"].InnerText);
                        if (playerNode["timecreated"] != null)
                            player.TimeCreated = UnixTimeStampToDateTime(Convert.ToDouble(playerNode["timecreated"].InnerText));
                        if (playerNode["loccountrycode"] != null)
                            player.LocCountyCode = playerNode["loccountrycode"].InnerText;
                        if (playerNode["locstatecode"] != null)
                            player.LocStateCode = playerNode["locstatecode"].InnerText;
                        if (playerNode["loccityid"] != null)
                            player.LocCityID = playerNode["loccityid"].InnerText;

                        if (!QuiteMode)
                            Console.WriteLine("Steam ID: " + player.SteamID + " Name: " + player.PersonaName + " Real Name: " + (player.RealName ?? ""));

                        newPlayersAdded = true;
                    }
                }
            }

            players.ForEach(x => x.LastUpdated = DateTime.Now);
            players.UpdateAll();

            if (File.Exists("PlayerSummaryInfo" + players[0].SteamID + "(" +
                                                DateTime.Now.ToString("ddMMyyyy") + ").xml"))
            {
                File.Delete("PlayerSummaryInfo" + players[0].SteamID + "(" +
                            DateTime.Now.ToString("ddMMyyyy") + ").xml");
            }

            return newPlayersAdded;
        }
コード例 #39
0
ファイル: Class1.cs プロジェクト: bedashii/ReturnMedz
 public void GetNewPlayerSummariesRecoverLocalData(PlayersList players)
 {
     if (players != null && players.Count > 0)
     {
         if (
             File.Exists("PlayerSummaryInfo" + players[0].SteamID + "(" +
                         DateTime.Now.ToString("ddMMyyyy") + ").xml"))
         {
             XmlDocument response = new XmlDocument();
             response.Load("PlayerSummaryInfo" + players[0].SteamID + "(" +
                         DateTime.Now.ToString("ddMMyyyy") + ").xml");
             GetPlayers(response, players);
         }
     }
 }
コード例 #40
0
ファイル: Class1.cs プロジェクト: bedashii/ReturnMedz
        private void addPlayer(PlayersList players, TeamPlayersList teamPlayersList, int teamID, XmlNode teamNode, string playerAccountId)
        {
            Players player = new Players();
            if (teamNode[playerAccountId] != null)
            {
                int steamID = Convert.ToInt32(teamNode[playerAccountId].InnerText);

                if (players.Find(x => x.SteamID == steamID) == null)
                {
                    player.LoadItem(steamID);

                    player.SteamID = steamID;
                    //player.TeamID = teamID;

                    players.Add(player);

                    TeamPlayers teamPlayers = new TeamPlayers();
                    teamPlayers.GetByTeamPlayer(teamID, steamID);

                    teamPlayers.Team = teamID;
                    teamPlayers.Player = steamID;
                    teamPlayers.InsertOrUpdate();

                    if (!QuiteMode)
                        Console.WriteLine("Player ID:" + player.SteamID);
                }

                TeamPlayers teamPlayer = teamPlayersList.Find(x => x.Player == steamID);
                if (teamPlayer != null)
                    teamPlayersList.Remove(teamPlayer);
            }
        }
コード例 #41
0
ファイル: Class1.cs プロジェクト: bedashii/ReturnMedz
        public bool GetTeams(XmlDocument response, int? teamID)
        {
            TeamsList teamsList = new TeamsList();

            if (teamID != null)
            {
                Teams tempTeams = new Teams((int)teamID);
                if (!tempTeams.RecordExists)
                {
                    teamsList.Add(new Teams() { ID = Convert.ToInt32(teamID), TeamName = "UNKNOWN" });
                }
                else
                {
                    teamsList.Add(tempTeams);
                }
            }

            bool newTeamsAdded = false;
            PlayersList players = new PlayersList();

            foreach (XmlNode subRootNode in response.DocumentElement.ChildNodes)
            {
                if (subRootNode.Name == "teams")
                {
                    foreach (XmlNode teamNode in subRootNode)
                    {
                        Teams team = new Teams();
                        if (teamNode["team_id"] != null)
                        {
                            team.LoadItem(Convert.ToInt32(teamNode["team_id"].InnerText));
                            if (!team.RecordExists)
                            {
                                team = new Teams();
                            }
                        }
                        else
                        {
                            team = new Teams();
                        }

                        if (teamNode["team_id"] != null)
                            team.ID = Convert.ToInt32(teamNode["team_id"].InnerText);

                        if (team.ID == teamID)
                        {
                            Teams tempTeams = teamsList.Find(x => x.ID == teamID);
                            if (tempTeams != null)
                            {
                                teamsList.Remove(tempTeams);
                            }
                        }

                        if (teamNode["name"] != null)
                            team.TeamName = teamNode["name"].InnerText;
                        if (teamNode["tag"] != null)
                            team.Tag = teamNode["tag"].InnerText;
                        if (teamNode["time_created"] != null)
                            team.TimeCreated = teamNode["time_created"].InnerText;
                        if (teamNode["rating"] != null)
                            team.Rating = teamNode["rating"].InnerText;
                        if (teamNode["logo"] != null)
                            team.Logo = teamNode["logo"].InnerText;
                        if (teamNode["logo_sponsor"] != null)
                            team.LogoSponsor = teamNode["logo_sponsor"].InnerText;
                        if (teamNode["country_code"] != null)
                            team.CountryCode = teamNode["country_code"].InnerText;
                        if (teamNode["url"] != null)
                            team.URL = teamNode["url"].InnerText;
                        if (teamNode["games_played_with_current_roster"] != null)
                            team.GamesPlayed = Convert.ToInt32(teamNode["games_played_with_current_roster"].InnerText);
                        if (teamNode["admin_account_id"] != null)
                            team.AdminAccount = Convert.ToInt32(teamNode["admin_account_id"].InnerText);

                        team.LastUpdated = DateTime.Now;

                        if (!QuiteMode)
                            Console.WriteLine("Team ID: " + team.ID + " Name: " + team.TeamName);

                        if (!team.RecordExists)
                        {
                            newTeamsAdded = true;
                        }

                        team.InsertOrUpdate();

                        TeamPlayersList teamPlayers = new TeamPlayersList();
                        teamPlayers.GetByTeam(team.ID);

                        //Players
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_0_account_id");
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_1_account_id");
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_2_account_id");
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_3_account_id");
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_4_account_id");

                        // Reserves
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_5_account_id");
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_6_account_id");
                        addPlayer(players, teamPlayers, team.ID, teamNode, "player_7_account_id");

                        players.UpdateAll();
                        //leagues;

                        team = null;
                        players.Clear();

                        teamPlayers.ForEach(x => x.Delete());
                    }
                }
            }

            if (teamsList.Count > 0)
            {
                teamsList.ForEach(x => x.LastUpdated = DateTime.Now);
                teamsList.UpdateAll();
            }

            if (File.Exists("GetTeamInfo" + (teamID != null ? teamID.ToString() : "") + "(" +
                                                DateTime.Now.ToString("ddMMyyyy") + ").xml"))
            {
                File.Delete("GetTeamInfo" + (teamID != null ? teamID.ToString() : "") + "(" +
                            DateTime.Now.ToString("ddMMyyyy") + ").xml");
            }

            return newTeamsAdded;
        }
コード例 #42
0
ファイル: PlayersData.cs プロジェクト: bedashii/ReturnMedz
        public void GetByLikeName(PlayersList list, string searchString, int skip, int count)
        {
            string q = "WITH OrderedPlayer AS\n";
            q += "(\n";
            q += "SELECT \n";
            q += _selectColumnNames + "\n";
            q += ",ROW_NUMBER() OVER (ORDER BY P.PersonaName) AS 'RowNumber' FROM Players AS P\n";
            q += "WHERE P.PersonaName LIKE '%" + searchString + "%'\n";
            q += ")\n";
            q += "SELECT \n";
            q += _selectColumnNames + "\n";
            q += "FROM OrderedPlayer P\n";
            q += "WHERE RowNumber BETWEEN @Start AND @End;";

            SqlCommand cmd = dataHelper.CreateCommand(q);

            cmd.Parameters.Add("@Start", SqlDbType.Int).Value = skip;
            cmd.Parameters.Add("@End", SqlDbType.Int).Value = skip+count;

            PopulateList(list, dataHelper.ExecuteQuery(cmd));
        }