/// <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); } }
/// 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); }
/// 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(""); }
/// <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); }