Beispiel #1
0
        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));
        }
Beispiel #2
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");
            }
        }