/// <summary>
        /// Descripción: Controlador para obtener e imprimir los codigos de muestra por EESS.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <returns></returns>
        public ActionResult MostrarCodigo()
        {
            ViewBag.isPost = false;
            MuestraDal dal = new MuestraDal();

            ViewBag.idExtablecimientoUsuario = EstablecimientoSeleccionado.IdEstablecimiento;

            if (Request["idEstablecimiento"] != null)
            {
                int    idEstablecimiento = int.Parse(Request["idEstablecimiento"].ToString());
                string desde             = Request["txtDesde"].ToString();
                string hasta             = Request["txtHasta"].ToString();
                int    cantidad          = int.Parse(Request["txtCantidad"].ToString());
                var    chkcodigoLineal   = Request["chkCodigoLineal"];

                if (desde.Length == 5 && hasta.Length == 5)
                {
                    var listaEstablecimientos = Session["establecimientoList"] as List <Establecimiento>;

                    var renaes = listaEstablecimientos.FirstOrDefault(i => i.IdEstablecimiento == idEstablecimiento);
                    //EstablecimientosUsuario.Where(i => i.IdEstablecimiento == idEstablecimiento).FirstOrDefault().CodigoUnico;
                    string codigoRenaes = renaes.CodigoUnico;

                    codigoRenaes = codigoRenaes.Substring(codigoRenaes.Length - 5, 5);
                    desde        = codigoRenaes + desde;
                    hasta        = codigoRenaes + hasta;
                }
                if (cantidad <= 0)
                {
                    cantidad = 1;
                }


                List <string> listaCodigos = dal.GetGeneradosByEstablecimiento(idEstablecimiento, desde, hasta);
                ViewBag.listaCodigos = listaCodigos;
                ViewBag.notFound     = false;

                if (listaCodigos == null || listaCodigos.Count == 0)
                {
                    ViewBag.notFound = true;
                }
                else
                {
                    this.Session["GCM_ListaCodigos"] = listaCodigos;
                    this.Session["GCM_Duplicados"]   = cantidad;
                    this.Session["GCM_codigoLineal"] = chkcodigoLineal;
                    return(RedirectToAction("ImprimirGenerados", "Muestra"));
                }
                ViewBag.isPost = true;
            }
            else
            {
            }


            return(View());
        }
        /// <summary>
        /// Descripción: Controlador para exportar a excel los codigos generador por muestra de EESS.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <returns></returns>
        public ActionResult ExportExcel()
        {
            //Response.Clear();
            //Response.Buffer = true;
            //Response.AddHeader("content-disposition", "attachment;filename=CodigosGenerados.xls");
            //Response.Charset = "";
            //Response.ContentType = "application/vnd.ms-excel";

            MuestraDal dal = new MuestraDal();

            int       cantidad          = 0;
            int       idEstablecimiento = 0;
            DataTable codigos           = null;

            //List<string> codigos = new List<string>();

            if (this.Session["GCM_Cantidad"] != null)
            {
                cantidad          = (int)this.Session["GCM_Cantidad"];
                idEstablecimiento = (int)this.Session["GCM_Establecimiento"];
                codigos           = dal.UltimosGeneradosExcel(Logueado.idUsuario, idEstablecimiento, cantidad);
            }
            //var response = context.HttpContext.Response;
            try
            {
                using (XLWorkbook wb = new XLWorkbook())
                {
                    wb.Worksheets.Add(codigos);
                    wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
                    wb.Style.Font.Bold            = true;
                    return(new ExcelResult(wb, "CodigosGenerados"));
                    //Response.Clear();
                    //Response.Buffer = true;

                    //Response.Charset = "";
                    //Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    //Response.AddHeader("content-disposition", "attachment;filename= CodigosGenerados.xls");

                    //using (MemoryStream MyMemoryStream = new MemoryStream())
                    //{
                    //    wb.SaveAs(MyMemoryStream);
                    //    MyMemoryStream.WriteTo(Response.OutputStream);
                    //    Response.Flush();
                    //    Response.End();
                    //}
                }
                //Response.BufferOutput = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }
Esempio n. 3
0
        public System.Collections.Generic.List <Model.MuestraCodificacion> ConsultaCodigosMuestraEstado(string inicio, string fin, int idEstablecimiento)
        {
            var dal = new MuestraDal();

            return(dal.ConsultaCodigosMuestraEstado(inicio, fin, idEstablecimiento));
        }
        public ActionResult ImprimirCodigosGenerados()
        {
            MuestraDal dal = new MuestraDal();

            int    cantidad          = 0;
            int    idEstablecimiento = 0;
            int    duplicados        = 1;
            string tipo         = string.Empty;
            string codigoBarras = string.Empty;

            //Inicio - Sotero 03/07/2019 Generacion Codigo de Barra.
            string urlTemp                     = "";
            int    intMilliseconds             = 1000;
            List <PDFCodigoMuestraModel> lista = new List <PDFCodigoMuestraModel>();
            var varCodigoBarra                 = Request.RequestContext.RouteData.Values["id"];
            var varCodigoBarra2                = Request.Form["chkCodigoLineal"];

            if (varCodigoBarra2 != null && varCodigoBarra2 == "on")
            {
                this.Session["GCM_codigoLineal"] = "on";
            }
            else
            {
                this.Session["GCM_codigoLineal"] = null;
            }
            List <string> codigos = new List <string>();

            if (varCodigoBarra != null)
            {
                tipo         = "B";
                codigoBarras = varCodigoBarra.ToString();
                urlTemp      = string.Format("{0}://{1}{2}{3}/",
                                             Request.Url.Scheme,
                                             Request.Url.Host,
                                             Request.Url.Port == 80 ? string.Empty : ":" + Request.Url.Port,
                                             Request.ApplicationPath);

                urlTemp = urlTemp + "QR/WFCodBarra.aspx?barcode=" + varCodigoBarra.ToString();
                HttpWebRequest  request  = WebRequest.Create(urlTemp) as HttpWebRequest;
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                Stream          stream   = response.GetResponseStream();

                Thread.Sleep(intMilliseconds);

                lista.Add(new PDFCodigoMuestraModel()
                {
                    codigo   = varCodigoBarra.ToString(),
                    url      = Url.Content("~") + "QR/Images/" + varCodigoBarra.ToString() + ".png",
                    cantidad = duplicados,
                    Tipo     = "B"
                });
            }
            else
            {
                tipo = "Q";
                if (this.Session["GCM_Cantidad"] != null)
                {
                    cantidad          = (int)this.Session["GCM_Cantidad"];
                    idEstablecimiento = (int)this.Session["GCM_Establecimiento"];
                    if (Request["txtCantidad"] != null)
                    {
                        duplicados = int.Parse(Request["txtCantidad"].ToString());
                    }
                    else if (Session["GCM_Duplicados"] != null)
                    {
                        duplicados = (int)Session["GCM_Duplicados"];
                    }

                    if (duplicados < 1)
                    {
                        duplicados = 1;
                    }

                    string columna = varCodigoBarra2 != null && varCodigoBarra2 == "on" ? "codigoLineal" : "codificacion";
                    codigos = dal.UltimosGenerados(Logueado.idUsuario, idEstablecimiento, cantidad, columna);
                }

                if (this.Session["GCM_ListaCodigos"] != null)
                {
                    duplicados = (int)this.Session["GCM_Duplicados"];
                    codigos    = (List <string>) this.Session["GCM_ListaCodigos"];
                }
                if (this.Session["GCM_codigoLineal"] != null)
                {
                    tipo = "B";
                }

                idEstablecimiento = Request["idEstablecimiento"] != ""?int.Parse(Request["idEstablecimiento"].ToString()):0;
                string solicitud = Request["txtNumSolicitud"] == null ? "": Request["txtNumSolicitud"].ToString();
                string desde     = Request["txtDesde"].ToString();
                string hasta     = Request["txtHasta"].ToString();
                if (solicitud != "")
                {
                    idEstablecimiento = 0;
                    desde             = "-";
                    hasta             = "-";
                }

                if (!codigos.Any() && Session["GCM_ListaCodigos"] == null && !string.IsNullOrWhiteSpace(desde) && !string.IsNullOrWhiteSpace(hasta))
                {
                    string columna = varCodigoBarra2 != null && varCodigoBarra2 == "on" ? "codigoLineal" : "codificacion";
                    codigos = dal.GetGeneradosByEstablecimiento(idEstablecimiento, desde, hasta, solicitud, columna);
                    codigos = codigos.Where(x => x != "").ToList();
                }
            }
            //List<PDFCodigoMuestraModel> lista = new List<PDFCodigoMuestraModel>();
            //Pendiente = Calibrar los margenes
            //string urlTemp = "";
            //Fin - Sotero 03/07/2019 Generacion Codigo de Barra.
            foreach (string codigo in codigos)
            {
                if (tipo == "B")
                {
                    codigoBarras = codigo;
                    urlTemp      = string.Format("{0}://{1}{2}{3}/",
                                                 Request.Url.Scheme,
                                                 Request.Url.Host,
                                                 Request.Url.Port == 80 ? string.Empty : ":" + Request.Url.Port,
                                                 Request.ApplicationPath);

                    urlTemp = urlTemp + "QR/WFCodBarra.aspx?barcode=" + codigo;
                    HttpWebRequest  request  = WebRequest.Create(urlTemp) as HttpWebRequest;
                    HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                    Stream          stream   = response.GetResponseStream();

                    Thread.Sleep(intMilliseconds);

                    lista.Add(new PDFCodigoMuestraModel()
                    {
                        codigo   = codigo,
                        url      = Url.Content("~") + "QR/Images/" + codigo + ".png",
                        cantidad = duplicados,
                        Tipo     = "B"
                    });
                }
                else
                {
                    urlTemp = Url.Content("~") + "QR/WFCodBar.aspx?barcode=" + codigo +
                              "&MODE=" + 1 +
                              "&PFMT=" + 0 +
                              "&IR=" + 20 +
                              "&X=" + "0.300" +
                              "&Left_Margin=" + "0.05" +
                              "&Top_Margin=" + "0.05" +
                              "&FORMAT=" + "GIF";
                    lista.Add(new PDFCodigoMuestraModel()
                    {
                        codigo   = codigo,
                        url      = urlTemp,
                        cantidad = duplicados,
                        Tipo     = "Q" // Sotero 03/07/2019 Generacion Codigo de Barra.
                    });
                }
            }

            ViewBag.lista = lista;
            ViewBag.tipo  = tipo;
            //ViewBag.codigoBarras = codigoBarras;
            return(View("ImprimirGenerados", lista));
        }
Esempio n. 5
0
        public System.Collections.Generic.List <Model.MuestraCodificacion> ConsultaCodigosGenerados(string fechaDesde, string fechaHasta, string idEstablecimiento, string codigo, string estado, int laboratorio)
        {
            var dal = new MuestraDal();

            return(dal.ConsultaCodigosGenerados(fechaDesde, fechaHasta, idEstablecimiento, codigo, estado, laboratorio));
        }
Esempio n. 6
0
        public System.Collections.Generic.List <Model.MuestraCodificacion> ConsultaCodigosMuestra(int cantidad, int idEstablecimiento, int idUsuario)
        {
            var dal = new MuestraDal();

            return(dal.ConsultaCodigosMuestra(cantidad, idEstablecimiento, idUsuario));
        }
Esempio n. 7
0
        public MuestraCodificacion GeneraCodigosMuestraKobo(int idEstablecimiento, int idUsuario, int icodigoLineal)
        {
            var dal = new MuestraDal();

            return(dal.GenerarCodigosKobo(idEstablecimiento, idUsuario, icodigoLineal));
        }
Esempio n. 8
0
        public string GeneraCodigosMuestra(int idEstablecimiento, int idUsuario, int icodigoLineal)
        {
            var dal = new MuestraDal();

            return(dal.GenerarCodigos(idEstablecimiento, idUsuario, icodigoLineal));
        }
Esempio n. 9
0
        /// <summary>
        /// Descripción: Registra y obtiene los nuevos codigos de muestra.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <param name="cantidad"></param>
        /// <param name="idEstablecimiento"></param>
        /// <param name="idUsuario"></param>
        public void GeneraCodigosMuestra(int cantidad, int idEstablecimiento, int idUsuario, int icodigoLineal)
        {
            var dal = new MuestraDal();

            dal.GenerarCodigos(cantidad, idEstablecimiento, idUsuario, icodigoLineal);
        }