public ActionResult DetalleReceta(IEnumerable <tbReceta> detalle) { List <RegistroProducto> lista = new List <RegistroProducto>(); if (detalle != null) { foreach (tbReceta item in detalle) { //por cada item dentro de la lista detalle creo un registroProducto lista.Add((from t in db.tbProducto where t.codProducto == item.codProducto orderby t.producto select new RegistroProducto { codProducto = t.codProducto, nombre = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value), descripcion = item.descripcion }).SingleOrDefault()); } } //el retorno sera el html creado en la vista parcial _detalle pasandole como modelo la lista return(PartialView("_Detalle", lista)); }
public ActionResult ProductosMasRecetados() { List <RegistroProducto> listado = (from receta in db.tbReceta join producto in db.tbProducto on receta.codProducto equals producto.codProducto group receta by new { receta.codProducto, producto.producto, producto.tbCategoria.categoria, producto.tbPresentacion.presentacion, producto.dosis, producto.codVolumen, producto.dosis2, producto.codVolumen2 } into grupo select new RegistroProducto { nombre = grupo.Key.producto, categoria = grupo.Key.categoria, presentacion = grupo.Key.presentacion, dosis = RegistroProducto.Dosis(grupo.Key.dosis.ToString(), grupo.Key.codVolumen.Value, grupo.Key.dosis2.ToString(), grupo.Key.codVolumen2.Value), cantidad = grupo.Count() }).ToList(); return(View(listado)); }
public ActionResult Filtrar(string filtro = "") { List <RegistroProducto> lista = null; if (filtro == "") { lista = (from t in db.tbProducto where t.estado == true && db.existencias(t.codProducto) > 0 orderby t.producto select new RegistroProducto { codProducto = t.codProducto, nombre = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value), }).Take(10).ToList(); } else { lista = (from t in db.tbProducto where t.producto.Contains(filtro) && t.estado == true && db.existencias(t.codProducto) > 0 orderby t.producto select new RegistroProducto { codProducto = t.codProducto, nombre = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value) }).Take(10).ToList(); } return(PartialView("_Medicamentos", lista)); }
public ActionResult MostrarDetalle(IEnumerable <Item> detalle) { //este action recibe como parametro la lista de productos Item, tenes que verla en los modelos, esta dentro del modelo Entrada, //es un objeto con un int codProducto y un int cantidad, que son los dos campos del array en javascript //creo una lista List <RegistroProducto> lista = new List <RegistroProducto>(); if (detalle != null) { foreach (Item item in detalle) { //por cada item dentro de la lista detalle creo un registroProducto lista.Add((from t in db.tbProducto where t.codProducto == item.codProducto orderby t.producto select new RegistroProducto { codProducto = t.codProducto, nombre = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value), cantidad = item.cantidad }).SingleOrDefault()); } } //el retorno sera el html creado en la vista parcial _detalle pasandole como modelo la lista return(PartialView("_Detalle", lista)); }
//genera la receta public ActionResult imprimirReceta(int cod) { var consul = (from c in db.tbConsulta where c.codConsulta == cod select c).SingleOrDefault(); var medicamentos = (from c in consul.tbReceta select new recetamedica { NombreProducto = c.tbProducto.producto, presenta = c.tbProducto.tbPresentacion.presentacion, dosific = RegistroProducto.Dosis(c.tbProducto.dosis.ToString(), c.tbProducto.codVolumen.Value, c.tbProducto.dosis2.ToString(), c.tbProducto.codVolumen2.Value), prescripcion = c.descripcion }); string nombre = consul.tbPaciente.nombre; DateTime fech = consul.fechaAtencion.Value; ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/Reportes"), "receta.rpt")); rd.SetDataSource(medicamentos); Response.Buffer = false; Response.Clear(); Response.ClearHeaders(); rd.SetParameterValue("name", nombre); rd.SetParameterValue("fecha", fech); Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "aplication/pdf", "Receta.pdf")); }
public ActionResult ReporteDeInventario() { List <int> lista = (from t in db.tbDetalleEntrada group t by t.codProducto into g select g.Key).ToList(); List <Inventario> inventario = (from cat in db.tbCategoria join prod in db.tbProducto on cat.codCategoria equals prod.codCategoria join pres in db.tbPresentacion on prod.codPresentacion equals pres.codPresentacion where lista.Contains(prod.codProducto) && db.existencias(prod.codProducto) > 0 orderby prod.producto select new Inventario { producto = prod.producto, categoria = cat.categoria, //cambiar por un campo dosis por que no deja concatenar presentacion = pres.presentacion, dosis = RegistroProducto.Dosis(prod.dosis.ToString(), prod.codVolumen.Value, prod.dosis2.ToString(), prod.codVolumen2.Value), existencia = db.existencias(prod.codProducto).Value }).ToList(); int id = SessionUsuario.Get.UserId; var us = db.tbUsuario.Where(x => x.codUsuario == id).SingleOrDefault(); ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/Reportes"), "Productos.rpt")); rd.SetDataSource(inventario); Response.Buffer = false; Response.Clear(); Response.ClearHeaders(); rd.SetParameterValue("name", us.nombre); Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "aplication/pdf", "Inventario.pdf")); }
public ActionResult Index(int?page) { List <int> lista = (from t in db.tbDetalleEntrada group t by t.codProducto into g select g.Key).ToList(); List <Inventario> inventario = (from cat in db.tbCategoria join prod in db.tbProducto on cat.codCategoria equals prod.codCategoria join pres in db.tbPresentacion on prod.codPresentacion equals pres.codPresentacion where lista.Contains(prod.codProducto) && db.existencias(prod.codProducto) > 0 orderby prod.producto select new Inventario { codProducto = prod.codProducto, producto = prod.producto, categoria = cat.categoria, presentacion = pres.presentacion, dosis = RegistroProducto.Dosis(prod.dosis.ToString(), prod.codVolumen.Value, prod.dosis2.ToString(), prod.codVolumen2.Value), existencia = db.existencias(prod.codProducto).Value }).ToList(); int pageSize = 15; int pageNumber = (page ?? 1); if (inventario == null) { return(View()); } return(View(inventario.ToPagedList(pageNumber, pageSize))); }
public ActionResult Productos(string filtro = "") { List <RegistroProducto> lista = null; if (filtro == "") { lista = (from e in db.tbDetalleEntrada join p in db.tbProducto on e.codProducto equals p.codProducto where db.existencias(p.codProducto) > 0 select new RegistroProducto { codProducto = p.codProducto, nombre = p.producto, categoria = p.tbCategoria.categoria, presentacion = p.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(p.dosis.ToString(), p.codVolumen.Value, p.dosis2.ToString(), p.codVolumen2.Value) }).Distinct().ToList(); } else { lista = (from e in db.tbDetalleEntrada join p in db.tbProducto on e.codProducto equals p.codProducto where p.producto.Contains(filtro) && db.existencias(p.codProducto) > 0 select new RegistroProducto { codProducto = p.codProducto, nombre = p.producto, categoria = p.tbCategoria.categoria, presentacion = p.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(p.dosis.ToString(), p.codVolumen.Value, p.dosis2.ToString(), p.codVolumen2.Value) }).Distinct().ToList(); } return(PartialView("_Productos", lista)); }
// GET: EntregaMedicamento/Detalles/5 public ActionResult Detalles(int codSalida) { DetalleEntrega modelo = new DetalleEntrega(); modelo.entrega = (from t in db.tbSalida where t.codSalida == codSalida select t).SingleOrDefault(); modelo.paciente = (from t in db.tbPaciente where t.codPaciente == modelo.entrega.codPaciente select t).SingleOrDefault(); modelo.detalle = (from det in db.tbDetalleSalida join pro in db.tbProducto on det.codProducto equals pro.codProducto where det.codSalida == codSalida select new RegistroProducto { codProducto = det.codProducto, nombre = pro.producto, categoria = pro.tbCategoria.categoria, presentacion = pro.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(pro.dosis.ToString(), pro.codVolumen.Value, pro.dosis2.ToString(), pro.codVolumen2.Value), cantidad = det.cantidad.Value }).ToList(); return(View(modelo)); }
// GET: Entrada/Detalles/5 public ActionResult Detalles(int codEntrada) { List <RegistroProducto> lista = (from det in db.tbDetalleEntrada join pro in db.tbProducto on det.codProducto equals pro.codProducto where det.codEntrada == codEntrada select new RegistroProducto { codProducto = det.codProducto, nombre = pro.producto, categoria = pro.tbCategoria.categoria, presentacion = pro.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(pro.dosis.ToString(), pro.codVolumen.Value, pro.dosis2.ToString(), pro.codVolumen2.Value), cantidad = det.cantidad.Value }).ToList(); tbEntrada entrada = (from t in db.tbEntrada where t.codEntrada == codEntrada select t).SingleOrDefault(); ViewBag.descripcion = entrada.descripcion; ViewBag.fechaEntrada = entrada.fechaEntrada.Value.ToLongDateString(); return(View(lista)); }
// GET: Entrada/Productos public ActionResult Productos(string filtro = "") { //este es el codigo que se ejecuta cuando se habre el modal apachando el boton buscar, tiene un filtro como cualquier otro //pero al final, dice return PartialView("_Productos", lista), osea que llama a la vista parcial _Productos y le pasa la lista //como el modelo List <RegistroProducto> lista = null; if (filtro == "") { lista = (from t in db.tbProducto where t.estado == true orderby t.producto select new RegistroProducto { codProducto = t.codProducto, nombre = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value), }).ToList(); } else { lista = (from t in db.tbProducto where t.producto.Contains(filtro) && t.estado == true //cambiado de & a && (no evalua la segunda expr si la 1era ea false) orderby t.producto select new RegistroProducto { codProducto = t.codProducto, nombre = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion, dosis = RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value) }).ToList(); } return(PartialView("_Productos", lista)); }
public ActionResult ReporteDeCatalogo() { List <Inventario> lista = (from t in db.tbProducto orderby t.producto, t.producto select new Inventario { producto = t.producto, categoria = t.tbCategoria.categoria, presentacion = t.tbPresentacion.presentacion + " " + RegistroProducto.Dosis(t.dosis.ToString(), t.codVolumen.Value, t.dosis2.ToString(), t.codVolumen2.Value) }).ToList(); int id = SessionUsuario.Get.UserId; var us = db.tbUsuario.Where(x => x.codUsuario == id).SingleOrDefault(); ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/Reportes"), "catalogo.rpt")); rd.SetDataSource(lista); Response.Buffer = false; Response.Clear(); Response.ClearHeaders(); rd.SetParameterValue("name", us.nombre); Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); return(File(stream, "aplication/pdf", "Catalogo_de_productos.pdf")); }