public List <PresupuestoMaterialBE> PresupuestosFerreterias(int IdObra, decimal Area, string Latitud, string Longitud, int IdEstablecimiento) { try { var lista = new List <PresupuestoMaterialBE>(); var reader = db.Database.SqlQuery <sp_PresupuestoMaterial_Result>("sp_PresupuestoMaterial @param1, @param2, @param3,@param4", new SqlParameter("param1", Area), new SqlParameter("param2", IdObra), new SqlParameter("param3", Latitud), new SqlParameter("param4", Longitud) ); foreach (var item in reader) { var PresupuestoMaterialBE = new PresupuestoMaterialBE() { EstablecimientoBE = new EstablecimientoBE() { IdEstablecimiento = item.IdEstablecimiento, NombreComercial = item.NombreComercial, RazonSocial = item.RazonSocial, Direccion = item.Direccion, Latitud = item.Latitud, Longitud = item.Longitud, RUC = item.RUC }, SubTotal = (decimal)item.SubTotal, }; lista.Add(PresupuestoMaterialBE); } List <PresupuestoMaterialBE> lista2 = new List <PresupuestoMaterialBE>(); if (IdEstablecimiento == 0) { float lat = float.Parse(Latitud, CultureInfo.InvariantCulture); float longit = float.Parse(Longitud, CultureInfo.InvariantCulture); lista2 = lista.OrderBy(t => Extensiones.DistanciaKm(new Posicion(lat, longit), new Posicion(float.Parse(t.EstablecimientoBE.Latitud, CultureInfo.InvariantCulture), float.Parse(t.EstablecimientoBE.Longitud, CultureInfo.InvariantCulture)))).Take(5).ToList(); } else { lista2 = lista.Where(t => t.EstablecimientoBE.IdEstablecimiento == IdEstablecimiento).ToList(); } return(lista2.OrderBy(t => t.SubTotal).ToList()); } catch (Exception ex) { throw ex; } }
public List <EstablecimientoBE> Listar(string Latitud, string Longitud) { float lat = float.Parse(Latitud, CultureInfo.InvariantCulture); float longit = float.Parse(Longitud, CultureInfo.InvariantCulture); var lista = (from t in db.SG_Establecimiento where (t.Latitud != null && !t.Latitud.Equals("")) && (t.Longitud != null && !t.Longitud.Equals("")) select new EstablecimientoBE() { IdEstablecimiento = t.IdEstablecimiento, RazonSocial = t.RazonSocial, NombreComercial = t.NombreComercial, Latitud = t.Latitud, Longitud = t.Longitud, Direccion = t.Direccion, }).ToList(); var lista2 = lista.Where(t => Extensiones.DistanciaKm(new Posicion(lat, longit), new Posicion(float.Parse(t.Latitud, CultureInfo.InvariantCulture), float.Parse(t.Longitud, CultureInfo.InvariantCulture))) < 7).ToList(); return(lista2); }