public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            //Accept Only POST requests
            //validate Parameters
            if (context.Request.HttpMethod.ToUpper().Equals("POST"))
            {
                var parameters = context.Request.Params;
                var sender = parameters.Get("SenderUserName");
                var senderPhoneNumber  = parameters.Get("SenderPhoneNumber");
                var receiver = parameters.Get("ReceiverUserName");
                var receiverPhoneNumber = parameters.Get("ReceiverPhoneNumber");
                var messageData = parameters.Get("MessageData");

                //check for null values
                if (String.IsNullOrEmpty(sender))
                {
                    context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'SenderUserName'" }));
                    return;
                }
                if (String.IsNullOrEmpty(receiver))
                {
                    context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'ReceiverUserName'" }));
                    return;
                }
                if (String.IsNullOrEmpty(messageData))
                {
                    context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'MessageData'" }));
                    return;
                }

                SampleAspServer.Models.Message m = new Models.Message();
                m.senderUserName = sender;
                m.senderPhoneNumber = senderPhoneNumber;
                m.receiverUserName = receiver;
                m.receiverPhoneNumber = receiverPhoneNumber;
                m.messageData = messageData;

                SampleAspServer.Models.SampleChatDBEntities db = new Models.SampleChatDBEntities();
                db.Messages.Add(m);
                db.SaveChanges();
                context.Response.Write(JsonConvert.SerializeObject(new { error = false , message = "Message Sent !" }));
                return;
            }
            else
            {
                context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a POST request instead of " + context.Request.HttpMethod }));
            }
        }
 public void ProcessRequest(HttpContext context)
 {
     context.Response.ContentType = "application/json";
     //Accept Only GET requests
     if (context.Request.HttpMethod.ToUpper().Equals("GET"))
     {
         var requesterUserName = context.Request.Params.Get("RequesterUserName");
         if (String.IsNullOrEmpty(requesterUserName))
         {
             context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'SenderUserName'" }));
             return;
         }
         SampleAspServer.Models.SampleChatDBEntities db = new Models.SampleChatDBEntities();
         context.Response.Write(JsonConvert.SerializeObject(db.Messages.Where( x => x.receiverUserName.Equals(requesterUserName)).ToArray()));
     }
     else
     {
         context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a GET request instead of " + context.Request.HttpMethod }));
     }
 }