Пример #1
0
        public void PopDoor(Door door, Action<Response> callback)
        {
            HttpWebRequest request = WebRequest.CreateHttp(String.Format("https://gatekeeper.csh.rit.edu/api/pop/{0}", door.Id));
            request.Method = "POST";
            request.BeginGetRequestStream((reqResult) =>
            {
                Stream requestStream = request.EndGetRequestStream(reqResult);
                using (StreamWriter writer = new StreamWriter(requestStream))
                {
                    writer.Write(String.Format("username={0},password={1}", _username, _password));
                }

                request.BeginGetResponse((resResult) =>
                {
                    try
                    {
                        Stream responseStream = request.EndGetResponse(resResult).GetResponseStream();
                        DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Response));
                        Response temp = serializer.ReadObject(responseStream) as Response;
                        callback(temp);
                    }
                    catch (WebException e)
                    {
                        System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
                        {
                            MessageBox.Show(e.Message);
                        });
                    }
                }, null);
            }, null);
        }
Пример #2
0
 public void PopDoor(Door door)
 {
     _service.PopDoor(door, (response) =>
     {
         if (!response.Success)
         {
             System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
             {
                 MessageBox.Show(response.Error);
             });
         }
     });
 }