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(); } } }
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(); } } }
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"); } }