コード例 #1
0
        public void Atualizar(PassagemAerea passagemAerea)
        {
            var passagemAtual = this.Obter(passagemAerea.Id);

            this.Remover(passagemAtual);
            this.Adicionar(passagemAerea);
        }
コード例 #2
0
        /**
         * Ao receber uma requisição POST, recupera a passagem dos dados da sessão,
         * preenche alguns campos em branco da passagem e tenta comprá-la.
         */
        public async Task OnPostAsync()
        {
            Message = "wirue sarue";
            Console.WriteLine("I'm not here");
            HttpClient httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Accept.Clear();
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));

            if (HttpContext.Session.Get("passagem") != null)
            {
                passagem = JsonConvert.DeserializeObject <PassagemAerea>(HttpContext.Session.GetString("passagem"));
                passagem.companhiaIda   = Request.Form["companhiaIda"];
                passagem.companhiaVolta = Request.Form["companhiaVolta"];

                HttpResponseMessage response = await httpClient.PostAsXmlAsync(Constants.serverPath + "/voo", passagem);

                if (response.IsSuccessStatusCode)
                {
                    Message = await response.Content.ReadAsStringAsync();
                }
                else
                {
                    Message = "Ocorreu um erro.";
                }
            }
            httpClient.Dispose();
        }
コード例 #3
0
ファイル: Reference.cs プロジェクト: ucruzle/msdotnetcsharp
        public static PassagemAerea CreatePassagemAerea(int ID, global::System.DateTime dataIda, int quantidadePax)
        {
            PassagemAerea passagemAerea = new PassagemAerea();

            passagemAerea.Id            = ID;
            passagemAerea.DataIda       = dataIda;
            passagemAerea.QuantidadePax = quantidadePax;
            return(passagemAerea);
        }
コード例 #4
0
        public IHttpActionResult Post(PassagemAerea passagemAerea)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            this._repositorio.Adicionar(passagemAerea);

            return(Created(passagemAerea));
        }
コード例 #5
0
        public IHttpActionResult Delete([FromODataUri] int key)
        {
            PassagemAerea passagemAerea = this._repositorio.Obter(key);

            if (passagemAerea == null)
            {
                return(NotFound());
            }

            this._repositorio.Remover(passagemAerea);

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #6
0
        public IHttpActionResult Put([FromODataUri] int key, PassagemAerea passagemAerea)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (key != passagemAerea.Id)
            {
                return(BadRequest());
            }

            this._repositorio.Atualizar(passagemAerea);

            return(Updated(passagemAerea));
        }
コード例 #7
0
 public void Remover(PassagemAerea passagemAerea)
 {
     this._passagens.Remove(passagemAerea);
 }
コード例 #8
0
 public void Adicionar(PassagemAerea passagemAerea)
 {
     this._passagens.Add(passagemAerea);
 }
コード例 #9
0
        /**
         * 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();
        }
コード例 #10
0
ファイル: Reference.cs プロジェクト: ucruzle/msdotnetcsharp
 public void AddToPassagemAerea(PassagemAerea passagemAerea)
 {
     base.AddObject("PassagemAerea", passagemAerea);
 }