private byte[] GetQrCodeArray(ReporteDocumentoFactura obj, string ruc) { var docs = obj.Documento.Split('-'); var listParams = new List <string> { ruc, // RUC Emisor obj.TipoDocumento.ToString("00"), // Tipo Comp docs[0], docs[1], obj.Igv.ToString("0.00"), obj.Total.ToString("0.00"), obj.FechaRegistro.ToShortDateString(), obj.TipoDocCliente.ToString("00"), obj.NroDocCliente }; var qrGen = new CodeQrBarcodeDraw(); var metric = (BarcodeMetricsQr)qrGen.GetDefaultMetrics(30); metric.ErrorCorrection = QrErrorCorrection.Q; var qr = new CodeQrBarcodeDraw().Draw(string.Join("|", listParams) + "|", metric); using (var mem = new MemoryStream()) { qr.Save(mem, System.Drawing.Imaging.ImageFormat.Png); return(mem.ToArray()); } }
//_______________QR CODE_________________________________________// private void metroBtbQrCode_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(this.metroTxtQrCode.Text.Trim())) { this.pictureBoxQR.Visible = false; this.metroTxtQrCode.ShowButton = false; MetroMessageBox.Show(this, "Text value can not be null.Please fill the field.", "Value is Empty", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); } else { this.metroCbxQR.Visible = true; pictureBoxQR.SizeMode = PictureBoxSizeMode.CenterImage; qrWidth = this.pictureBoxQR.Width; qrHeight = this.pictureBoxQR.Height; this.pictureBoxQR.Visible = true; this.metroTxtQrCode.ShowButton = true; metroBtnSaveQRCode.Visible = true; CodeQrBarcodeDraw qrDraw = BarcodeDrawFactory.CodeQr; qrDraw.GetDefaultMetrics(this.pictureBoxQR.Height + 25); pictureBoxQR.Image = qrDraw.Draw(this.metroTxtQrCode.Text.Trim(), this.pictureBoxQR.Height); } }
public ActionResult Sliting(CoilSlits slits) { ViewBag.Title = "Coil Slit"; Session["CurrForm"] = "CoilSlit"; slits.errMsg = ""; if (slits.inputHidden != null) { //char[] delimiters = { ' ', '+' }; //string[] inputArray = slits.input.Split(delimiters); // split the input string by using the delimiter '+' if (slits.inputHidden.Length < 9) { slits.errMsg = "Wrong Coil ID."; return(View(slits)); } string coilID = slits.inputHidden.Substring(0, 9); int cover_width = 0; int base_width = 0; if (slits.slitWidth == 118) { cover_width = 51; base_width = 67; } if (slits.slitWidth == 150) { cover_width = 67; base_width = 83; } if (slits.slitWidth == 200) { cover_width = 92; base_width = 108; } CodeQrBarcodeDraw QRcode = BarcodeDrawFactory.CodeQr; // to generate QR code Code128BarcodeDraw barcode128 = BarcodeDrawFactory.Code128WithChecksum; // to generate barcode Image img_QRcode = null; Image img_Barcode = null; byte[] imgBytes; string imgString; var sql = "select * from GRAM_SYD_LIVE.dbo.X_COIL_MASTER where COILID = '" + coilID + "'"; try { using (var context = new DbContext(Global.ConnStr)) { slits.CoilDetails = context.Database.SqlQuery <CoilMaster>(sql).ToList <CoilMaster>(); } } catch (Exception e) { slits.errMsg = "SQL Exception: " + e + ";"; } if (slits.CoilDetails.Count == 0) { slits.errMsg = "No information found in the database."; return(View(slits)); } string M_color = ""; string S_color = ""; int uniqueLocation = 0; if (slits.CoilDetails[0].COLOR.Length == 4) { M_color = slits.CoilDetails[0].COLOR.Substring(0, 2); S_color = slits.CoilDetails[0].COLOR.Substring(2, 2); } switch (slits.CoilDetails[0].TYPE) { case "RA": slits.slitNumber = 4; slits.slitWidth = 170; cover_width = slits.slitWidth; base_width = slits.slitWidth; break; case "SM": break; case "PO": slits.slitNumber = 8; slits.slitWidth = 135; cover_width = slits.slitWidth; base_width = slits.slitWidth; break; case "PL": slits.slitNumber = 4; slits.slitWidth = 255; cover_width = slits.slitWidth; base_width = slits.slitWidth; break; case "IS": slits.slitNumber = 8; slits.slitWidth = 116; cover_width = slits.slitWidth; base_width = slits.slitWidth; break; default: slits.errMsg = "Type not exist."; break; } if (slits.slitNumber > 0 && slits.CoilDetails != null) { string[] slitIDs = new string[slits.slitNumber]; string[] slitLabels = new string[slits.slitNumber]; slits.QRcodes = new string[8]; slits.Barcodes = new string[8]; for (int i = 1; i < slitIDs.Length + 1; i++) { slitIDs[i - 1] = slits.CoilDetails[0].COILID + "_" + i; slits.slits.Add(new CoilSlit()); slits.slits[i - 1].COIL_SLIT_ID = slitIDs[i - 1]; slits.slits[i - 1].TYPE = slits.CoilDetails[0].TYPE; slits.slits[i - 1].COLOR = slits.CoilDetails[0].COLOR; slits.slits[i - 1].M_COLOR = M_color; slits.slits[i - 1].S_COLOR = S_color; slits.slits[i - 1].WEIGHT = (int)(slits.CoilDetails[0].WEIGHT / slits.slitNumber); slits.slits[i - 1].GAUGE = slits.CoilDetails[0].GAUGE; slits.slits[i - 1].LENGTH = slits.CoilDetails[0].CLENGTH; slits.slits[i - 1].UNIQUELOCATION = uniqueLocation; if (i % 2 != 0) { slits.slits[i - 1].WIDTH = cover_width; } else { slits.slits[i - 1].WIDTH = base_width; } slits.slits[i - 1].STATUS = 0; // new -> 0, used -> 1 slitLabels[i - 1] = slits.CoilDetails[0].COILID + "_" + i + "+" + slits.CoilDetails[0].TYPE + "+" + slits.CoilDetails[0].COLOR + "+" + (int)(slits.CoilDetails[0].WEIGHT / slits.slitNumber) + "+" + slits.CoilDetails[0].GAUGE + "+" + slits.slits[i - 1].WIDTH; BarcodeMetrics barcodeMetrics = QRcode.GetDefaultMetrics(150); barcodeMetrics.Scale = 3; //qrcode size img_QRcode = QRcode.Draw(slitLabels[i - 1], barcodeMetrics); imgBytes = turnImageToByteArray(img_QRcode); imgString = Convert.ToBase64String(imgBytes); slits.QRcodes[i - 1] = String.Format("<img src=\"data:image/png;base64,{0}\"/>", imgString); img_Barcode = barcode128.Draw(slitLabels[i - 1], 100); imgBytes = turnImageToByteArray(img_Barcode); imgString = Convert.ToBase64String(imgBytes); slits.Barcodes[i - 1] = String.Format("<img src=\"data:image/png;base64,{0}\"/>", imgString); } slits.CoilSlitIDs = slitIDs; slits.CoilSlitLabels = slitLabels; if (slits.printFlag == "print") { for (int i = 0; i < slits.CoilSlitIDs.Count; i++) { var coilID_sql = new SqlParameter("@coilID", slits.CoilDetails[0].COILID); var coilSlitID_sql = new SqlParameter("@coilSlitID", slits.slits[i].COIL_SLIT_ID); var type_sql = new SqlParameter("@type", slits.slits[i].TYPE); var color_sql = new SqlParameter("@color", slits.slits[i].COLOR); var m_color_sql = new SqlParameter("@m_color", slits.slits[i].M_COLOR); var s_color_sql = new SqlParameter("@s_color", slits.slits[i].S_COLOR); var weight_sql = new SqlParameter("@weight", slits.slits[i].WEIGHT); var gauge_sql = new SqlParameter("@gauge", slits.slits[i].GAUGE); var width_sql = new SqlParameter("@width", slits.slits[i].WIDTH); var status_sql = new SqlParameter("@status", slits.slits[i].STATUS); var userID_sql = new SqlParameter("@userID", ((Scanner.Models.User)Session["User"]).UserName); var length_sql = new SqlParameter("@length", DBNull.Value); var uniqueLocation_sql = new SqlParameter("@uniqueLocation", slits.slits[i].UNIQUELOCATION); if (slits.slits[i].LENGTH != null) { length_sql = new SqlParameter("@length", slits.slits[i].LENGTH); } else { length_sql = new SqlParameter("@length", DBNull.Value); } var sql_update = "exec GramOnline.dbo.proc_Y_AddCoilSlit " + "@coilID, " + "@coilSlitID, " + "@type, " + "@color, " + "@m_color, " + "@s_color, " + "@weight, " + "@gauge, " + "@width, " + "@status, " + "@userID, " + "@length, " + "@uniqueLocation "; try { using (var context = new DbContext(Global.ConnStr)) { context.Database.ExecuteSqlCommand(sql_update, coilID_sql, coilSlitID_sql, type_sql, color_sql, m_color_sql, s_color_sql, weight_sql, gauge_sql, width_sql, status_sql, userID_sql, length_sql, uniqueLocation_sql); } } catch (Exception e) { slits.errMsg = "SQL Exception: " + e.Message + ";"; } } } } } return(View(slits)); }