Пример #1
0
        /// <summary>
        /// Gets the expansion based on its name.
        /// </summary>
        /// <param name="expansionName">Name of the expansion in English with capitalized first letters.</param>
        /// <returns>Data row from the Expansions, use ExpansionsFields to get the names of the columns. Null in case the expansion is not found.</returns>
        public DataRow GetExpansionByName(string expansionName)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.Name) == expansionName);

            if (ret != default)
            {
                return(ret);
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        /// Gets the expansion based on its ID.
        /// <param name="expansionID">ID of the expansion.</param>
        /// <returns>Data row from the Expansions, use ExpansionsFields to get the names of the columns. Null in case the expansion is not found.</returns>
        public DataRow GetExpansionByID(string expansionID)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);

            if (ret != default)
            {
                return(ret);
            }
            else if (updateExpansionDatabase24hours()) // try again with up to date database
            {
                ret = Expansions.AsEnumerable().FirstOrDefault(
                    r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);
                if (ret != default)
                {
                    return(ret);
                }
            }
            return(null);
        }
Пример #3
0
        /// Gets the expansion's English name based on the ID of the expansion.
        /// <param name="expansionID">ID of the expansion.</param>
        /// <returns>String with the ID or empty string if the expansion was not found.</returns>
        public string GetExpansionName(string expansionID)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);

            if (ret != default)
            {
                return(ret[ExpansionsFields.Name].ToString());
            }
            else if (updateExpansionDatabase24hours()) // try again with up to date database
            {
                ret = Expansions.AsEnumerable().FirstOrDefault(
                    r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);
                if (ret != default)
                {
                    return(ret[ExpansionsFields.Name].ToString());
                }
            }
            return("");
        }
Пример #4
0
        /// <summary>
        /// Gets the expansion based on its ID.
        /// </summary>
        /// <param name="expansionID">ID of the expansion.</param>
        /// <returns>Data row from the Expansions, use ExpansionsFields to get the names of the columns. Null in case the expansion is not found.</returns>
        public DataRow GetExpansionByID(string expansionID)
        {
            DataRow ret = Expansions.AsEnumerable().FirstOrDefault(
                r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);

            if (ret != default)
            {
                return(ret);
            }
            else if ((DateTime.Now - File.GetLastWriteTime(@".\\mkmexpansions.csv")).TotalHours > 24)
            {
                MainView.Instance.LogMainWindow("Expansion id " + expansionID + " not found in local database, updating database...");
                UpdateDatabaseFiles();
                ret = Expansions.AsEnumerable().FirstOrDefault(
                    r => r.Field <string>(ExpansionsFields.ExpansionID) == expansionID);
                if (ret != default)
                {
                    return(ret);
                }
            }
            return(null);
        }