/// <summary> /// Check if user has role. /// </summary> /// <param name="user"></param> /// <param name="role"></param> /// <returns></returns> public async Task<bool> HasRoleAsync(IGuildUser user, string role) { IRole guildRole = (await GetRoles(new string[] { role }))[0]; string hasRoleQuery = $"SELECT EXISTS(SELECT * FROM userRoles WHERE user_id = {user.Id} AND role_ID = {guildRole.Id});"; List<DatabaseRow> hasRole = DatabaseModule.RunQuery(Config.RoleDatabase, hasRoleQuery); return hasRole[0].GetData<long>(0) == 1; }
/// <summary> /// Try to get the moon composition from a parsed moon. /// </summary> /// <param name="moon"></param> /// <param name="composition"></param> /// <returns></returns> bool TryGetMoon(SystemMoon moon, out MoonComposition composition) { composition = null; // Query for retriving a list of all ore types as well as the quantity for a moon. string moonDataQuery = $"SELECT c.type_name, b.quantity FROM mapdata a, moondata b, typedata c WHERE a.item_name = '{moon.Name}' AND b.moon_id = a.item_id AND c.type_id = b.type_id;"; // Query for checking wether the moon station is a tatara or not. string isTataraQuery = $"SELECT EXISTS(SELECT * FROM moonrefinery a, mapdata b WHERE a.moon_id = b.item_id and b.item_name = '{moon.Name}');"; List <DatabaseRow> moonData = DatabaseModule.RunQuery(Config.Database, moonDataQuery); List <DatabaseRow> isTatara = DatabaseModule.RunQuery(Config.Database, isTataraQuery); if (moonData.Count == 0) { return(false); } composition = new MoonComposition(moon, isTatara[0].GetData <long>(0) == 1, moonData); return(true); }