public ActionResult GenarateBarcodesFromInput(BarcodeGenarateModal barcodeGenarateModal)
        {
            if (Session["IncentiveUserId"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            int            userid         = Convert.ToInt32(Session["IncentiveUserId"]);
            ResultResponse resultResponse = new ResultResponse();

            resultResponse = homeDAL.SaveBarcodes(barcodeGenarateModal, userid);
            return(Json(resultResponse, JsonRequestBehavior.AllowGet));
        }
        public ResultResponse SaveBarcodes(BarcodeGenarateModal barcodeGenarateModal, int userId)
        {
            ResultResponse resultResponse   = new ResultResponse();
            int            masterPrimaryKey = 0;

            try
            {
                accessManager.SqlConnectionOpen(DataBase.WorkerInsentive);
                List <SqlParameter> aParameters = new List <SqlParameter>();
                aParameters.Add(new SqlParameter("@StyleNo", barcodeGenarateModal.StyleID));
                aParameters.Add(new SqlParameter("@GenarateDate", barcodeGenarateModal.SelectDate));
                aParameters.Add(new SqlParameter("@BundleQuantity", barcodeGenarateModal.Quantity));
                aParameters.Add(new SqlParameter("@Size", barcodeGenarateModal.BundleSize));
                aParameters.Add(new SqlParameter("@Color", barcodeGenarateModal.Color));
                aParameters.Add(new SqlParameter("@CreateBy", userId));
                aParameters.Add(new SqlParameter("@CutNo", barcodeGenarateModal.CutNo));
                aParameters.Add(new SqlParameter("@ShadeNo", barcodeGenarateModal.ShadeNO));
                aParameters.Add(new SqlParameter("@BuyerId", barcodeGenarateModal.BuyerID));
                aParameters.Add(new SqlParameter("@PONumber", barcodeGenarateModal.PONumber));
                aParameters.Add(new SqlParameter("@QuantityGenarate", (barcodeGenarateModal.Quantity * barcodeGenarateModal.NoOfBundle)));
                aParameters.Add(new SqlParameter("@BusinessUnitId", barcodeGenarateModal.BusinessUnitId));
                aParameters.Add(new SqlParameter("@MachineId", barcodeGenarateModal.MachineId));
                aParameters.Add(new SqlParameter("@LotNo", barcodeGenarateModal.LotNo));
                masterPrimaryKey = accessManager.SaveDataReturnPrimaryKey("sp_SaveGenaratedMasterTable", aParameters);
            }
            catch (Exception exception)
            {
                accessManager.SqlConnectionClose(true);
                throw exception;
            }
            finally
            {
                accessManager.SqlConnectionClose();
            }
            var pgSize = new iTextSharp.text.Rectangle(225, 75);                             //225,75

            iTextSharp.text.Document doc = new iTextSharp.text.Document(pgSize, 0, 0, 2, 2); //0,0,0,0
            string   path     = HttpContext.Current.Server.MapPath("~/GenaratePDF/");
            DateTime dt       = DateTime.Now;
            string   fileName = dt.Minute.ToString() + dt.Second.ToString() + dt.Millisecond.ToString();

            PdfWriter.GetInstance(doc, new FileStream(path + fileName + ".pdf", FileMode.Create));
            //open the document for writing
            doc.Open();
            // doc.SetPageSize(new iTextSharp.text.Rectangle(100,65));
            PdfPTable pdftable = new PdfPTable(1);

            for (int i = 0; i < barcodeGenarateModal.NoOfBundle; i++)
            {
                int count = 0;
                iTextSharp.text.Font font     = FontFactory.GetFont("Calibri", 6f, BaseColor.BLACK); // from 5.0f
                iTextSharp.text.Font fontlast = FontFactory.GetFont("Calibri", 6f, BaseColor.BLACK); // from 5.0f
                //String header = "Buyer Name : " + barcodeGenarateModal.BuyerName+"\nStyle : " + barcodeGenarateModal.StyleName + "\nBundle Quantity : " + barcodeGenarateModal.Quantity +
                //        "\nBundle No : " + (i+1) + "\nColor : " + barcodeGenarateModal.Color + ", Size : " + barcodeGenarateModal.BundleSize+ "\nPO Number : " + barcodeGenarateModal.PONumber;
                //iTextSharp.text.Paragraph paraheader = new iTextSharp.text.Paragraph(header, font);
                //PdfPCell cell1 = new PdfPCell { PaddingLeft = 0, PaddingTop = 0, PaddingBottom = 0, PaddingRight = 0 };
                // cell1.AddElement(paraheader);
                // cell1.Border = 0;
                //pdftable.AddCell(cell1);
                foreach (CommonModel barcodeGenarate in barcodeGenarateModal.OprationList)
                {
                    count++;
                    int barcodeNo = BarcodePrimaryKey(masterPrimaryKey, i + 1, barcodeGenarate, barcodeGenarateModal.BusinessUnitId);
                    var bw        = new ZXing.BarcodeWriter()
                    {
                        Format = ZXing.BarcodeFormat.PDF_417
                    };
                    bw.Options = new ZXing.Common.EncodingOptions()
                    {
                        Margin = 1
                    };

                    // var encOptions = new ZXing.Common.EncodingOptions() { Margin = 0}; // margin 0 to 1

                    //bw.Format = ZXing.BarcodeFormat.CODE_128;
                    var    bitmap = bw.Write(barcodeNo + "," + barcodeGenarate.OperationSMV);
                    Bitmap result = new Bitmap(bitmap, new Size(210, 55));  //100,60 // 210,60
                    //var result = new Bitmap();
                    result.Save(path + barcodeGenarate.OperationName, System.Drawing.Imaging.ImageFormat.Png);
                    //barcodeNo + "-" +
                    string first = barcodeNo + " , " + barcodeGenarateModal.StyleName + ", " + barcodeGenarate.OperationName + "," + barcodeGenarateModal.BundleSize;
                    string last  = barcodeGenarate.OperationSMV +
                                   ", " + barcodeGenarateModal.SelectDate + ","
                                   + barcodeGenarateModal.Quantity +
                                   ", " + (i + 1) + "-" + count + ", " + barcodeGenarateModal.Color + "," + barcodeGenarateModal.PONumber;

                    iTextSharp.text.Paragraph paragraph     = new iTextSharp.text.Paragraph(first, font);
                    iTextSharp.text.Paragraph lastparagraph = new iTextSharp.text.Paragraph(last, fontlast);
                    paragraph.SetLeading(0.8f, 0.8f);
                    paragraph.SpacingAfter = 1;    //2
                    lastparagraph.SetLeading(0.8f, 0.8f);
                    iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(path + barcodeGenarate.OperationName);
                    //image.SpacingAfter = 5;// for code 128
                    //image.ScaleAbsolute(85,50);
                    // image.PaddingTop = 3.0f;
                    PdfPCell cell = new PdfPCell {
                        PaddingLeft = 0, PaddingTop = 0, PaddingBottom = 0, PaddingRight = 0
                    };
                    // cell.FixedHeight = 60;
                    cell.AddElement(paragraph);
                    cell.AddElement(image);
                    cell.AddElement(lastparagraph);
                    cell.Border = 0;
                    pdftable.AddCell(cell);
                    File.Delete(path + barcodeGenarate.OperationName);
                }
            }
            doc.Add(pdftable);
            doc.Close();
            resultResponse.isSuccess = true;
            resultResponse.data      = path + fileName + ".pdf";
            return(resultResponse);
        }