예제 #1
0
        public RetornoChamadaDetailPage()
        {
            InitializeComponent();

            var retornochamada = new RetornoChamada
            {
            };

            viewModel      = new RetornoChamadaDetailViewModel(retornochamada);
            BindingContext = viewModel;
        }
예제 #2
0
        async void Chamar_Clicked(object sender, System.EventArgs e)
        {
            string RestUrl = "http://104.248.186.97:8080/motorapido/ws/usuario/enviarChamada";

            var uri = new Uri(string.Format(RestUrl, string.Empty));


            Chamada data = new Chamada
            {
                codUsuario         = int.Parse(Preferences.Get("UserId", "default_value")),
                cepOrigem          = "teste",
                bairroOrigem       = "teste",
                cidadeOrigem       = "teste",
                logradouroOrigem   = "teste",
                numeroOrigem       = "teste",
                complementoOrigem  = "teste",
                latitudeOrigem     = "-10.916096",
                longitudeOrigem    = "-37.048814",
                cepDestino         = "teste",
                bairroDestino      = "teste",
                cidadeDestino      = "teste",
                logradouroDestino  = "teste",
                numeroDestino      = "teste",
                complementoDestino = "teste",
                latitudeDestino    = "-10.016096",
                longitudeDestino   = "-37.148814",
                observacao         = Observação.Text
            };


            var json = JsonConvert.SerializeObject(data);

            var content = new StringContent(json, Encoding.UTF8, "application/json");


            HttpResponseMessage response = null;


            var client = new HttpClient();


            try

            {
                response = await client.PostAsync(uri, content);
            }

            catch

            {
                await Application.Current.MainPage.DisplayAlert("Erro", "API não disponível ou sem conectividade Internet.", "OK");



                return;
            }


            if (response.IsSuccessStatusCode)
            {
                string input = await response.Content.ReadAsStringAsync();


                dynamic output = JsonConvert.DeserializeObject <dynamic>(input);



                RetornoChamada retornochamada = new RetornoChamada();

                //atualizar o que vem da des-serialização

                retornochamada.dataChamada = output.dataChamada;
                retornochamada.destino     = output.destino;
                retornochamada.origem      = output.origem;

                try
                {
                    retornochamada.valor = output.valor;
                }

                catch
                {
                    retornochamada.valor = 0;
                }

                retornochamada.codChamada    = output.codChamada;
                retornochamada.placaVeiculo  = output.placaVeiculo;
                retornochamada.corVeiculo    = output.corVeiculo;
                retornochamada.modeloVeiculo = output.modeloVeiculo;
                retornochamada.nomeMotorista = output.nomeMotorista;


                await Navigation.PushAsync(new RetornoChamadaDetailPage(new RetornoChamadaDetailViewModel(retornochamada)));
            }

            else
            {
                Console.WriteLine("------------------------>" + response.ReasonPhrase + " " + response.StatusCode);
            }
        }
예제 #3
0
 public RetornoChamadaDetailViewModel(RetornoChamada retornochamada = null)
 {
     Title          = "Chamada: " + retornochamada?.codChamada.ToString();
     RetornoChamada = retornochamada;
 }