//Metodo para la llamada del servicio de ubicacion de las unidades del metrobus. public static async void ObtenDatosMetrobus() { try { //se inicializa el hhtpclient using (var client = new HttpClient()) { // Se asignan los valores al Cliente http client.BaseAddress = new Uri(APIUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //Se hace la llamada al API de ubicaciones de unidades var response = client.GetAsync(APIUrl).Result; //Si la respuesta es exitosa entra if (response.IsSuccessStatusCode) { var readTask = response.Content.ReadAsStringAsync().ConfigureAwait(false); var rawResponse = readTask.GetAwaiter().GetResult(); //Deserializamos el Json que regresa el API a nuestra clase creada. (ClassMetrobus) records = JsonSerializer.Deserialize <ClassMetrobus>(rawResponse); } } Console.WriteLine("Obtiene datos del servicio de unidades"); } catch (Exception ex) { var Error = ex.Message; } }
public static void InsertaRegistrosMetrobus(ClassMetrobus classMetrobus) { //Se crea la conexión a la base de datos NpgsqlConnection conn = creaConexion(); //Abrimos la conexión conn.Open(); try { //Se guardaran en la Base de Datos cada uno de los registros enviados de la ubicacion de las unidades. foreach (Records item in classMetrobus.records) { try { //Se crea el insert en base a los datos del registro. string query = @"insert into records (record_id, record_alcaldia_id, vehicle_id, trip_start_date, date_updated, position_longitude, trip_schedule_relationship, position_speed, position_latitude, trip_route_id, vehicle_label, position_odometer, trip_id, vehicle_current_status, record_timestamp) values('" + item.recordid + "', '" + item.fields.AlcalciaId + "', '" + item.fields.vehicle_id + "', '" + item.fields.trip_start_date + "', '" + item.fields.date_updated + "', " + item.fields.position_longitude + ", " + item.fields.trip_schedule_relationship + "," + item.fields.position_speed + "," + item.fields.position_latitude + ",'" + item.fields.trip_route_id + "', '" + item.fields.vehicle_label + "', " + item.fields.position_odometer + ", '" + item.fields.trip_id + "'," + item.fields.vehicle_current_status + ", '" + item.record_timestamp.ToString() + "')"; //instanciamos el comando y asiganmos la conexión NpgsqlCommand cmd = new NpgsqlCommand(query, conn); //Ejecutamos el comando cmd.ExecuteNonQuery(); } catch (Exception ex) { var error = ex.Message; } } Console.WriteLine("Inserta Datos en la Base"); } finally { conn.Close(); } }