Пример #1
0
    {                                   //values: int       int     int                 string  string
                                        //        members   0       prollycurrentacc    email   passwordnocrypt
                                        //response:
                                        //<Guild name="STRING" id="INT">
                                        //<TotalFame>INT</TotalFame>
                                        //<CurrentFame>INT</Currentfame>
                                        //<HallType>Guild Hall INT</HallType>
                                        //<Member>
                                        //<Name>STRING</Name>
                                        //<Rank>INT</Rank>
                                        //<Fame>INT</Fame>
                                        //</Member>
                                        //</Guild>
        public void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;

            using (StreamReader rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
            XDocument doc;
            XElement  guildd;

            using (db.Database dbx = new db.Database())
            {
                Account acc = dbx.Verify(query["guid"], query["password"]);
                guildd = new XElement("Guild", new XAttribute("name", acc.Guild.Name), new XAttribute("id", acc.Guild.Id));
                //get the hall level
                var cmd = dbx.CreateQuery();
                cmd.CommandText = "SELECT level FROM guilds WHERE id=@id";
                cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
                guildd.Add(new XElement("HallType", "Guild Hall " + cmd.ExecuteScalar().ToString()));
                //get the current fame
                cmd             = dbx.CreateQuery();
                cmd.CommandText = "SELECT fame FROM guilds WHERE id=@id";
                cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
                guildd.Add(new XElement("CurrentFame", cmd.ExecuteScalar().ToString()));
                //get the total fame
                cmd             = dbx.CreateQuery();
                cmd.CommandText = "SELECT totalFame FROM guilds WHERE id=@id";
                cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
                guildd.Add(new XElement("TotalFame", cmd.ExecuteScalar().ToString()));
                //get the members list and data
                cmd             = dbx.CreateQuery();
                cmd.CommandText = "SELECT members FROM guilds WHERE id=@id";
                cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
                string[] membersids = cmd.ExecuteScalar().ToString().Split(',');
                foreach (var memberid in membersids)
                {
                    var accc = dbx.GetAccount(int.Parse(memberid));
                    guildd.Add(new XElement("Member",
                                            new XElement("Name", accc.Name),
                                            new XElement("Rank", accc.Guild.Rank),
                                            new XElement("Fame", 0)));
                }
                doc = new XDocument(guildd);
            }
            byte[] bytes = Encoding.ASCII.GetBytes(doc.ToString());
            context.Response.OutputStream.Write(bytes, 0, bytes.Length);
            context.Response.Close();
        }
Пример #2
0
        public void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;
            string board;

            using (StreamReader rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
            using (db.Database dbx = new db.Database())
            {
                var cmd = dbx.CreateQuery();
                cmd.CommandText = "UPDATE guilds SET board=@board WHERE id=@id";
                var acc = dbx.Verify(query["guid"], query["password"]);
                cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
                board = HttpUtility.HtmlDecode(query["board"]);
                cmd.Parameters.AddWithValue("@board", board);
                cmd.ExecuteNonQuery();
            }
            board = null;
            using (db.Database dbz = new db.Database())
            {
                var cmd = dbz.CreateQuery();
                cmd.CommandText = "SELECT board FROM guilds WHERE id=@id";
                cmd.Parameters.AddWithValue("@id", dbz.Verify(query["guid"], query["password"]).Guild.Id);
                object   scalar = cmd.ExecuteScalar();
                string[] lines  = scalar.ToString().Split(new string[] { "\n", "\r\n" }, StringSplitOptions.None);
                foreach (var i in lines)
                {
                    if (board != null)
                    {
                        board = board + i.ToString() + "\n\r";
                    }
                    else
                    {
                        board = i.ToString() + "\n\r";
                    }
                }
            }
            //down here goes the code to eventually check the formatting
            byte[] guildboardtext = Encoding.ASCII.GetBytes(board);
            context.Response.OutputStream.Write(guildboardtext, 0, guildboardtext.Length);
        }
Пример #3
0
 public void HandleRequest(HttpListenerContext context)
 {
     NameValueCollection query;
     string board;
     using (StreamReader rdr = new StreamReader(context.Request.InputStream))
         query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
     using (db.Database dbx = new db.Database())
     {
         var cmd = dbx.CreateQuery();
         cmd.CommandText = "UPDATE guilds SET board=@board WHERE id=@id";
         var acc = dbx.Verify(query["guid"], query["password"]);
         cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
         board = HttpUtility.HtmlDecode(query["board"]);
         cmd.Parameters.AddWithValue("@board", board);
         cmd.ExecuteNonQuery();
     }
     board = null;
     using (db.Database dbz = new db.Database())
     {
         var cmd = dbz.CreateQuery();
         cmd.CommandText = "SELECT board FROM guilds WHERE id=@id";
         cmd.Parameters.AddWithValue("@id", dbz.Verify(query["guid"], query["password"]).Guild.Id);
         object scalar = cmd.ExecuteScalar();
         string[] lines = scalar.ToString().Split(new string[] { "\n", "\r\n" }, StringSplitOptions.None);
         foreach (var i in lines)
         {
             if (board != null)
             {
                 board = board + i.ToString() + "\n\r";
             }
             else
             {
                 board = i.ToString() + "\n\r";
             }
         }
     }
     //down here goes the code to eventually check the formatting
     byte[] guildboardtext = Encoding.ASCII.GetBytes(board);
     context.Response.OutputStream.Write(guildboardtext, 0, guildboardtext.Length);
 }
Пример #4
0
 //values: int       int     int                 string  string
 //        members   0       prollycurrentacc    email   passwordnocrypt
 //response:
 //<Guild name="STRING" id="INT">
 //<TotalFame>INT</TotalFame>
 //<CurrentFame>INT</Currentfame>
 //<HallType>Guild Hall INT</HallType>
 //<Member>
 //<Name>STRING</Name>
 //<Rank>INT</Rank>
 //<Fame>INT</Fame>
 //</Member>
 //</Guild>
 public void HandleRequest(HttpListenerContext context)
 {
     NameValueCollection query;
     using (StreamReader rdr = new StreamReader(context.Request.InputStream))
         query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
     XDocument doc;
     XElement guildd;
     using (db.Database dbx = new db.Database())
     {
         Account acc = dbx.Verify(query["guid"], query["password"]);
         guildd = new XElement("Guild", new XAttribute("name", acc.Guild.Name), new XAttribute("id", acc.Guild.Id));
         //get the hall level
         var cmd = dbx.CreateQuery();
         cmd.CommandText = "SELECT level FROM guilds WHERE id=@id";
         cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
         guildd.Add(new XElement("HallType", "Guild Hall "+cmd.ExecuteScalar().ToString()));
         //get the current fame
         cmd = dbx.CreateQuery();
         cmd.CommandText = "SELECT fame FROM guilds WHERE id=@id";
         cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
         guildd.Add(new XElement("CurrentFame", cmd.ExecuteScalar().ToString()));
         //get the total fame
         cmd = dbx.CreateQuery();
         cmd.CommandText = "SELECT totalFame FROM guilds WHERE id=@id";
         cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
         guildd.Add(new XElement("TotalFame", cmd.ExecuteScalar().ToString()));
         //get the members list and data
         cmd = dbx.CreateQuery();
         cmd.CommandText = "SELECT members FROM guilds WHERE id=@id";
         cmd.Parameters.AddWithValue("@id", acc.Guild.Id);
         string[] membersids = cmd.ExecuteScalar().ToString().Split(',');
         foreach (var memberid in membersids)
         {
             var accc = dbx.GetAccount(int.Parse(memberid));
             guildd.Add(new XElement("Member",
                 new XElement("Name", accc.Name),
                 new XElement("Rank", accc.Guild.Rank),
                 new XElement("Fame", 0)));
         }
         doc = new XDocument(guildd);
     }
     byte[] bytes = Encoding.ASCII.GetBytes(doc.ToString());
     context.Response.OutputStream.Write(bytes, 0, bytes.Length);
 }