public Data.QueuesResponse MakeQueuesRequest(string requestUrl) { HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest; request.Credentials = new NetworkCredential(Properties.Settings.Default.UriUserName, Properties.Settings.Default.UriPassword); using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode != HttpStatusCode.OK) { throw new Exception(String.Format( "Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription)); } using (var reader = new StreamReader(response.GetResponseStream())) { JavaScriptSerializer js = new JavaScriptSerializer(); string objText = reader.ReadToEnd(); objText = "{\"queues\":" + objText + "}"; object objResponse = (Data.QueuesResponse)js.Deserialize(objText, typeof(Data.QueuesResponse)); Data.QueuesResponse jsonResponse = objResponse as Data.QueuesResponse; return(jsonResponse); } } }
public Page1() { InitializeComponent(); try { //Process requests: Requests request = new Requests(); //Branches string branchesRequest = request.CreateBranchesRequest(); Data.BranchesResponse bracnhesResponse = request.MakeBranchesRequest(branchesRequest); _viewModel.DataContext.Branches = request.ProcessBranchesResponse(bracnhesResponse); //Queues foreach (Data.Branches branch in _viewModel.DataContext.Branches) { string queuesRequest = request.CreateQueuesRequest(branch.id.ToString()); Data.QueuesResponse queuesResponse = request.MakeQueuesRequest(queuesRequest); if (_viewModel.DataContext.Queues == null) { _viewModel.DataContext.Queues = request.ProcessQueuesResponse(queuesResponse); } else { _viewModel.DataContext.Queues.AddRange(request.ProcessQueuesResponse(queuesResponse)); } } //Visits (must also be able to refresh) foreach (Models.Queue que in _viewModel.DataContext.Queues) { string visitRequest = request.CreateVisitsRequest(que.branchId.ToString(), que.id.ToString()); Data.VisitsResponse visitsResponse = request.MakeVisitsRequest(visitRequest); if (_viewModel.DataContext.Visits == null) { _viewModel.DataContext.Visits = request.ProcessVisitsResponse(que, visitsResponse); } else { _viewModel.DataContext.Visits.AddRange(request.ProcessVisitsResponse(que, visitsResponse)); } } DataContext = _viewModel; } catch (Exception e) { MessageBox.Show(e.Message); } }
public List <Models.Queue> ProcessQueuesResponse(Data.QueuesResponse queuesResponse) { List <Models.Queue> queues = new List <Models.Queue>(); foreach (Data.Queues queue in queuesResponse.queues) { queues.Add(new Models.Queue { id = queue.id, branchId = queue.branchId, name = queue.name, queueType = queue.queueType, branchName = queue.branchName, customersWaiting = queue.customersWaiting, openServicePoints = queue.openServicePoints, waitingTime = queue.waitingTime, appointmentWaitingTime = queue.appointmentWaitingTime, estimatedWaitingTime = queue.estimatedWaitingTime, customersServed = queue.customersServed }); } return(queues); }