/** * Requisita a lista de voos registrados */ private async Task getVooList(HttpClient client) { HttpResponseMessage response = await client.GetAsync(Constants.serverPath + "/admin/voo"); if (response.IsSuccessStatusCode) { voos = await response.Content.ReadAsAsync <VooCollection>(new List <MediaTypeFormatter> { new XmlMediaTypeFormatter(), new JsonMediaTypeFormatter() }); } }
/** * Quando a página recebe um POST, faz o parsing da requisição (dos campos que podem não estar presentes/ * não estiverem num formato adequado para conversão), guarda a PassagemAerea na sessão, conecta ao WebServer * e recebe as listas de voo de ida e volta(no caso de um voo de ida e volta) disponíveis para compra. */ public async Task OnPostAsync() { Message = "Voos disponíveis"; Console.WriteLine("I'm not here"); HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); bool idaVolta = false; DateTime dataVolta; if (Request.Form["idaVolta"] == "on") { idaVolta = true; } if (Request.Form.ContainsKey("dataVolta")) { dataVolta = DateTime.Parse(Request.Form["dataVolta"]); } else { dataVolta = DateTime.Parse("1990-01-01"); } PassagemAerea passagem = new PassagemAerea(idaVolta, Request.Form["origem"], Request.Form["destino"], "", "", DateTime.Parse(Request.Form["dataIda"]), dataVolta, int.Parse(Request.Form["nPessoas"])); HttpContext.Session.SetString("passagem", JsonConvert.SerializeObject(passagem)); string uri = Constants.serverPath + "/voo" + "?origem=" + passagem.origem + "&" + "&destino=" + passagem.destino + "&data=" + passagem.dataIda.ToString() + "&nPessoas=" + passagem.nPessoas; HttpResponseMessage response = await httpClient.GetAsync(uri); if (response.IsSuccessStatusCode) { voosIda = await response.Content.ReadAsAsync <VooCollection>(new List <MediaTypeFormatter> { new XmlMediaTypeFormatter(), new JsonMediaTypeFormatter() }); } if (idaVolta) { VoosIdaHeader = "Voos de Ida"; VoosVoltaHeader = "Voos de Volta"; uri = Constants.serverPath + "/voo" + "?origem=" + passagem.destino + "&" + "&destino=" + passagem.origem + "&data=" + passagem.dataVolta + "&nPessoas=" + passagem.nPessoas; response = await httpClient.GetAsync(uri); if (response.IsSuccessStatusCode) { voosVolta = await response.Content.ReadAsAsync <VooCollection>(new List <MediaTypeFormatter> { new XmlMediaTypeFormatter(), new JsonMediaTypeFormatter() }); } } httpClient.Dispose(); }