Esempio n. 1
0
 private void TexBoxOrigen_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         try
         {
             string direccionOrigen = TexBoxOrigen.Text;
             DireccionOrigenViaje = direccionOrigen;
             CoordenadasOrigen    = ServicioFlota.Direccion_CordenadasHere(direccionOrigen);
             DatosTarifa.Text     = CoordenadasOrigen; //TODO: Quitar al terminar
             if (CoordenadasOrigen == ",")
             {
                 MessageBox.Show("Escriba una dirección de ORIGEN válida");
                 TexBoxOrigen.Text = "";
                 TexBoxOrigen.Focus();
             }
             ImagenMapa.Source = (new BitmapImage(ServicioFlota.ObtenMapaHere(TexBoxOrigen.Text, (int)ImagenMapa.Width, (int)ImagenMapa.Height, 16)));
             //TODO: Quitar MessageBox.Show(Geolocalizador.ObtenInterfasRed().ToString());
             TexBoxDestino.Focus(); ////cambiar el foco al proximo campo una vez rellenado el primero.
         }
         catch
         {
             MessageBox.Show("Introduzca Una Dirección de Origen por favor.");
             TexBoxOrigen.Focus();
         }
     }
 }
Esempio n. 2
0
        private void TexBoxDestino_KeyDown(object sender, KeyEventArgs e)
        {
            TexBoxEstadoViaje.Text = "";
            if (e.Key == Key.Enter)
            {
                try
                {
                    string direccionDestino = TexBoxDestino.Text;
                    DireccionDestinoViaje = direccionDestino;
                    CoordenadasDestino    = ServicioFlota.Direccion_CordenadasHere(direccionDestino);
                    DatosTarifa.Text      = CoordenadasDestino; //TODO:Quitar al terminar
                    CheckBoxReservarAhora.Focus();
                    if (CoordenadasDestino == ",")
                    {
                        MessageBox.Show("Escriba una dirección de DESTINO válida");
                        TexBoxDestino.Text = "";
                        TexBoxDestino.Focus();
                    }
                    ImagenMapa.Source = (new BitmapImage(ServicioFlota.ObtenMapaRutaHere(TexBoxOrigen.Text, TexBoxDestino.Text, (int)ImagenMapa.Width, (int)ImagenMapa.Height)));
                    int[] distanciaTiempoViaje = ServicioFlota.ObtenDistanciaTiempoHere(TexBoxOrigen.Text, TexBoxDestino.Text);

                    double TarifaDistancia = ServicioFlota.EncuestaServidorTarifa("http://" + PuertoServerAPI + "/api/Tarifa/Distancia");
                    double TarifaTiempo    = ServicioFlota.EncuestaServidorTarifa("http://" + PuertoServerAPI + "/api/Tarifa/Tiempo");

                    PrecioViaje      = (distanciaTiempoViaje[0] / 1000) * TarifaDistancia + (distanciaTiempoViaje[1] / 60) * TarifaTiempo;
                    DatosTarifa.Text = " Distancia: " + (distanciaTiempoViaje[0] / 1000).ToString() + " Km"
                                       + "\n Tiempo: " + (distanciaTiempoViaje[1] / 60).ToString() + " minutos"
                                       + "\n Precio: " + PrecioViaje + " EUR";
                    DistanciaViaje    = (distanciaTiempoViaje[0] / 1000).ToString() + " Km";
                    TiempoViajeActual = distanciaTiempoViaje[1];
                }
                catch (Exception)
                {
                    MessageBox.Show("Introduzca una dirección de Destino por favor.");
                    TexBoxDestino.Focus();
                }
            }
        }
Esempio n. 3
0
        private void ButtonBuscar_Click(object sender, RoutedEventArgs e) ///////////coge todos datos que se encuentran en los elementos de la ventana y se lo envía al servidor Api mediante un metodo POST que se encuentra en la carpeta servicios clase flota.
        {
            TexBoxEstadoViaje.Text = "BUSCANDO CONDUCTORES CERCA .....";

            EncuestaFlota encuesta = new EncuestaFlota(); //objeto que contendrá los datos a encuestar.

            ///obtengo datos de la ventana///
            try
            {
                string direccionOrigen = TexBoxOrigen.Text; // se guarda en variable para luego enviarlo a here mediante esta variable
                encuesta.Origen      = direccionOrigen;
                DireccionOrigenViaje = direccionOrigen;
                string direccionDestino = TexBoxDestino.Text;
                encuesta.Destino      = direccionDestino;
                DireccionDestinoViaje = direccionDestino;
                encuesta.ReservaAhora = ReservarAhora_Value;                                  ///se envía tipo bool
                encuesta.Fumadores    = Fumadores_Value.ToString();                           //se envía tipo string
                encuesta.Mascotas     = Mascotas_Value.ToString();                            //se envia tipo string
                encuesta.Plazas       = ComboBoxPlazas.SelectedItem.GetHashCode().ToString(); //
                encuesta.Pago         = ComboBoxPago.SelectedItem.ToString();
                ///obtener las coordenadas del origen para enviarlas al servidor y poder encontrar chofer serca.
                CoordenadasOrigen  = ServicioFlota.Direccion_CordenadasHere(direccionOrigen);
                CoordenadasDestino = ServicioFlota.Direccion_CordenadasHere(direccionDestino);
                if (CoordenadasOrigen == ",")
                {
                    MessageBox.Show("Escriba una dirección de ORIGEN válida");
                    TexBoxOrigen.Text = "";
                    TexBoxOrigen.Focus();
                }

                if (CoordenadasDestino == ",")
                {
                    MessageBox.Show("Escriba una dirección de DESTINO válida");
                    TexBoxDestino.Text = "";
                    TexBoxDestino.Focus();
                }

                if (ReservarAhora_Value == false)
                {
                    int      hora         = ComboBoxHora.SelectedItem.GetHashCode();
                    int      minutos      = ComboBoxMinutos.SelectedItem.GetHashCode();
                    DateTime horactual    = DateTime.Now;
                    DateTime horasMinutos = new DateTime(horactual.Year, horactual.Month, horactual.Day, hora, minutos, 00);
                    HoraInicioViaje     = horasMinutos;
                    encuesta.HoraSalida = horasMinutos;
                }
                else
                {
                    DateTime horactual    = DateTime.Now;
                    DateTime horasMinutos = new DateTime(horactual.Year, horactual.Month, horactual.Day, horactual.Hour, horactual.Minute, horactual.Second);
                    encuesta.HoraSalida = horasMinutos;
                    HoraInicioViaje     = horasMinutos;
                    TexBoxOrigen.Focus();
                }
                encuesta.CoordenadasOrigen  = CoordenadasOrigen;
                encuesta.CoordenadasDestino = CoordenadasDestino;
            }
            catch (Exception)
            {
                MessageBox.Show("Introduzca todos los datos correctamente por favor");
                TexBoxOrigen.Focus();
            }
            ///introducido todo los valores de la ventana lo serializo y lo envío mediante la clase Flota definida en la carpeta servicios.
            string datos     = JsonConvert.SerializeObject(encuesta, Formatting.Indented);
            string respuesta = ServicioFlota.PostRequest("http://" + PuertoServerAPI + "/api/Flota", datos);

            char[] caracterdelete  = { '[', ']' }; ///para quitar los corchetes a la respuesta
            string cochesRespuesta = respuesta.Trim(caracterdelete);

            IdConductores = cochesRespuesta.Split(',');                     //separar la respuesta por las comas.
            InfoConductores        agregaconductor = new InfoConductores(); //instancia para salvar los datos de los conductores
            List <InfoConductores> listainfo       = new List <InfoConductores>();

            try
            {
                listBoxConductores.Items.Clear();
                for (int id = 0; id < IdConductores.Length; id++)  ///obtengo todos los conductores sercas y aptos para el servicio
                {
                    string url           = "http://" + PuertoServerAPI + "/api/InfoConductores/" + IdConductores[id];
                    string infoconductor = encuesta.EncuestaHttp(url, "GET");
                    var    respuestajson = JObject.Parse(infoconductor);
                    agregaconductor.NombreConductor     = (string)respuestajson.SelectToken("NombreConductor");
                    agregaconductor.DniConductor        = (string)respuestajson.SelectToken("DniConductor");
                    agregaconductor.MatriculaCoche      = (string)respuestajson.SelectToken("MatriculaCoche");
                    agregaconductor.ModeloCoche         = (string)respuestajson.SelectToken("ModeloCoche");
                    agregaconductor.ColorCoche          = (string)respuestajson.SelectToken("ColorCoche");
                    agregaconductor.DistintivoAmbiental = (string)respuestajson.SelectToken("DistintivoAmbiental");
                    agregaconductor.PuntuacionConductor = (string)respuestajson.SelectToken("PuntuacionConductor");
                    listainfo.Add(agregaconductor);
                    listBoxConductores.Items.Add("\n  Nombre Chofer: " + agregaconductor.NombreConductor
                                                 + "\n  DNI: " + agregaconductor.DniConductor
                                                 + "\n  Matricula: " + agregaconductor.MatriculaCoche
                                                 + "\n  Modelo Coche: " + agregaconductor.ModeloCoche
                                                 + "\n  Color Coche: " + agregaconductor.ColorCoche
                                                 + "\n  Distintivo Ambiental: " + agregaconductor.DistintivoAmbiental
                                                 + "\n  Puntuación: " + agregaconductor.PuntuacionConductor);
                    listBoxConductores.SelectedIndex = id;
                }

                ListaInfoConductores = listainfo;
            }
            catch (Exception)
            {
                MessageBox.Show("NO HAY CONDUCTORES CON ESAS CARACTERÍSTICAS Y UBICACIONES");
            }
        }