public List <UbicacionVehiculo> ListaUbicacionVehiculosDisponibles() { EmpresaController controladorEmpresa = new EmpresaController(); VehiculoController controladorVehiculo = new VehiculoController(); List <dal.Empresa> empresas = controladorEmpresa.ListarEmpresas(); List <UbicacionVehiculo> listado = new List <UbicacionVehiculo>(); foreach (Empresa _emp in empresas) { List <Vehiculo> vehiculos = controladorVehiculo.ListarVehiculosDisponibles(_emp.ID); foreach (Vehiculo _veh in vehiculos) { UbicacionVehiculo _ubicacion = this.UltimaUbicacion(_emp.ID, _veh.ID); if (_ubicacion != null) { listado.Add(_ubicacion); } } } return(listado); }
public List <UbicacionVehiculo> ListaUbicacionVehiculosEmpresaTipoPrecioDisponibles(int idEmpresa, int idTipoVehiculo, int precioMin, int precioMax) { VehiculoController controladorVehiculo = new VehiculoController(); TipoVehiculoEmpresaController controladorTipoVehiculoEmpresa = new TipoVehiculoEmpresaController(); List <UbicacionVehiculo> listado = new List <UbicacionVehiculo>(); var tarifa = controladorTipoVehiculoEmpresa.ObtenerTarifaFijaTipoVehiculo(idEmpresa, idTipoVehiculo); if ((precioMin <= tarifa) && (tarifa <= precioMax)) { List <Vehiculo> vehiculos = controladorVehiculo.ListarVehiculosDisponiblesPorTipo(idEmpresa, idTipoVehiculo); foreach (Vehiculo _veh in vehiculos) { if (_veh.IdTipoVehiculo == idTipoVehiculo) { UbicacionVehiculo _ubicacion = this.UltimaUbicacion(idEmpresa, _veh.ID); if (_ubicacion != null) { listado.Add(_ubicacion); } } } } return(listado); }
public IActionResult Post([FromBody] UbicacionVehiculo ubicacion) { try { TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Montevideo Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, cstZone); ubicacion.Fecha = cstTime; _ubicacionService.Create(ubicacion); return(Ok(new { result = true, message = "Ubicacion guardada correctamente" })); } catch (Exception) { return(Ok(new { result = false, message = "Los datos enviados no tienen el formato esperado." })); } }
public List <UbicacionVehiculo> ListaUbicacionVehiculosEmpresa(int idEmpresa) { VehiculoController controladorVehiculo = new VehiculoController(); List <UbicacionVehiculo> listado = new List <UbicacionVehiculo>(); List <Vehiculo> vehiculos = controladorVehiculo.ListarVehiculos(idEmpresa); foreach (Vehiculo _veh in vehiculos) { UbicacionVehiculo _ubicacion = this.UltimaUbicacion(idEmpresa, _veh.ID); if (_ubicacion != null) { listado.Add(_ubicacion); } } return(listado); }
public bool EstaEnLaZona(ZonaVehiculo zona, UbicacionVehiculo ubicacion) { double x = ubicacion.Coordenadas.Lat; double y = ubicacion.Coordenadas.Lng; var inside = false; for (int i = 0, j = zona.Puntos.Count() - 1; i < zona.Puntos.Count(); j = i++) { double xi = zona.Puntos.ElementAt(i).Lat, yi = zona.Puntos.ElementAt(i).Lng; double xj = zona.Puntos.ElementAt(j).Lat, yj = zona.Puntos.ElementAt(j).Lng; var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); if (intersect) { inside = !inside; } } return(inside); }
public UbicacionVehiculo Create(UbicacionVehiculo ubicacion) { _ubicaciones.InsertOne(ubicacion); return(ubicacion); }