Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- `public class ListExampleViewModel
- {
- SecurityToken sToken = null;
- public ListExampleViewModel()
- {
- GlobalConstants.isGetToken = true;
- var listResults = REQ_RESP.postAndGetResponse((new ListService().GetList("xx","xxx")));
- listResults.Subscribe(x =>
- {
- Console.WriteLine("nn..................................2");
- Console.WriteLine("Received Response==>" + x);
- });
- }
- }`
- `public class REQ_RESP
- {
- private static string receivedAction = "";
- private static string receivedPostDate = "";
- public static IObservable<string> postAndGetResponse(String postData)
- {
- if (GlobalConstants.isGetToken)
- {
- //Pre Request for every reusest
- receivedPostDate = postData;
- GlobalConstants.isGetToken = false;
- getServerTokenMethod();
- postData = receivedPostDate;
- }
- HttpWebRequest serviceRequest =
- (HttpWebRequest)WebRequest.Create(new Uri(Constants.SERVICE_URI));
- var fetchRequestStream =
- Observable.FromAsyncPattern<Stream>(serviceRequest.BeginGetRequestStream,
- serviceRequest.EndGetRequestStream);
- var fetchResponse =
- Observable.FromAsyncPattern<WebResponse>(serviceRequest.BeginGetResponse,
- serviceRequest.EndGetResponse);
- Func<Stream, IObservable<HttpWebResponse>> postDataAndFetchResponse = st =>
- {
- using (var writer = new StreamWriter(st) as StreamWriter)
- {
- writer.Write(postData);
- writer.Close();
- }
- return fetchResponse().Select(rp => (HttpWebResponse)rp);
- };
- Func<HttpWebResponse, IObservable<string>> fetchResult = rp =>
- {
- if (rp.StatusCode == HttpStatusCode.OK)
- {
- using (var reader = new StreamReader(rp.GetResponseStream()))
- {
- string result = reader.ReadToEnd();
- reader.Close();
- rp.GetResponseStream().Close();
- XDocument xdoc = XDocument.Parse(result);
- Console.WriteLine(xdoc);
- return Observable.Return<string>(result);
- }
- }
- else
- {
- var msg = "HttpStatusCode == " + rp.StatusCode.ToString();
- var ex = new System.Net.WebException(msg,
- WebExceptionStatus.ReceiveFailure);
- return Observable.Throw<string>(ex);
- }
- };
- return
- from st in fetchRequestStream()
- from rp in postDataAndFetchResponse(st)
- from str in fetchResult(rp)
- select str;
- }
- public static void getServerTokenMethod()
- {
- SecurityToken token = new SecurityToken();
- var getTokenResults = REQ_RESP.postAndGetResponse((new ServerToken().GetServerToken()));
- getTokenResults.Subscribe(x =>
- {
- ServerToken serverToken = new ServerToken();
- ServiceModel sm = new ServiceModel();
- //Parsing Response
- serverToken = extract(x, sm);
- if (!(string.IsNullOrEmpty(sm.NetErrorCode)))
- {
- MessageBox.Show("Show Error Message");
- }
- else
- {
- Console.WriteLine("nn..................................1");
- Console.WriteLine("nnserverToken.token==>" + serverToken.token);
- Console.WriteLine("nnserverToken.pk==>" + serverToken.pk);
- }
- },
- ex =>
- {
- MessageBox.Show("Exception = " + ex.Message);
- },
- () =>
- {
- Console.WriteLine("End of Process.. Releaseing all Resources used.");
- });
- }
- }`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement