public static PedidoMapa ConvertirPedidoAPedidoMapa(Pedidos pedido) { bool postulado = false; if (pedido.Postulaciones != null) { postulado = pedido.Postulaciones.Any(x => x.IdPedido == pedido.IdPedido && x.IdUsuarioPostulado == pedido.AspNetUsers.Id); //ver: No anda } PedidoMapa pedidoDetalles = new PedidoMapa { IdPedido = pedido.IdPedido, IdCliente = pedido.idCliente, NombreCliente = pedido.AspNetUsers.NombreApellido, DescripcionPedido = pedido.descripcion_pedido, ObservacionesPedido = pedido.observaciones_pedido != null ? pedido.observaciones_pedido : "Ninguna", DireccionOrigen = pedido.calle_origen + " " + pedido.nro_calle_origen + ", " + pedido.Localidades.Nombre, DireccionDestino = pedido.calle_destino + " " + pedido.nro_calle_destino + ", " + pedido.Localidades1.Nombre, Precio = pedido.precio_predido, LatOrigen = Convert.ToDouble(pedido.lat_origen), LngOrigen = Convert.ToDouble(pedido.lng_origen), Postulado = postulado }; return(pedidoDetalles); }
public static List <PedidoMapa> ObtenerPendientesApi() { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { int idPendiente = EstadosServicio.obtenerIdEstadoPedidoPorDescripcion("Pendiente"); var listaPedidos = db.Pedidos.Include("Estados") .Include("Localidades") .Include("Localidades1") .Include("AspNetUsers") .Include("Postulaciones") .Where(x => x.id_estado == idPendiente) .ToList(); List <PedidoMapa> pedidosPendientes = new List <PedidoMapa>(); foreach (var pedido in listaPedidos) { Coordenada origen = new Coordenada(); Coordenada destino = new Coordenada(); if (pedido.lat_origen != null && pedido.lng_origen != null) { origen.lat = Convert.ToDouble(pedido.lat_origen); origen.lng = Convert.ToDouble(pedido.lng_origen); } if (pedido.lat_destino != null && pedido.lng_destino != null) { destino.lat = Convert.ToDouble(pedido.lat_destino); destino.lng = Convert.ToDouble(pedido.lng_destino); } var rangoPrecios = Comunes.ObtenerRangoPrecios(origen, destino); //ver postulado PedidoMapa pedidoMapa = new PedidoMapa() { IdPedido = pedido.IdPedido, IdCliente = pedido.idCliente, NombreCliente = pedido.AspNetUsers.NombreApellido, DescripcionPedido = pedido.descripcion_pedido, ObservacionesPedido = pedido.observaciones_pedido != null? pedido.observaciones_pedido : "Ninguna", DireccionOrigen = pedido.calle_origen + " " + pedido.nro_calle_origen + ", " + pedido.Localidades.Nombre, DireccionDestino = pedido.calle_destino + " " + pedido.nro_calle_destino + ", " + pedido.Localidades1.Nombre, Distancia = Math.Round(Comunes.DistanciaEntreDosPuntosEnKM(origen, destino), 2), Precio = Math.Round(pedido.precio_predido, 2), LatOrigen = pedido.lat_origen != null?Convert.ToDouble(pedido.lat_origen) : 0, LngOrigen = pedido.lng_origen != null?Convert.ToDouble(pedido.lng_origen) : 0, Postulado = false, PrecioMinimo = rangoPrecios.PrecioMinimo, PrecioMaximo = rangoPrecios.PrecioMaximo }; pedidosPendientes.Add(pedidoMapa); } return(pedidosPendientes); } catch (Exception ex) { return(null); } } }
public static List <PedidoMapa> ObtenerPedidosCercanos(Coordenada posicionUsuario, int distancia) { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; int codigoEstadoPendiente = EstadosServicio.obtenerIdEstadoPedidoPorDescripcion("Pendiente"); var pedidos = db.Pedidos.Include("AspNetUsers") .Include("Localidades") .Include("Localidades1") .Include("Postulaciones") .Where(x => x.id_estado == codigoEstadoPendiente) .ToList(); List <PedidoMapa> pedidosCercanos = new List <PedidoMapa>(); foreach (var pedido in pedidos) { if (pedido.lat_origen != null && pedido.lng_origen != null) { Coordenada posicionPedido = new Coordenada(); posicionPedido.lat = Convert.ToDouble(pedido.lat_origen); posicionPedido.lng = Convert.ToDouble(pedido.lng_origen); double distanciaPedido = Utilidades.Comunes.DistanciaEntreDosPuntosEnKM(posicionUsuario, posicionPedido); if (distanciaPedido <= distancia) { PedidoMapa pedidoMapa = ConvertirPedidoAPedidoMapa(pedido); pedidosCercanos.Add(pedidoMapa); } } } return(pedidosCercanos); } catch (Exception) { return(null); } } }
public PostulacionesViewModel() { pedidoDetalles = new PedidoMapa(); }