public IHttpActionResult PostInfoConductores(string id) { bool isConductor = Int32.TryParse(id, out int idcond); Conductor objetoConductor = (from s in dbFlota.Set <Conductor>() where (s.Id == idcond) select s).FirstOrDefault(); InfoConductores infoConductores = new InfoConductores() { NombreConductor = objetoConductor.nombre.ToString(), DniConductor = objetoConductor.dni.ToString(), MatriculaCoche = objetoConductor.Coche.matricula.ToString(), ModeloCoche = objetoConductor.Coche.modelo.ToString(), ColorCoche = objetoConductor.Coche.color.ToString(), DistintivoAmbiental = objetoConductor.Coche.distintivoambiental.ToString(), PuntuacionConductor = objetoConductor.puntuacion.ToString() }; return(Ok(infoConductores)); }
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"); } }