Ejemplo n.º 1
0
        public List <BossFight> GetHSElligibleBossFightsInRaid(int _UniqueRaidID, WowRealm _Realm, string _GroupName)
        {
            List <BossFight> hsBossFights = new List <BossFight>();
            var  groupRC = GetGroupRC(_Realm, _GroupName);
            Raid raid;

            if (groupRC != null && groupRC.Raids.TryGetValue(_UniqueRaidID, out raid) == true)
            {
                List <string> bossFightsAdded = new List <string>();
                foreach (var bossFight in raid.BossFights)
                {
                    if (bossFightsAdded.Contains(bossFight.BossName))
                    {
                        continue;//Do not add duplicates!
                    }
                    if (bossFight.IsQualityHigh())
                    {
                        bossFightsAdded.Add(bossFight.BossName);

                        double precision = bossFight.DataDetails.FightPrecision;
                        if (precision > 0.90)
                        {
                            hsBossFights.Add(bossFight);
                        }
                    }
                }
            }

            return(hsBossFights);
        }
Ejemplo n.º 2
0
        public int GetRealmInspectsForContributor(Contributor _Contributor, WowRealm _Realm)
        {
            var conn = OpenConnection();

            try
            {
                using (var cmd = new NpgsqlCommand("SELECT COUNT(*) FROM uploadtable up INNER JOIN playerdatatable pd ON up.id = pd.uploadid INNER JOIN playertable player ON player.id = pd.playerid WHERE up.contributor = :ContributorID AND player.realm = :Realm", conn))
                {
                    cmd.Parameters.Add(new NpgsqlParameter("ContributorID", NpgsqlDbType.Integer)).Value = _Contributor.ContributorID;
                    cmd.Parameters.Add(new NpgsqlParameter("Realm", NpgsqlDbType.Integer)).Value         = (int)_Realm;
                    using (var reader = cmd.ExecuteReader())
                    {
                        if (reader.Read() == true && reader.IsDBNull(0) == false)
                        {
                            return(reader.GetInt32(0));
                        }
                    }
                }
            }
            finally
            {
                CloseConnection();
            }
            return(-1);
        }
Ejemplo n.º 3
0
        private static VF_RealmPlayersDatabase.WowInstance GetRealmProgress(VF_RealmPlayersDatabase.WowRealm _Realm)
        {
            if (_Realm == VF_RealmPlayersDatabase.WowRealm.NostalGeek ||
                _Realm == VF_RealmPlayersDatabase.WowRealm.Warsong ||
                _Realm == VF_RealmPlayersDatabase.WowRealm.Nostalrius ||
                _Realm == VF_RealmPlayersDatabase.WowRealm.Kronos
                )
            {
                return(VF_RealmPlayersDatabase.WowInstance.Naxxramas);
            }
            else if (_Realm == VF_RealmPlayersDatabase.WowRealm.Nefarian ||
                     _Realm == VF_RealmPlayersDatabase.WowRealm.Al_Akir ||
                     _Realm == VF_RealmPlayersDatabase.WowRealm.Emerald_Dream
                     )
            {
                return(VF_RealmPlayersDatabase.WowInstance.Temple_Of_Ahn_Qiraj);
            }
            else if (_Realm == VF_RealmPlayersDatabase.WowRealm.Rebirth ||
                     _Realm == VF_RealmPlayersDatabase.WowRealm.Elysium2 ||
                     _Realm == VF_RealmPlayersDatabase.WowRealm.NostalriusPVE
                     )
            {
                return(VF_RealmPlayersDatabase.WowInstance.Blackwing_Lair);
            }

            return(VF_RealmPlayersDatabase.WowInstance.Molten_Core);
        }
Ejemplo n.º 4
0
 protected void Page_Init(object sender, EventArgs e)
 {
     if (IsPostBack == false)
     {
         string realmStr = Request.QueryString.Get("realm");
         if (realmStr == null)
         {
             realmStr = "All";
             HttpCookie realmControlCookie = Request.Cookies["RSRealmControl"];
             if (realmControlCookie != null)
             {
                 realmStr = realmControlCookie["Realm"];
             }
             if (Request.Url.Query == "")
             {
                 Response.Redirect(Request.Url + "?realm=" + realmStr);
             }
             else
             {
                 Response.Redirect(Request.Url + "&realm=" + realmStr);
             }
         }
         m_Realm = VF_RealmPlayersDatabase.StaticValues.ConvertRealm(realmStr);
         if (m_Realm == WowRealm.Unknown)
         {
             m_Realm = WowRealm.All;
         }
         rblRealm.Items.FindByValue(GetRealmParam()).Selected = true;
     }
     Page.PreLoad += Page_PreLoad;
 }
Ejemplo n.º 5
0
        public bool GetPlayerID(WowRealm _Realm, string _PlayerName, out SQLPlayerID _ResultPlayerID)
        {
            var conn = OpenConnection();

            try
            {
                using (var cmd = new NpgsqlCommand("SELECT id FROM playertable WHERE name=:Name AND realm=:Realm", conn))
                {
                    {
                        var nameParam = new NpgsqlParameter("Name", NpgsqlDbType.Text);
                        nameParam.Value = _PlayerName;
                        cmd.Parameters.Add(nameParam);
                    }
                    {
                        var realmParam = new NpgsqlParameter("Realm", NpgsqlDbType.Integer);
                        realmParam.Value = (int)_Realm;
                        cmd.Parameters.Add(realmParam);
                    }
                    using (var reader = cmd.ExecuteReader())
                    {
                        if (reader.Read() == true)
                        {
                            _ResultPlayerID = new SQLPlayerID(reader.GetInt32(0));
                            return(true);
                        }
                    }
                }
            }
            finally
            {
                CloseConnection();
            }
            _ResultPlayerID = SQLPlayerID.Invalid();
            return(false);
        }
Ejemplo n.º 6
0
        public List <Tuple <DateTime, string> > GetItemUsage(WowRealm _Realm, int _ItemID, int _SuffixID)
        {
            List <Tuple <DateTime, string> > retList = new List <Tuple <DateTime, string> >();
            var itemOwners = GetItemSummary(_ItemID, _SuffixID).ItemOwners;

            UInt64 bitMask;
            UInt64 realmValue;

            CalcRealmBits(_Realm, out bitMask, out realmValue);
            foreach (var itemOwner in itemOwners)
            {
                if ((itemOwner.Item1 & bitMask) == realmValue)
                {
                    var player = m_PlayerIDs.First((_Value) => _Value.Value == itemOwner.Item1);
                    if (player.Key.StartsWith("R"))
                    {
                        retList.Add(Tuple.Create(itemOwner.Item2, player.Key.Substring(3)));
                    }
                    else
                    {
                        retList.Add(Tuple.Create(itemOwner.Item2, player.Key.Substring(1)));
                    }
                }
            }
            return(retList);
        }
Ejemplo n.º 7
0
        public string CreatePVPTable(WowRealm _Realm, int _Count, PlayerColumn[] _Columns, Func <KeyValuePair <string, Player>, double> _SortLambda, Func <Player, bool> _RequirementLambda)
        {
            int pageIndex = PageUtility.GetQueryInt(Request, "page", 1) - 1;//Change range from 0 to * instead of 1 to *

            bool needHistory = false;

            if (_Columns.Contains(PlayerColumn.RankChange))
            {
                needHistory = true;
            }

            string table = "<table id='characters-table' class='table'>";

            table += "<thead>" + PageUtility.CreatePlayerTableHeaderRow(_Columns) + "</thead>";
            table += "<tbody>";

            var playerArray         = DatabaseAccess.GetRealmPlayers(this, _Realm, NotLoadedDecision.RedirectAndWait).OrderByDescending(_SortLambda);
            var playersHistoryArray = DatabaseAccess._GetRealmPlayersHistory(this, _Realm, NotLoadedDecision.ReturnNull);
            int nr = 0;

            foreach (var player in playerArray)
            {
                if (_RequirementLambda(player.Value) == true)
                {
                    nr++;
                    if (nr > pageIndex * _Count && nr <= (pageIndex + 1) * _Count)
                    {
                        if (needHistory == true)
                        {
                            VF_RealmPlayersDatabase.PlayerData.PlayerHistory playerHistory = null;
                            if (playersHistoryArray != null)
                            {
                                if (playersHistoryArray.TryGetValue(player.Key, out playerHistory) == false)
                                {
                                    playerHistory = null;
                                }
                            }
                            table += PageUtility.CreatePlayerRow(nr, _Realm, player.Value, _Columns, playerHistory);
                        }
                        else
                        {
                            table += PageUtility.CreatePlayerRow(nr, _Realm, player.Value, _Columns);
                        }
                    }
                }
                if (nr >= (pageIndex + 1) * _Count)
                {
                    break;
                }
            }
            table += "</tbody></table>";

            if (nr != 0 && nr <= pageIndex * _Count)
            {
                pageIndex = (nr - 1) / _Count;
                Response.Redirect(PageUtility.CreateUrlWithNewQueryValue(Request, "page", (pageIndex + 1).ToString()));
            }
            return(table);
        }
Ejemplo n.º 8
0
        //public GuildSummary GetGuildSummary(string _GuildName)
        //{
        //    GuildSummary guildSummary = null;
        //    if(m_Guilds.TryGetValue(_GuildName, out guildSummary) == false)
        //        return null;

        //    return guildSummary;
        //}
        public IEnumerable <KeyValuePair <string, GuildSummary> > GetGuilds(WowRealm _Realm)
        {
            if (_Realm == WowRealm.All)
            {
                return(m_Guilds);
            }
            return(m_Guilds.Where((_Value) => _Value.Value.Realm == _Realm));
        }
Ejemplo n.º 9
0
 private void CalcRealmBits(WowRealm _Realm, out UInt64 _BitMask, out UInt64 _RealmValue)
 {
     _BitMask    = 0xFFUL << 56;
     _RealmValue = GetRealmBitNR(_Realm) << 56;
     if (_RealmValue == 0)
     {
         _RealmValue = _BitMask;
     }
 }
Ejemplo n.º 10
0
        private void CalcRealmBits(WowRealm _Realm, out UInt64 _BitMask, out UInt64 _RealmValue)
        {
            _BitMask    = 0xFFUL << 56;
            _RealmValue = _BitMask;
            switch (_Realm)
            {
            case WowRealm.Emerald_Dream:
                _RealmValue = 1UL << 56;
                break;

            case WowRealm.Warsong:
                _RealmValue = 2UL << 56;
                break;

            case WowRealm.Al_Akir:
                _RealmValue = 3UL << 56;
                break;

            case WowRealm.Valkyrie:
                _RealmValue = 4UL << 56;
                break;

            case WowRealm.VanillaGaming:
                _RealmValue = 5UL << 56;
                break;

            case WowRealm.Rebirth:
                _RealmValue = 6UL << 56;
                break;

            case WowRealm.Archangel:
                _RealmValue = 7UL << 56;
                break;

            case WowRealm.Nostalrius:
                _RealmValue = 8UL << 56;
                break;

            case WowRealm.Kronos:
                _RealmValue = 9UL << 56;
                break;

            case WowRealm.NostalGeek:
                _RealmValue = 10UL << 56;
                break;

            case WowRealm.Nefarian:
                _RealmValue = 11UL << 56;
                break;

            case WowRealm.NostalriusPVE:
                _RealmValue = 12UL << 56;
                break;
            }
        }
Ejemplo n.º 11
0
        public GuildSummary GetGuildSummary(WowRealm _Realm, string _GuildName)
        {
            GuildSummary retValue = null;

            if (m_Guilds.TryGetValue(Utility.GetRealmPreString(_Realm) + _GuildName, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Ejemplo n.º 12
0
        public GroupInfo GetGroupInfo(WowRealm _Realm, string _GroupName)
        {
            GroupInfo retValue = null;

            if (m_GroupInfos.TryGetValue(Utility.GetRealmPreString(_Realm) + _GroupName, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Ejemplo n.º 13
0
        public GroupRaidCollection GetGroupRC(WowRealm _Realm, string _GroupName)
        {
            GroupRaidCollection retValue = null;

            if (m_GroupRCs.TryGetValue(Utility.GetRealmPreString(_Realm) + _GroupName, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Ejemplo n.º 14
0
        public PVPSummary GetPVPSummary(WowRealm _Realm, string _Player)
        {
            PVPSummary retValue = null;
            string     realm    = VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm);

            if (m_PVPSummaries.TryGetValue(realm + _Player, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Ejemplo n.º 15
0
        public PlayerData.ItemInfo GetLatestItemInfoForPlayer(string _Player, WowRealm _Realm, int _ItemID)
        {
            PlayerData.ItemInfo latestItemInfo = new PlayerData.ItemInfo();
            latestItemInfo.Slot   = VF_RealmPlayersDatabase.ItemSlot.Unknown;
            latestItemInfo.ItemID = _ItemID;
            DateTime latestItemInfoDate = DateTime.MinValue;

            var conn = OpenConnection();

            try
            {
                using (var cmd = new NpgsqlCommand("SELECT DISTINCT ii.enchantid, ii.suffixid, ii.uniqueid, MAX(pdt.updatetime) FROM PlayerTable player"
                                                   + " INNER JOIN PlayerDataTable pdt ON pdt.PlayerID = player.ID"
                                                   + " INNER JOIN PlayerGearTable pgt ON pgt.ID = pdt.gearinfo INNER JOIN IngameItemTable ii"
                                                   + " ON ii.ID = pgt.head OR ii.ID = pgt.neck OR ii.ID = pgt.shoulder OR ii.ID = pgt.shirt"
                                                   + " OR ii.ID = pgt.chest OR ii.ID = pgt.belt OR ii.ID = pgt.legs OR ii.ID = pgt.feet"
                                                   + " OR ii.ID = pgt.wrist OR ii.ID = pgt.gloves OR ii.ID = pgt.finger_1 OR ii.ID = pgt.finger_2"
                                                   + " OR ii.ID = pgt.trinket_1 OR ii.ID = pgt.trinket_2 OR ii.ID = pgt.back"
                                                   + " OR ii.ID = pgt.main_hand OR ii.ID = pgt.off_hand OR ii.ID = pgt.ranged"
                                                   + " OR ii.ID = pgt.tabard WHERE ii.ItemID = :ItemID AND player.name = :PlayerName AND player.realm = :Realm GROUP BY ii.enchantid, ii.suffixid, ii.uniqueid", conn))
                {
                    cmd.Parameters.Add(new NpgsqlParameter("ItemID", NpgsqlDbType.Integer)).Value  = _ItemID;
                    cmd.Parameters.Add(new NpgsqlParameter("PlayerName", NpgsqlDbType.Text)).Value = _Player;
                    cmd.Parameters.Add(new NpgsqlParameter("Realm", NpgsqlDbType.Integer)).Value   = (int)_Realm;
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read() == true && reader.IsDBNull(3) == false)
                        {
                            DateTime currItemInfoDate = reader.GetTimeStamp(3).DateTime;
                            if (currItemInfoDate > latestItemInfoDate)
                            {
                                latestItemInfoDate       = currItemInfoDate;
                                latestItemInfo.EnchantID = reader.GetInt32(0);
                                latestItemInfo.SuffixID  = reader.GetInt32(1);
                                latestItemInfo.UniqueID  = reader.GetInt32(2);
                            }
                        }
                    }
                }
            }
            finally
            {
                CloseConnection();
            }

            if (latestItemInfoDate != DateTime.MinValue)
            {
                return(latestItemInfo);
            }

            return(null);
        }
Ejemplo n.º 16
0
        private UInt64 GetEntityID(WowRealm _Realm, string _PlayerName)
        {
            UInt64 entityID = UInt64.MaxValue;

            string entityLinkStr = VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm) + _PlayerName;

            if (m_PlayerIDs.TryGetValue(entityLinkStr, out entityID) == true)
            {
                return(entityID);
            }

            entityID = GetRealmBitNR(_Realm) << 56;
            //switch (_Realm)
            //{
            //    //case WowRealm.Emerald_Dream:    entityID |= m_EntityCounter_Emerald_Dream++; break;
            //    //case WowRealm.Warsong:          entityID |= m_EntityCounter_Warsong++; break;
            //    //case WowRealm.Al_Akir:          entityID |= m_EntityCounter_Al_Akir++; break;
            //    //case WowRealm.Valkyrie:         entityID |= m_EntityCounter_Valkyrie++;  break;
            //    //case WowRealm.VanillaGaming:    entityID |= m_EntityCounter_VanillaGaming++; break;
            //    //case WowRealm.Rebirth:          entityID |= m_EntityCounter_Rebirth++; break;
            //    //case WowRealm.Archangel:        entityID |= m_EntityCounter_Archangel++; break;
            //    //case WowRealm.Nostalrius:       entityID |= m_EntityCounter_Nostalrius++; break;
            //    //case WowRealm.Kronos:           entityID |= m_EntityCounter_Kronos++;  break;
            //    //case WowRealm.NostalGeek:       entityID |= m_EntityCounter_NostalGeek++;  break;
            //    //case WowRealm.Nefarian:         entityID |= m_EntityCounter_Nefarian++;break;
            //    //case WowRealm.NostalriusPVE:    entityID |= m_EntityCounter_NostalriusPVE++; break;
            //    //case WowRealm.WarsongTBC:       entityID |= m_EntityCounter_WarsongTBC++; break;
            //    //case WowRealm.KronosII:         entityID |= m_EntityCounter_KronosII++; break;
            //    //case WowRealm.Vengeance_Wildhammer:     entityID |= m_EntityCounter_Vengeance_Wildhammer++; break;
            //    //case WowRealm.ExcaliburTBC:     entityID |= m_EntityCounter_ExcaliburTBC++; break;
            //    //case WowRealm.L4G_Hellfire:     entityID |= m_EntityCounter_L4G_Hellfire++; break;
            //    //case WowRealm.Warsong2:         entityID |= m_EntityCounter_Warsong2++;  break;
            //    //case WowRealm.Vengeance_Stonetalon:     entityID |= m_EntityCounter_Vengeance_Stonetalon++;  break;
            //    //case WowRealm.Elysium:          entityID |= m_EntityCounter_Elysium++;break;
            //    //case WowRealm.Elysium2:         entityID |= m_EntityCounter_Elysium2++;   break;
            //    //case WowRealm.Zeth_Kur:         entityID |= m_EntityCounter_Zeth_Kur++; break;
            //    //case WowRealm.Nemesis:          entityID |= m_EntityCounter_Nemesis++; break;
            //    //case WowRealm.HellGround:       entityID |= m_EntityCounter_HellGround++; break;
            //    //case WowRealm.Nostralia:        entityID |= m_EntityCounter_Nostralia++; break;
            //    //case WowRealm.Hellfire2:        entityID |= m_EntityCounter_Hellfire2++; break;
            //    default:
            m_EntityCounters_Realm.AddIfKeyNotExist(_Realm, (UInt64)0);
            UInt64 currEntityCounterValue = m_EntityCounters_Realm[_Realm];

            entityID |= currEntityCounterValue;
            m_EntityCounters_Realm[_Realm] = currEntityCounterValue + 1;
            //        break;
            //}
            m_PlayerIDs.Add(entityLinkStr, entityID);
            return(entityID);
        }
Ejemplo n.º 17
0
        //public static RealmDatabase GetRealmDB(System.Web.UI.Page _Page, WowRealm _Realm, string _RedirectSubRealmSection = "")
        //{
        //    var rppDatabase = ApplicationInstance.Instance.GetRPPDatabase(false);
        //    if (rppDatabase == null)
        //    {
        //        PageUtility.RedirectErrorLoading(_Page, StaticValues.ConvertRealmParam(_Realm) + _RedirectSubRealmSection);
        //        return null;
        //    }
        //    return rppDatabase.GetRealm(_Realm);
        //}
        //public static PlayerData.PlayerHistory GetRealmPlayerHistory(System.Web.UI.Page _Page, WowRealm _Realm, string _Player)
        //{
        //    var realm = GetRealmDB(_Page, _Realm, "-history");
        //    if (realm.IsPlayersHistoryLoadComplete() == false)
        //    {
        //        PageUtility.RedirectErrorLoading(_Page, StaticValues.ConvertRealmParam(_Realm) + "-history");
        //        return null;
        //    }
        //    PlayerData.PlayerHistory playerHistory;
        //    if (realm.PlayersHistory.TryGetValue(_Player, out playerHistory) == false)
        //        return null;
        //    return playerHistory;
        //}
        //public static PlayerData.Player GetRealmPlayer(System.Web.UI.Page _Page, WowRealm _Realm, string _Player)
        //{
        //    var realm = GetRealmDB(_Page, _Realm, "-latest");
        //    if (realm.IsPlayersLoadComplete() == false)
        //    {
        //        PageUtility.RedirectErrorLoading(_Page, StaticValues.ConvertRealmParam(_Realm) + "-latest");
        //        return null;
        //    }
        //    PlayerData.Player player;
        //    if (realm.Players.TryGetValue(_Player, out player) == false)
        //        return null;
        //    return player;
        //}
        //public static Dictionary<int, List<Tuple<DateTime, string>>> GetRealmCacheDB_ItemsUsed(System.Web.UI.Page _Page, WowRealm _Realm)
        //{
        //    var realm = GetRealmDB(_Page, _Realm, "-itemsused");
        //    if (realm.IsLoadComplete() == false)
        //    {
        //        PageUtility.RedirectErrorLoading(_Page, StaticValues.ConvertRealmParam(_Realm) + "-itemsused");
        //        return null;
        //    }
        //}
        public static RealmDatabase _FindRealmDB(System.Web.UI.Page _Page, WowRealm _Realm, NotLoadedDecision _Decision = NotLoadedDecision.SpinWait)
        {
            var rppDatabase = Hidden.ApplicationInstance.Instance._GetRPPDatabase(_Decision == NotLoadedDecision.SpinWait);

            if (rppDatabase == null)
            {
                if (_Decision == NotLoadedDecision.RedirectAndWait)
                {
                    PageUtility.RedirectErrorLoading(_Page, StaticValues.ConvertRealmParam(_Realm));
                }
                return(null);
            }
            return(rppDatabase.GetRealm(_Realm));
        }
Ejemplo n.º 18
0
        public static string GetRealmPreString(VF_RealmPlayersDatabase.WowRealm _Realm)
        {
            string realm = "" + (int)_Realm;

            if (realm.Length > 1)
            {
                if ((int)_Realm > 99)
                {
                    throw new Exception("ERROR, REALM WAS INTENDED TO NEVER BE BIGGER THAN VALUE 99");
                }
                realm = "R" + (int)_Realm;
            }
            return(realm);
        }
Ejemplo n.º 19
0
        public static PlayerData.Player FindRealmPlayer(System.Web.UI.Page _Page, WowRealm _Realm, string _Player, NotLoadedDecision _Decision = NotLoadedDecision.SpinWait)
        {
            var realmPlayers = GetRealmPlayers(_Page, _Realm, _Decision);

            if (realmPlayers == null)
            {
                return(null);
            }
            PlayerData.Player player;
            if (realmPlayers.TryGetValue(_Player, out player) == false)
            {
                return(null);
            }
            return(player);
        }
Ejemplo n.º 20
0
        public PlayerSummary GetPlayerSummary(string _Player, WowRealm _Realm)
        {
            if (m_PlayerSummaries.Count == 0)
            {
                GeneratePlayerSummaries();
            }
            PlayerSummary retValue = null;

            if (m_PlayerSummaries.TryGetValue(Utility.GetRealmPreString(_Realm) + _Player, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Ejemplo n.º 21
0
        public void MigrateToSQL()
        {
            Dictionary <ulong, VF.SQLPlayerID> playerIDConverter = new Dictionary <ulong, VF.SQLPlayerID>();

            using (VF.SQLComm comm = new VF.SQLComm())
            {
                int      totalItemsCount       = m_Items.Count;
                int      itemsProcessedCounter = 0;
                DateTime startTime             = DateTime.UtcNow;
                DateTime prevLogTime           = DateTime.UtcNow;
                foreach (var itemSummary in m_Items)
                {
                    ++itemsProcessedCounter;
                    foreach (var itemOwner in itemSummary.Value.m_ItemOwners)
                    {
                        VF.SQLPlayerID playerID;
                        if (playerIDConverter.TryGetValue(itemOwner.Item1, out playerID) == false)
                        {
                            string   playerName = GetPlayerName(itemOwner.Item1);
                            WowRealm realm      = GetPlayerRealm(itemOwner.Item1);

                            if (comm.GetPlayerID(realm, playerName, out playerID) == true)
                            {
                                playerIDConverter.Add(itemOwner.Item1, playerID);
                            }
                            else
                            {
                                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("playerID was not valid for player \"" + playerName + "\"", ConsoleColor.Red);
                            }
                        }
                        if (playerID.IsValid() == true)
                        {
                            if (comm.UpsertItemOwner(itemSummary.Value.m_ItemID, itemSummary.Value.m_SuffixID, playerID, null, itemOwner.Item2) == false)
                            {
                                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("UpsertItemOwner Failed???", ConsoleColor.Red);
                            }
                        }
                    }
                    if ((DateTime.UtcNow - prevLogTime).TotalSeconds > 5)
                    {
                        VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("Processed " + itemsProcessedCounter + " / " + totalItemsCount + " items");
                        prevLogTime = DateTime.UtcNow;
                    }
                }
                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("Done with processing " + totalItemsCount + " items, it took " + (DateTime.UtcNow - startTime).ToString());
            }
        }
Ejemplo n.º 22
0
        protected void Page_PreLoad(object sender, EventArgs e)
        {
            if (IsPostBack == true)
            {
                string realmChoice = RealmControl_RadioList.SelectedItem.Value;
                m_Realm = VF_RealmPlayersDatabase.StaticValues.ConvertRealm(realmChoice);

                HttpCookie cookie = new HttpCookie("RealmControl");
                cookie.Expires  = DateTime.Now.AddDays(30);
                cookie["Realm"] = GetRealmParam();
                Response.Cookies.Add(cookie);
                if (Request.QueryString.Get("realm") != GetRealmParam())
                {
                    var newQuery = Request.Url.Query.Replace("realm=" + Request.QueryString.Get("realm"), "realm=" + GetRealmParam());
                    Response.Redirect(Request.Url.AbsolutePath + newQuery);
                }
            }
        }
Ejemplo n.º 23
0
        public int GetItemUsageCount(WowRealm _Realm, int _ItemID, int _SuffixID)
        {
            int usageCount = 0;
            var itemOwners = GetItemSummary(_ItemID, _SuffixID).ItemOwners;

            UInt64 bitMask;
            UInt64 realmValue;

            CalcRealmBits(_Realm, out bitMask, out realmValue);
            foreach (var itemOwner in itemOwners)
            {
                if ((itemOwner.Item1 & bitMask) == realmValue)
                {
                    ++usageCount;
                }
            }
            return(usageCount);
        }
Ejemplo n.º 24
0
        public PlayerSummary GetPlayerSummary(string _Player, WowRealm _Realm)
        {
            if (m_PlayerSummaries.Count == 0)
            {
                DateTime timer = DateTime.Now;
                GC.Collect();
                GeneratePlayerSummaries();
                GC.Collect();
                VF_RealmPlayersDatabase.Logger.ConsoleWriteLine("Done with generating PlayerSummary after " + (DateTime.Now - timer));
            }
            PlayerSummary retValue = null;

            if (m_PlayerSummaries.TryGetValue(Utility.GetRealmPreString(_Realm) + _Player, out retValue) == false)
            {
                return(null);
            }

            return(retValue);
        }
Ejemplo n.º 25
0
 protected void Page_Init(object sender, EventArgs e)
 {
     if (RealmControl_RadioList.Items.FindByValue("ArA") == null)
     {
         RealmControl_RadioList.Items.Add(new ListItem("Archangel(TBC)", "ArA"));
     }
     if (IsPostBack == false)
     {
         string realmStr = Request.QueryString.Get("realm");
         if (realmStr == null)
         {
             realmStr = "ED";
             HttpCookie realmControlCookie = Request.Cookies["RealmControl"];
             if (realmControlCookie != null)
             {
                 realmStr = realmControlCookie["Realm"];
             }
             if (Request.Url.Query == "")
             {
                 Response.Redirect(Request.Url + "?realm=" + realmStr);
             }
             else
             {
                 Response.Redirect(Request.Url + "&realm=" + realmStr);
             }
         }
         m_Realm = VF_RealmPlayersDatabase.StaticValues.ConvertRealm(realmStr);
         if (m_Realm == WowRealm.Unknown)
         {
             m_Realm = WowRealm.Emerald_Dream;
         }
         var listItem = RealmControl_RadioList.Items.FindByValue(GetRealmParam());
         if (listItem != null)
         {
             RealmControl_RadioList.Items.FindByValue(GetRealmParam()).Selected = true;
         }
     }
     Page.PreLoad += Page_PreLoad;
 }
Ejemplo n.º 26
0
        public int GetRealmInspectsTotal(WowRealm _Realm)
        {
            var conn = OpenConnection();

            try
            {
                using (var cmd = new NpgsqlCommand("SELECT COUNT(*) FROM playerdatatable pd INNER JOIN playertable player ON player.id = pd.playerid WHERE player.realm = :Realm", conn))
                {
                    cmd.Parameters.Add(new NpgsqlParameter("Realm", NpgsqlDbType.Integer)).Value = (int)_Realm;
                    using (var reader = cmd.ExecuteReader())
                    {
                        if (reader.Read() == true && reader.IsDBNull(0) == false)
                        {
                            return(reader.GetInt32(0));
                        }
                    }
                }
            }
            finally
            {
                CloseConnection();
            }
            return(-1);
        }
Ejemplo n.º 27
0
 public GuildSummary(string _GuildName, WowRealm _Realm)
 {
     m_GuildName = _GuildName;
     m_Realm     = _Realm;
 }
Ejemplo n.º 28
0
 private void AddPVPSummary(WowRealm _Realm, string _Player, PVPSummary _PVPSummary)
 {
     m_PVPSummaries.Add(VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm) + _Player, _PVPSummary);
 }
Ejemplo n.º 29
0
        public static List <Tuple <PlayerData, AverageStats> > GenerateAverageDataSet(List <string> bosses, List <PlayerClass> classLimits, List <PlayerFaction> factionLimits, WowRealm realm, string guildLimit)
        {
            var summaryDatabase = ApplicationInstance.Instance.GetSummaryDatabase();

            if (summaryDatabase == null)
            {
                return(null);
            }

            var realmDB = ApplicationInstance.Instance.GetRealmDB(VF_RealmPlayersDatabase.WowRealm.Nostalrius);

            var orderedPlayers = summaryDatabase.PlayerSummaries.OrderBy(_Value => _Value.Key); //Order by realm to avoid changing realmDB all the time

            List <Tuple <PlayerData, AverageStats> > dataset = new List <Tuple <PlayerData, AverageStats> >();

            Func <TotalPlayerBossStats, float> getDPSFunc          = (_Value) => _Value.GetAverageDPS(5, 6, 3);
            Func <TotalPlayerBossStats, float> getEffectiveHPSFunc = (_Value) => _Value.GetAverageEffectiveHPS(5, 6, 3);

            foreach (var playerSummary in orderedPlayers)
            {
                if (playerSummary.Value.AttendedFights.Count == 0)
                {
                    continue;
                }
                var currGroup = playerSummary.Value.AttendedFights.Last().CacheRaid.CacheGroup;

                if (guildLimit != null && guildLimit != currGroup.GroupName)
                {
                    continue;
                }

                if (realm != VF_RealmPlayersDatabase.WowRealm.All && realm != currGroup.Realm)
                {
                    continue;
                }

                if (currGroup.Realm != realmDB.Realm)
                {
                    realmDB = ApplicationInstance.Instance.GetRealmDB(currGroup.Realm);
                }

                var playerData = realmDB.FindPlayer(playerSummary.Value.Name);
                if (playerData != null && (classLimits == null || classLimits.Contains(playerData.Character.Class)) &&
                    (factionLimits == null || factionLimits.Contains(StaticValues.GetFaction(playerData.Character.Race))))
                {
                    AverageStats averageStats = new AverageStats();

                    Func <string, bool> includeBossFunc = (_Value) => { return(bosses.Contains(_Value)); };

                    averageStats.m_DPS = playerSummary.Value.GenerateTotalAverageData(bosses.Count, getDPSFunc, includeBossFunc);
                    averageStats.m_HPS = playerSummary.Value.GenerateTotalAverageData(bosses.Count, getEffectiveHPSFunc, includeBossFunc);

                    dataset.Add(Tuple.Create(playerData, averageStats));
                }
            }
            return(dataset);
        }
Ejemplo n.º 30
0
        public IEnumerable <KeyValuePair <string, PVPSummary> > GetPVPSummaries(WowRealm _Realm)
        {
            string realm = VF_RealmPlayersDatabase.Utility.GetRealmPreString(_Realm);

            return(m_PVPSummaries.Where((_Value) => _Value.Key.StartsWith(realm)));
        }