public GuildStruct GetGuild(string name) { MySqlCommand cmd = CreateQuery(); cmd.CommandText = "SELECT * FROM guilds WHERE name=@n"; cmd.Parameters.AddWithValue("@n", name); GuildStruct guild; using (MySqlDataReader rdr = cmd.ExecuteReader()) { if (!rdr.HasRows) { return(null); } rdr.Read(); guild = new GuildStruct { Id = rdr.GetInt32("id"), Name = rdr.GetString("name"), Level = rdr.GetInt32("level"), Members = rdr.GetString("members").Split(','), GuildFame = rdr.GetInt32("guildFame"), TotalGuildFame = rdr.GetInt32("totalGuildFame") }; } return(guild); }
public GuildStruct GetGuild(int guildid) { var cmd = CreateQuery(); cmd.CommandText = "SELECT * FROM guilds WHERE id=@gid"; cmd.Parameters.AddWithValue("@gid", guildid); GuildStruct guild = null; using (var rdr = cmd.ExecuteReader()) { if (!rdr.HasRows) { return(null); } rdr.Read(); guild = new GuildStruct() { Id = rdr.GetInt32("id"), Name = rdr.GetString("name"), Level = rdr.GetInt32("level"), Members = rdr.GetString("members").Split(','), GuildFame = rdr.GetInt32("guildFame"), TotalGuildFame = rdr.GetInt32("totalGuildFame") }; } return(guild); }
public void UpdateGuild(long id) { GuildStruct guild = GetGuild(id); if (guild == null) { throw new Exception("Guild not found!"); } MySqlCommand cmd = CreateQuery(); cmd.CommandText = "SELECT * FROM accounts WHERE guild=@gid"; cmd.Parameters.AddWithValue("@gid", id); string members = ""; using (MySqlDataReader rdr = cmd.ExecuteReader()) { while (rdr.Read()) { members = members + rdr.GetInt32("id") + ","; } } if (members != "") { cmd = CreateQuery(); cmd.CommandText = "UPDATE guilds SET members=@mem WHERE id=@gid"; cmd.Parameters.AddWithValue("@gid", id); cmd.Parameters.AddWithValue("@mem", members); if (cmd.ExecuteNonQuery() == 0) { Console.WriteLine("Failed to edit members column!"); } } else { cmd = CreateQuery(); cmd.CommandText = "DELETE FROM guilds WHERE id=@gid"; cmd.Parameters.AddWithValue("@gid", id); if (cmd.ExecuteNonQuery() == 0) { Console.WriteLine("Failed to delete empty guild!"); } } }
public string HttpGetGuildMembers(int num, int offset, Account acc) { GuildStruct guild = GetGuild((int)acc.Guild.Id); string ret = "<Guild name=\"" + guild.Name + "\" id=\"" + guild.Id + "\"><TotalFame>" + guild.TotalGuildFame + "</TotalFame><CurrentFame>" + guild.GuildFame + "</CurrentFame><HallType>Guild Hall " + guild.Level + "</HallType>"; MySqlCommand cmd = CreateQuery(); cmd.CommandText = "SELECT * FROM accounts WHERE guild = @gid"; cmd.Parameters.AddWithValue("@gid", guild.Id); List <string> founders = new List <string>(); List <string> leaders = new List <string>(); List <string> officers = new List <string>(); List <string> members = new List <string>(); List <string> initiates = new List <string>(); using (MySqlDataReader rdr = cmd.ExecuteReader()) { int countLeft = num; int offsleft = offset; while (rdr.Read()) { if (offsleft == 0) { if (countLeft != 0) { string add = "<Member>"; add += string.Format("<Name>{0}</Name>", rdr.GetString("name")); add += string.Format("<Rank>{0}</Rank>", rdr.GetInt32("guildRank")); add += string.Format("<Fame>{0}</Fame>", rdr.GetInt32("guildFame")); add += "</Member>"; switch (rdr.GetInt32("guildRank")) { case 40: founders.Add(add); break; case 30: leaders.Add(add); break; case 20: officers.Add(add); break; case 10: members.Add(add); break; case 0: initiates.Add(add); break; } } else { break; } } else { offsleft--; } countLeft--; } } members.AddRange(initiates); officers.AddRange(members); leaders.AddRange(officers); founders.AddRange(leaders); ret = founders.Aggregate(ret, (current, i) => current + i); ret += "</Guild>"; return(ret); }
public string HTTPGetGuildMembers(int num, int offset, Account acc) { GuildStruct guild = GetGuild(acc.Guild.Id); string ret = "<Guild name=\"" + guild.Name + "\" id=\"" + guild.Id + "\"><TotalFame>" + guild.TotalGuildFame + "</TotalFame><CurrentFame>" + guild.GuildFame + "</CurrentFame><HallType>Guild Hall " + guild.Level.ToString() + "</HallType>"; var cmd = CreateQuery(); cmd.CommandText = "SELECT * FROM accounts WHERE guild = @gid"; cmd.Parameters.AddWithValue("@gid", guild.Id); List <string> Founders = new List <string>(); List <string> Leaders = new List <string>(); List <string> Officers = new List <string>(); List <string> Members = new List <string>(); List <string> Initiates = new List <string>(); using (var rdr = cmd.ExecuteReader()) { int countLeft = num; int offsleft = offset; while (rdr.Read()) { if (offsleft == 0) { if (countLeft != 0) { string add = "<Member>"; add += "<Name>" + rdr.GetString("name") + "</Name>"; add += "<Rank>" + rdr.GetInt32("guildRank").ToString() + "</Rank>"; add += "<Fame>0</Fame>"; add += "</Member>"; switch (rdr.GetInt32("guildRank")) { case 40: Founders.Add(add); break; case 30: Leaders.Add(add); break; case 20: Officers.Add(add); break; case 10: Members.Add(add); break; case 0: Initiates.Add(add); break; } } else { break; } } else { offsleft--; } countLeft--; } } Members.AddRange(Initiates); Officers.AddRange(Members); Leaders.AddRange(Officers); Founders.AddRange(Leaders); foreach (string i in Founders) { ret += i; } ret += "</Guild>"; return(ret); }