Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
//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"));
        }
Пример #6
0
        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"));
        }
Пример #7
0
        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)));
        }
Пример #8
0
        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));
        }
Пример #9
0
        // 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));
        }
Пример #10
0
        // 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));
        }
Пример #11
0
        // 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));
        }
Пример #12
0
        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"));
        }