/// <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()); }
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)); }