public IHttpActionResult SearchDrugstore(SearchModel data) { List <ProductSearchModel> lista = new List <ProductSearchModel>(); using (FarmaciaAEntities db = new FarmaciaAEntities()) { var Farmacia = db.FARMACIA.FirstOrDefault(); db.SUCURSAL_PRODUCTO.Where(x => x.ID_SUCURSAL == data.idSucursal && x.PRODUCTO.PRODUCTO1.ToLower().Contains(data.producto.ToLower())).ToList().ForEach(x => { lista.Add(new ProductSearchModel { idSucursalProducto = x.ID_SUCURSAL_PRODUCTO, idSucursal = x.ID_SUCURSAL, producto = x.PRODUCTO.PRODUCTO1, precio = Convert.ToDecimal(x.PRECIO), sucursal = x.SUCURSAL.SUCURSAL1, latitud = x.SUCURSAL.LATITUD, longitud = x.SUCURSAL.LONGITUD, direccion = x.SUCURSAL.DIRECCION, idFarmacia = Convert.ToInt32(Farmacia.ID_FARMACIA) }); }); return(Ok(lista.OrderBy(x => x.precio))); } }
public IHttpActionResult NearbyDrugstore(SearchModel data) { using (FarmaciaAEntities db = new FarmaciaAEntities()) { List <ProductSearchModel> lista = new List <ProductSearchModel>(); var Farmacia = db.FARMACIA.FirstOrDefault(); lista.AddRange(db.nearby(data.producto, data.longitud, data.latitud).ToList().Select(x => new ProductSearchModel { sucursal = x.SUCURSAL, idSucursal = x.ID_SUCURSAL, latitud = x.LATITUD, longitud = x.LONGITUD, direccion = x.DIRECCION, idSucursalProducto = x.ID_SUCURSAL_PRODUCTO, producto = x.PRODUCTO, precio = Convert.ToInt32(x.PRECIO), idFarmacia = Convert.ToInt32(Farmacia.ID_FARMACIA) })); /* * db.SUCURSAL.ToList().ForEach(x => * { * double lat = Convert.ToDouble(x.LATITUD, CultureInfo.CreateSpecificCulture("en-US")); * double lon = Convert.ToDouble(x.LONGITUD, CultureInfo.CreateSpecificCulture("en-US")); * * List<double> callfun = db.Database.SqlQuery<double>("select dbo.DistanceFromLatLonInKm({0}, {1}, {2}, {3})", new object[] { lonC, latC, lon, lat }).ToList(); * if (callfun.FirstOrDefault() < 2) * { * x.SUCURSAL_PRODUCTO.Where(y => y.PRODUCTO.PRODUCTO1.ToLower().Contains(data.producto.ToLower())).ToList().ForEach(y => * { * lista.Add(new ProductSearchModel() * { * sucursal = x.SUCURSAL1, * idSucursal = x.ID_SUCURSAL, * latitud = x.LATITUD, * longitud = x.LONGITUD, * direccion = x.DIRECCION, * idSucursalProducto = y.ID_SUCURSAL_PRODUCTO, * producto = y.PRODUCTO.PRODUCTO1, * precio = Convert.ToDecimal(y.PRECIO), * idFarmacia = Convert.ToInt32(Farmacia.ID_FARMACIA) * }); * }); * } * });*/ return(Ok(lista)); } }
public IHttpActionResult ProductDetail(ProductSearchModel data) { DetailModel detalle = null; using (FarmaciaAEntities db = new FarmaciaAEntities()) { db.SUCURSAL_PRODUCTO.Where(x => x.ID_SUCURSAL_PRODUCTO == data.idSucursalProducto).ToList().ForEach(x => { detalle = new DetailModel() { producto = x.PRODUCTO.PRODUCTO1, presentacion = x.PRODUCTO.PRESENTACION.PRESENTACION1, fechaVencimiento = x.FECHA_VENCIMIENTO.ToShortDateString(), laboratorio = x.PRODUCTO.LABORATORIO.LABORATORIO1.Trim(), principiosActivos = x.PRODUCTO.DESCRIPCION.Trim().Replace("\t", " "), categoria = x.PRODUCTO.CATEGORIA.CATEGORIA1, precio = Convert.ToDouble(x.PRECIO), existencia = x.EXISTENCIA }; }); return(Ok(detalle)); } }