public Boolean updateDocForUnlockingInvoiceOUT(DocUnlock du, int docStat, string docID) { Boolean status = true; string utString = ""; try { string updateSQL = "update " + du.TableName + " set Status = 96,ApproveUser=NULL,DocumentStatus= " + docStat + " where TemporaryNo = " + du.TemporaryNo + " and TemporaryDate = '" + du.TemporaryDate.ToString("yyyy-MM-dd") + "' and DocumentID = '" + docID + "'"; utString = utString + updateSQL + Main.QueryDelimiter; utString = utString + ActivityLogDB.PrepareActivityLogQquerString("update", du.TableName, "", updateSQL) + Main.QueryDelimiter; InvoiceOutHeaderDB ionDB = new InvoiceOutHeaderDB(); if (docID == "PRODUCTINVOICEOUT" || docID == "PRODUCTEXPORTINVOICEOUT") { invoiceoutheader ioh = new invoiceoutheader(); ioh.DocumentID = docID; ioh.TemporaryNo = du.TemporaryNo; ioh.TemporaryDate = du.TemporaryDate; List <invoiceoutdetail> IOList = InvoiceOutHeaderDB.getInvoiceOutDetail(ioh); foreach (invoiceoutdetail iod in IOList) { updateSQL = "update stock set PresentStock = ((select PresentStock from Stock where RowID = " + iod.StockReferenceNo + ")+" + iod.Quantity + ")," + " IssueQuantity = ((select IssueQuantity from Stock where RowID = " + iod.StockReferenceNo + ")-" + iod.Quantity + ")" + " where RowID = " + iod.StockReferenceNo; utString = utString + updateSQL + Main.QueryDelimiter; utString = utString + ActivityLogDB.PrepareActivityLogQquerString("update", "Stock", "", updateSQL) + Main.QueryDelimiter; } } //Updating SJVHeader updateSQL = "update SJVHeader " + " set Status = 96,ApproveUser=NULL,DocumentStatus= 1" + " where InvTempNo = " + du.TemporaryNo + " and InvTempDate = '" + du.TemporaryDate.ToString("yyyy-MM-dd") + "' and InvDocumentID = '" + docID + "'"; utString = utString + updateSQL + Main.QueryDelimiter; utString = utString + ActivityLogDB.PrepareActivityLogQquerString("update", "SJVHeader", "", updateSQL) + Main.QueryDelimiter; //return false; if (!UpdateTable.UT(utString)) { status = false; } } catch (Exception ex) { MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error"); status = false; } return(status); }
//Get Purchase journal for perticular INvoice in public static SJVHeader getSJVHeaderPerInvoiceOut(invoiceoutheader ioh) { SJVHeader pjvh = new SJVHeader(); try { string query = "select RowID, DocumentID,TemporaryNo,TemporaryDate,JournalNo,JournalDate," + " Narration,INVDocumentID,InvTempNo,InvTempDate,InvReferenceNo, " + "CreateUser,CreateTime,Status,DocumentStatus" + " from SJVHeader" + " where INVDocumentID = '" + ioh.DocumentID + "' and InvTempNo = " + ioh.TemporaryNo + " and InvTempDate = '" + ioh.TemporaryDate.ToString("yyyy-MM-dd") + "'"; SqlConnection conn = new SqlConnection(Login.connString); SqlCommand cmd = new SqlCommand(query, conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { pjvh = new SJVHeader(); pjvh.RowID = reader.GetInt32(0); pjvh.DocumentID = reader.GetString(1); pjvh.TemporaryNo = reader.GetInt32(2); pjvh.TemporaryDate = reader.GetDateTime(3); pjvh.JournalNo = reader.GetInt32(4); pjvh.JournalDate = reader.GetDateTime(5); pjvh.Narration = reader.GetString(6); pjvh.InvDocumentID = reader.IsDBNull(7)?"":reader.GetString(7); pjvh.InvTempNo = reader.GetInt32(8); pjvh.InvTempDate = reader.GetDateTime(9); pjvh.InvReferenceNo = reader.GetInt32(10); pjvh.CreateUser = reader.GetString(11); pjvh.CreateTime = reader.GetDateTime(12); pjvh.status = reader.GetInt32(13); pjvh.DocumentStatus = reader.GetInt32(14); } conn.Close(); } catch (Exception ex) { MessageBox.Show("Error querying Purchase Journal Header Details"); } return(pjvh); }
public void PrintIO(invoiceoutheader ioh, List <invoiceoutdetail> IODetails) { string[] pos = ioh.TrackingNos.Split(';'); int b = 0; int[] a = (from s in pos where int.TryParse(s, out b) select b).ToArray(); int min = a.Min(); string[] dates = ioh.TrackingDates.Split(';'); string ColHeader = "SI No.;Item Code;Item Name;Customer Description;Quantity;Details"; int n = 1; string ColDetailString = ""; var count = IODetails.Count(); foreach (invoiceoutdetail iod in IODetails) { if (n == count) { ColDetailString = ColDetailString + n + Main.delimiter1 + iod.StockItemID + Main.delimiter1 + iod.StockItemName + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.Quantity + Main.delimiter1 + "MRN No : " + iod.MRNNo + "\n" + "MRN Date : " + iod.MRNDate.ToString("dd-MM-yyyy") + "\n" + "Supplier : " + iod.SupplierName + "\n"; } else { ColDetailString = ColDetailString + n + Main.delimiter1 + iod.StockItemID + Main.delimiter1 + iod.StockItemName + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.Quantity + Main.delimiter1 + "MRN No : " + iod.MRNNo + "\n" + "MRN Date : " + iod.MRNDate.ToString("dd-MM-yyyy") + "\n" + "Supplier : " + iod.SupplierName + "\n" + Main.delimiter2; } n++; } try { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save As PDF"; sfd.Filter = "Pdf files (*.Pdf)|*.pdf"; sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); sfd.FileName = ioh.DocumentID + "-" + ioh.TemporaryNo; if (sfd.ShowDialog() == DialogResult.Cancel || sfd.FileName == "") { return; } FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write); Rectangle rec = new Rectangle(PageSize.A4); iTextSharp.text.Document doc = new iTextSharp.text.Document(rec); PdfWriter writer = PdfWriter.GetInstance(doc, fs); MyEvent evnt = new MyEvent(); writer.PageEvent = evnt; doc.Open(); Font font1 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); Font font2 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.BOLD, BaseColor.BLACK); Font font3 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.ITALIC, BaseColor.BLACK); Font font4 = FontFactory.GetFont("Arial", 7, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); PdfPTable tableMain = new PdfPTable(1); tableMain.WidthPercentage = 100; PdfPCell cellAdd = new PdfPCell(); Paragraph ourAddr = new Paragraph(""); DateTime dt = Convert.ToDateTime(dates[0]); ourAddr.Add(new Chunk("Tracking No :" + a[0] + " ", font2)); ourAddr.Add(new Chunk(" Tracking Date :" + dt.ToString("dd-MM-yyyy") + "" + "\n", font2)); ourAddr.Add(new Chunk("Customer :" + ioh.ConsigneeName + "" + "\n", font2)); ourAddr.Add(new Chunk("Temporary No: " + ioh.TemporaryNo + " ", font2)); ourAddr.Add(new Chunk(" Temporary Date :" + ioh.TemporaryDate.ToString("dd-MM-yyyy") + "" + "\n", font2)); ourAddr.Alignment = Element.ALIGN_LEFT; cellAdd.AddElement(ourAddr); cellAdd.Border = 0; tableMain.AddCell(cellAdd); string[] ColHeaderStr = ColHeader.Split(';'); PdfPTable table1 = new PdfPTable(6); table1.SpacingBefore = 20f; table1.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.WidthPercentage = 100; float[] width = new float[] { 1f, 3f, 8f, 5f, 2f, 5f }; table1.SetWidths(width); for (int i = 0; i < ColHeaderStr.Length; i++) { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim(), font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(hcell); } ////--- //PdfPCell foot = new PdfPCell(new Phrase("")); //foot.Colspan = 7; //foot.BorderWidthTop = 0; //foot.MinimumHeight = 0.5f; //table1.AddCell(foot); //table1.HeaderRows = 2; //table1.FooterRows = 1; //table1.SkipFirstHeader = false; //table1.SkipLastFooter = true; ////--- int track = 0; string[] DetailStr = ColDetailString.Split(Main.delimiter2); float hg = 0f; for (int i = 0; i < DetailStr.Length; i++) { track = 0; hg = table1.GetRowHeight(i + 1); string[] str = DetailStr[i].Split(Main.delimiter1); for (int j = 0; j < str.Length; j++) { PdfPCell pcell; if (j == 4) { decimal p = 1; if (Decimal.TryParse(str[j], out p)) { pcell = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(str[j])), font1)); } else { pcell = new PdfPCell(new Phrase("")); } pcell.Border = 0; } else { pcell = new PdfPCell(new Phrase(str[j], font1)); pcell.Border = 0; } pcell.MinimumHeight = 10; if (j == 0 || j == 4) { pcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; } else { pcell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; } pcell.BorderWidthLeft = 0.01f; pcell.BorderWidthRight = 0.01f; pcell.BorderWidthBottom = 0.5f; table1.AddCell(pcell); } } /// PdfPCell pcelNo = new PdfPCell(new Phrase("", font1)); pcelNo.BorderWidthTop = 0; pcelNo.BorderWidthRight = 0; table1.AddCell(pcelNo); PdfPCell pcelMid = new PdfPCell(new Phrase("", font1)); pcelMid.Colspan = 3; pcelMid.Border = 0; pcelMid.BorderWidthTop = 0; pcelMid.BorderWidthLeft = 0; pcelMid.BorderWidthRight = 0; table1.AddCell(pcelMid); doc.Add(tableMain); doc.Add(table1); doc.Close(); MessageBox.Show("Document Saved"); } catch (Exception ex) { MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error-" + ex.ToString()); MessageBox.Show("Failed TO Save"); } }
public void PrintIO(invoiceoutheader ioh, List <invoiceoutdetail> IODetails, string taxStr, string podocID) { Dictionary <string, string> companyInfo = getCompanyInformation(); string[] pos = ioh.TrackingNos.Split(';'); int b = 0; int[] a = (from s in pos where int.TryParse(s, out b) select b).ToArray(); int min = a.Min(); string[] dates = ioh.TrackingDates.Split(';'); string poStr = ""; string billingAdd = ""; //StringBuilder sb = new StringBuilder(); for (int i = 0; i < pos.Length - 1; i++) { string custPOStr = POPIHeaderDB.getCustomerPOAndDateForInvoiceOut(Convert.ToInt32(pos[i]), Convert.ToDateTime(dates[i]), podocID); string[] custPO = custPOStr.Split(Main.delimiter1); if (Convert.ToInt32(pos[i]) == min) { billingAdd = custPO[2]; } poStr = poStr + "\n" + custPO[0] + " : " + custPO[1]; } companybank cb = CompanyBankDB.getCompBankDetailForIOPrint(ioh.BankAcReference); customer custDetail = CustomerDB.getCustomerDetailForPO(ioh.ConsigneeID); string[] companyBillingAdd = CompanyAddressDB.getCompTopBillingAdd(Login.companyID); string ConsgAdd = "Consignee:\n" + custDetail.name + Main.delimiter2 + "\n" + custDetail.BillingAddress + "\n"; string buyer = "Buyer:\n" + custDetail.name + Main.delimiter2 + "\n" + billingAdd + "\n"; if (custDetail.StateName.ToString().Length != 0) { ConsgAdd = ConsgAdd + "Sate Name:" + custDetail.StateName; buyer = buyer + "Sate Name:" + custDetail.StateName; if (custDetail.StateCode.ToString().Length != 0) { ConsgAdd = ConsgAdd + " ,\nState Code:" + custDetail.StateCode; buyer = buyer + " ,\nState Code:" + custDetail.StateCode; } } else { if (custDetail.StateCode.ToString().Length != 0) { ConsgAdd = ConsgAdd + "\nState Code:" + custDetail.StateCode; buyer = buyer + "\nState Code:" + custDetail.StateCode; } } //string buyer = if (custDetail.OfficeName.ToString().Length != 0) { ConsgAdd = ConsgAdd + "\nGST:" + custDetail.OfficeName; // For GST Code buyer = buyer + "\nGST:" + custDetail.OfficeName; // For GST Code } if (CustomerDB.getCustomerPANForInvoicePrint(ioh.ConsigneeID).Length != 0) { ConsgAdd = ConsgAdd + "\nPAN:" + custDetail.OfficeName; // For PAN Code buyer = buyer + "\nPAN:" + custDetail.OfficeName; // For PAN Code } string HeaderString = companyBillingAdd[0] + Main.delimiter2 + "\n" + companyBillingAdd[1] + "\nGST:" + companyInfo["GST"] + "\nCIN:" + companyInfo["CIN"] + "\nPAN:" + companyInfo["PAN"] + Main.delimiter1 + "Invoice No : " + ioh.InvoiceNo + Main.delimiter1 + "Invoice Date: \n" + ioh.InvoiceDate.ToString("dd-MM-yyyy") + Main.delimiter1 + "Buyer PO No/Date:" + poStr + Main.delimiter1 + ConsgAdd + Main.delimiter1 + "Delivery Note No:\n" + " " + Main.delimiter1 + "Delivery Note Date:\n" + " " + Main.delimiter1 + "Mode/Terms Of Payment:\n" + ioh.TermsOfPayment + Main.delimiter1 + buyer + Main.delimiter1 + "Dispatch Through:\n" + ioh.TransportationType + Main.delimiter1 + "Terms of Delivery:\n" + " "; string footer1 = "Amount In Words\n\n"; string ColHeader = "SI No.;Description of Goods;HSN;Quantity;Unit;Unit Rate;Amount"; string footer2 = "\n\nBank : " + cb.BankName + "\nBranch : " + cb.BranchName + "\nAC Type : " + cb.AccountType + "\nAC No : " + cb.AccountCode + "\nSWIFT Code : " + cb.CompanyID + "\nIFSC Code : " + cb.CreateUser; string footer3 = "For Cellcomm Solution Limited;Authorised Signatory"; //string termsAndCond = getTCString(poh.TermsAndCondition); double totQuant = 0.00; double totAmnt = 0.00; int n = 1; string ColDetailString = ""; var count = IODetails.Count(); string HSNCode = ""; foreach (invoiceoutdetail iod in IODetails) { if ((ioh.DocumentID == "SERVICEINVOICEOUT") || (ioh.DocumentID == "SERVICEEXPORTINVOICEOUT")) { HSNCode = ServiceHSNMappingDB.getHSNCode(iod.StockItemID); } else { HSNCode = ProductHSNMappingDB.getHSNCode(iod.StockItemID, iod.ModelNo); } //+ : main.delimiter1 if (n == count) { //ColDetailString = ColDetailString + n + "+" + iod.CustomerItemDescription + "+" + HSNCode + "+" + iod.Quantity + "+" // + iod.Unit + "+" + iod.Price + "+" + (iod.Quantity * iod.Price); ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + HSNCode + Main.delimiter1 + iod.Quantity + Main.delimiter1 + iod.Unit + Main.delimiter1 + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price); if (iod.Tax != 0) { //ColDetailString = ColDetailString + Main.delimiter2 + "" + "+" + iod.TaxCode + "+" + "" + "+" // + "" + "+" + "" + "+" + "" + "+" + iod.Tax; ColDetailString = ColDetailString + Main.delimiter2 + "" + Main.delimiter1 + iod.TaxCode + Main.delimiter1 + "" + Main.delimiter1 + "" + Main.delimiter1 + "" + Main.delimiter1 + "" + Main.delimiter1 + iod.Tax; } } else { ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + HSNCode + Main.delimiter1 + iod.Quantity + Main.delimiter1 + iod.Unit + Main.delimiter1 + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price) + Main.delimiter2; if (iod.Tax != 0) { //ColDetailString = ColDetailString + "" + "+" + iod.TaxCode + "+" + "" + "+" // + "" + "+" + "" + "+" + "" + "+" + iod.Tax + Main.delimiter2; ColDetailString = ColDetailString + "" + Main.delimiter1 + iod.TaxCode + Main.delimiter1 + "" + Main.delimiter1 + "" + Main.delimiter1 + "" + Main.delimiter1 + "" + Main.delimiter1 + iod.Tax + Main.delimiter2; } } totQuant = totQuant + iod.Quantity; totAmnt = totAmnt + (iod.Quantity * iod.Price); n++; } try { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save As PDF"; sfd.Filter = "Pdf files (*.Pdf)|*.pdf"; sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); sfd.FileName = ioh.DocumentID + "-" + ioh.InvoiceNo; if (sfd.ShowDialog() == DialogResult.Cancel || sfd.FileName == "") { return; } FileStream fs = new FileStream(sfd.FileName + ".pdf", FileMode.Create, FileAccess.Write); Rectangle rec = new Rectangle(PageSize.A4); iTextSharp.text.Document doc = new iTextSharp.text.Document(rec); PdfWriter writer = PdfWriter.GetInstance(doc, fs); MyEvent evnt = new MyEvent(); writer.PageEvent = evnt; doc.Open(); Font font1 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); Font font2 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.BOLD, BaseColor.BLACK); Font font3 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.ITALIC, BaseColor.BLACK); String URL = "Cellcomm2.JPG"; iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(URL); img.Alignment = Element.ALIGN_LEFT; Paragraph paragraph = new Paragraph(new Phrase("Tax Invoice", font2)); paragraph.Alignment = Element.ALIGN_CENTER; PrintPurchaseOrder prog = new PrintPurchaseOrder(); string[] HeaderStr = HeaderString.Split(Main.delimiter1); PdfPTable table = new PdfPTable(7); table.SpacingBefore = 20f; table.WidthPercentage = 100; float[] HWidths = new float[] { 0.5f, 8f, 1.5f, 2f, 1.5f, 2f, 3f }; table.SetWidths(HWidths); PdfPCell cell; int[] arr = { 3, 7, 9, 10 }; float wid = 0; for (int i = 0; i < HeaderStr.Length; i++) { if (i == 0 || i == 4 || i == 8) { string[] format = HeaderStr[i].Split(Main.delimiter2); Phrase phr = new Phrase(); phr.Add(new Chunk(format[0], font2)); phr.Add(new Chunk(format[1], font1)); //cell = new PdfPCell(new Phrase(HeaderStr[i].Trim(), font1)); cell = new PdfPCell(phr); cell.Rowspan = 2; cell.Colspan = 2; cell.HorizontalAlignment = 0; //0=Left, 1=Centre, 2=Right //wid = cell.MinimumHeight / 2; table.AddCell(cell); } else if (arr.Contains(i)) { cell = new PdfPCell(new Phrase(HeaderStr[i].Trim(), font1)); cell.Colspan = 5; cell.MinimumHeight = wid; table.AddCell(cell); } else { cell = new PdfPCell(new Phrase(HeaderStr[i].Trim(), font1)); if (i % 2 != 0) { cell.Colspan = 3; } else { cell.Colspan = 2; } table.AddCell(cell); } } string[] ColHeaderStr = ColHeader.Split(';'); PdfPTable table1 = new PdfPTable(7); table1.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.WidthPercentage = 100; float[] width = new float[] { 0.5f, 8f, 1.5f, 2f, 1.5f, 2f, 3f }; table1.SetWidths(width); for (int i = 0; i < ColHeaderStr.Length; i++) { if (i == 5 || i == 6) { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim() + "\n(" + ioh.CurrencyID + ")", font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(hcell); } else { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim(), font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(hcell); } } //--- PdfPCell foot = new PdfPCell(new Phrase("")); foot.Colspan = 7; foot.BorderWidthTop = 0; foot.MinimumHeight = 0.5f; table1.AddCell(foot); table1.HeaderRows = 2; table1.FooterRows = 1; table1.SkipFirstHeader = false; table1.SkipLastFooter = true; //--- int track = 0; decimal dc1 = 0; decimal dc2 = 0; string[] DetailStr = ColDetailString.Split(Main.delimiter2); float hg = 0f; for (int i = 0; i < DetailStr.Length; i++) { track = 0; hg = table1.GetRowHeight(i + 1); string[] str = DetailStr[i].Split(Main.delimiter1); for (int j = 0; j < str.Length; j++) { PdfPCell pcell; if (j == 3 || j == 5 || j == 6) { decimal p = 1; if (Decimal.TryParse(str[j], out p)) { pcell = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(str[j])), font1)); } else { pcell = new PdfPCell(new Phrase("")); } pcell.Border = 0; if (j == 6) { if (str[0].Length == 0) { pcell.BorderWidthBottom = 0.01f; track = 1; dc2 = Convert.ToDecimal(str[j]); } else { dc1 = Convert.ToDecimal(str[j]); } } } else { if (j == 2) { if (str[j].Trim().Length == 0) { pcell = new PdfPCell(new Phrase("", font1)); } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else if (j == 4) { int m = 1; if (Int32.TryParse(str[j], out m) == true) { if (Convert.ToInt32(str[j]) == 0) { pcell = new PdfPCell(new Phrase("", font1)); } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } pcell.Border = 0; } //pcell.Border = 0; //if (i == DetailStr.Length - 1) //{ // pcell.MinimumHeight = 50; //} //else pcell.MinimumHeight = 10; //pcell.MinimumHeight = 20; if (j == 1) { pcell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; } else { pcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; } pcell.BorderWidthLeft = 0.01f; pcell.BorderWidthRight = 0.01f; table1.AddCell(pcell); } if (track == 1) { for (int j = 0; j < 7; j++) { PdfPCell pcell1; if (j == 6) { pcell1 = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(dc1 + dc2)), font1)); pcell1.Border = 0; pcell1.BorderWidthBottom = 0.01f; } else { pcell1 = new PdfPCell(new Phrase("")); pcell1.Border = 0; } pcell1.HorizontalAlignment = PdfPCell.ALIGN_CENTER; pcell1.BorderWidthLeft = 0.01f; pcell1.BorderWidthRight = 0.01f; table1.AddCell(pcell1); } } } table1.AddCell(""); table1.AddCell(new Phrase("Total", font1)); //table1.AddCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(totQuant)), font1)); table1.AddCell(""); table1.AddCell(""); table1.AddCell(""); //totAmnt = totAmnt + dd; table1.AddCell(""); table1.AddCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(ioh.InvoiceAmount)), font1)); string total = footer1 + NumberToString.convert(ioh.InvoiceAmount.ToString()).Replace("Indian Rupees", ioh.CurrencyID) + "\n\n"; PdfPCell fcell1 = new PdfPCell(new Phrase((total), font1)); fcell1.Colspan = 6; fcell1.MinimumHeight = 50; fcell1.HorizontalAlignment = PdfPCell.ALIGN_LEFT; fcell1.BorderWidthBottom = 0; fcell1.BorderWidthRight = 0; fcell1.BorderWidthTop = 0; table1.AddCell(fcell1); PdfPCell fcell4 = new PdfPCell(new Phrase("E. & O.E", font1)); //fcell4.MinimumHeight = 50; fcell4.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; fcell4.BorderWidthBottom = 0; //fcell4.BorderWidthRight = 0; fcell4.BorderWidthLeft = 0; fcell4.BorderWidthTop = 0; table1.AddCell(fcell4); PdfPCell pcelNo = new PdfPCell(new Phrase("", font1)); pcelNo.BorderWidthTop = 0; pcelNo.BorderWidthRight = 0; table1.AddCell(pcelNo); Phrase phrs = new Phrase(); phrs.Add(new Chunk("Bank Details", font2)); phrs.Add(new Chunk(footer2, font1)); //PdfPCell fcell2 = new PdfPCell(new Phrase(footer2, font1)); PdfPCell fcell2 = new PdfPCell(phrs); fcell2.HorizontalAlignment = PdfPCell.ALIGN_MIDDLE; //fcell2.BorderWidthTop = 0; //fcell2.BorderWidthRight = 0; table1.AddCell(fcell2); PdfPCell pcelMid = new PdfPCell(new Phrase("", font1)); pcelMid.Colspan = 3; //pcelMid.Border = 0; pcelMid.BorderWidthTop = 0; pcelMid.BorderWidthLeft = 0; pcelMid.BorderWidthRight = 0; table1.AddCell(pcelMid); string[] ft = footer3.Split(';'); PdfPCell fcell3 = new PdfPCell(); Chunk ch1 = new Chunk(ft[0], font1); Chunk ch2 = new Chunk(ft[1], font1); Phrase phrase = new Phrase(); phrase.Add(ch1); for (int i = 0; i < 3; i++) { phrase.Add(Chunk.NEWLINE); } phrase.Add(ch2); Paragraph para = new Paragraph(); para.Add(phrase); para.Alignment = Element.ALIGN_RIGHT; fcell3.AddElement(para); fcell3.Border = 0; fcell3.Colspan = 3; fcell3.BorderWidthTop = 0f; fcell3.BorderWidthLeft = 0f; fcell3.BorderWidthRight = 0.5f; fcell3.BorderWidthBottom = 0.5f; fcell3.MinimumHeight = 50; table1.AddCell(fcell3); table1.KeepRowsTogether(table1.Rows.Count - 4, table1.Rows.Count); //------------------------- double dd = 0; PdfPTable taxTab = new PdfPTable(3); taxTab.WidthPercentage = 100; float[] twidth = new float[] { 3f, 3f, 10f }; taxTab.SetWidths(twidth); if (ioh.TaxAmount != 0) { PdfPCell pcell; pcell = new PdfPCell(new Phrase("Tax Details", font2)); taxTab.AddCell(pcell); PdfPCell pcellc = new PdfPCell(new Phrase("Amount(" + ioh.CurrencyID + ")", font2)); taxTab.AddCell(pcellc); PdfPCell pcelllst = new PdfPCell(new Phrase("", font1)); pcelllst.Border = 0; taxTab.AddCell(pcelllst); string[] tax = taxStr.Split(Main.delimiter2); for (int i = 0; i < tax.Length - 1; i++) { string[] subtax = tax[i].Split(Main.delimiter1); PdfPCell pcell1; pcell1 = new PdfPCell(new Phrase(subtax[0], font1)); PdfPCell pcell2; pcell2 = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(subtax[1])), font1)); PdfPCell pcell3 = new PdfPCell(new Phrase("", font1)); pcell3.Border = 0; taxTab.AddCell(pcell1); taxTab.AddCell(pcell2); taxTab.AddCell(pcell3); } taxTab.AddCell(new Phrase("Total Tax Amount", font2)); taxTab.AddCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(ioh.TaxAmount)), font2)); PdfPCell pcellt = new PdfPCell(new Phrase("", font1)); pcellt.Border = 0; taxTab.AddCell(pcellt); taxTab.KeepTogether = true; taxTab.SpacingAfter = 2f; taxTab.SpacingBefore = 3f; } //PdfPTable TCTab = new PdfPTable(2); ; //if (poh.TermsAndCondition.Trim().Length != 0) //{ // Chunk TCchunk = new Chunk("Terms And Conditoins:\n", font2); // TCchunk.SetUnderline(0.2f, -2f); // TCTab = new PdfPTable(2); // TCTab.WidthPercentage = 100; // PdfPCell TCCell = new PdfPCell(); // TCCell.Colspan = 2; // TCCell.Border = 0; // TCCell.AddElement(TCchunk); // TCTab.AddCell(TCCell); // try // { // string[] ParaTC = termsAndCond.Split(Main.delimiter2); // for (int i = 0; i < ParaTC.Length - 1; i++) // { // TCCell = new PdfPCell(); // TCCell.Colspan = 2; // TCCell.Border = 0; // Paragraph header = new Paragraph(); // Paragraph details = new Paragraph(); // details.IndentationLeft = 12f; // details.IndentationRight = 12f; // string paraHeaderStr = (i + 1) + ". " + ParaTC[i].Substring(0, ParaTC[i].IndexOf(Main.delimiter1)) + ":"; // string paraFooterStr = ParaTC[i].Substring(ParaTC[i].IndexOf(Main.delimiter1) + 1); // header.Add(new Phrase(paraHeaderStr, font2)); // details.Add(new Phrase(paraFooterStr, font1)); // TCCell.AddElement(header); // TCCell.AddElement(details); // TCTab.AddCell(TCCell); // } // } // catch (Exception ex) // { // MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error-" + ex.ToString()); // } // try // { // if (TCTab.Rows.Count >= 3) // { // TCTab.KeepRowsTogether(0, 3); // } // } // catch (Exception ex) // { // MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error-" + ex.ToString()); // } //} //doc.Add(jpg); doc.Add(img); doc.Add(paragraph); doc.Add(table); doc.Add(table1); if (ioh.TaxAmount != 0) { doc.Add(taxTab); } //if(poh.TermsAndCondition.Trim().Length != 0) // doc.Add(TCTab); doc.Close(); MessageBox.Show("Saved Sucessfully."); } catch (Exception ex) { MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error-" + ex.ToString()); MessageBox.Show("Failed TO Save"); } }
public void PrintIO(invoiceoutheader ioh, List <invoiceoutdetail> IODetails, string taxStr, string podocID) { try { Dictionary <string, string> companyInfo = getCompanyInformation(); string[] pos = ioh.TrackingNos.Split(';'); int b = 0; int[] a = (from s in pos where int.TryParse(s, out b) select b).ToArray(); int min = a.Min(); string[] dates = ioh.TrackingDates.Split(';'); string poStr = ""; string billingAdd = ""; string othRef = ""; for (int i = 0; i < pos.Length - 1; i++) { string custPOStr = POPIHeaderDB.getCustomerPOAndDateForInvoiceOut(Convert.ToInt32(pos[i]), Convert.ToDateTime(dates[i]), podocID); string[] custPO = custPOStr.Split(Main.delimiter1); ////if (Convert.ToInt32(pos[i]) == min) ////billingAdd = custPO[2]; poStr = poStr + custPO[0] + ", Date: " + String.Format("{0:dd MMMM, yyyy}", Convert.ToDateTime(custPO[1])) + "\n"; othRef = othRef + pos[i] + ","; } companybank cb = CompanyBankDB.getCompBankDetailForIOPrint(ioh.BankAcReference); customer custDetail = CustomerDB.getCustomerDetailForPO(ioh.ConsigneeID); string[] companyBillingAdd = CompanyAddressDB.getCompTopBillingAdd(Login.companyID); string ConsgAdd = "Consignee:\n" + custDetail.name + Main.delimiter2 + "\n" + ioh.DeliveryAddress + "\n"; string buyer = "Buyer:\n" + custDetail.name + Main.delimiter2 + "\n" + custDetail.BillingAddress + "\n"; if (custDetail.StateName.ToString().Length != 0) { ConsgAdd = ConsgAdd + "Sate Name:" + custDetail.StateName; buyer = buyer + "Sate Name:" + custDetail.StateName; if (custDetail.StateCode.ToString().Length != 0) { ConsgAdd = ConsgAdd + " ,\nState Code:" + custDetail.StateCode; buyer = buyer + " ,\nState Code:" + custDetail.StateCode; } } else { if (custDetail.StateCode.ToString().Length != 0) { ConsgAdd = ConsgAdd + "\nState Code:" + custDetail.StateCode; buyer = buyer + "\nState Code:" + custDetail.StateCode; } } if (custDetail.OfficeName.ToString().Length != 0) { ConsgAdd = ConsgAdd + "\nGST:" + custDetail.OfficeName; // For GST Code buyer = buyer + "\nGST:" + custDetail.OfficeName; // For GST Code } if (CustomerDB.getCustomerPANForInvoicePrint(ioh.ConsigneeID).Length != 0) { ConsgAdd = ConsgAdd + "\nPAN:" + custDetail.OfficeName; // For PAN Code buyer = buyer + "\nPAN:" + custDetail.OfficeName; // For PAN Code } string HeaderString = buyer + Main.delimiter1 + "Invoice No : " + ioh.InvoiceNo + " , Date: " + String.Format("{0:dd MMMM, yyyy}", ioh.InvoiceDate) + Main.delimiter1 + "Buyer's Reference : " + poStr.Trim() + Main.delimiter1 + "Mode of Dispatch : " + ioh.TransportationModeName + Main.delimiter1 + "Terms of Payment : " + ioh.TermsOfPayment + Main.delimiter1 + //Description : Name of terms of payment ConsgAdd + Main.delimiter1 + "Supplier's Reference : " + othRef.Trim().Substring(0, othRef.Length - 1) + Main.delimiter1 + "Reverse Charge : " + ioh.ReverseCharge + Main.delimiter1 + ioh.SpecialNote; string footer1 = "Amount in words\n\n"; string ColHeader = ""; if (ioh.DocumentID == "PRODUCTINVOICEOUT" || ioh.DocumentID == "PRODUCTEXPORTINVOICEOUT") { ColHeader = "SI No.;Description of Goods;HSN;Quantity;Unit;Unit Rate;Amount"; } else { ColHeader = "SI No.;Description of Goods;SAC;Quantity;Unit;Unit Rate;Amount"; } CompanyDetailDB compDB = new CompanyDetailDB(); cmpnydetails det = compDB.getdetails().FirstOrDefault(comp => comp.companyID == 1); string compName = ""; if (det != null) { compName = det.companyname; } string footer2 = "\n\nAccount Name : " + compName + "\nAccount No : " + cb.AccountCode + "\nAccount Type : " + cb.AccountType + "\nBank : " + cb.BankName + "\nBranch : " + cb.BranchName + "\nIFSC : " + cb.CreateUser; //"\nSWIFT Code : " + cb.CompanyID + string footer3 = "For Cellcomm Solutions Limited;Authorised Signatory"; double totQuant = 0.00; double totAmnt = 0.00; int n = 1; string ColDetailString = ""; var count = IODetails.Count(); foreach (invoiceoutdetail iod in IODetails) { if (ioh.DocumentID == "PRODUCTINVOICEOUT") { iod.HSNCode = iod.HSNCode.Substring(0, 4); } else if (ioh.DocumentID == "SERVICEINVOICEOUT") { iod.HSNCode = iod.HSNCode.Substring(0, 6); } if (n == count) { //if (ioh.DocumentID == "PRODUCTINVOICEOUT") ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.HSNCode + Main.delimiter1 + iod.Quantity + Main.delimiter1 + iod.Unit + Main.delimiter1 + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price); //else // ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.HSNCode.Substring(0, 4) + Main.delimiter1 + iod.Quantity + Main.delimiter1 // + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price); } else { //if (ioh.DocumentID == "PRODUCTINVOICEOUT") ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.HSNCode + Main.delimiter1 + iod.Quantity + Main.delimiter1 + iod.Unit + Main.delimiter1 + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price) + Main.delimiter2; //else // ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.HSNCode.Substring(0, 4) + Main.delimiter1 + iod.Quantity + Main.delimiter1 // + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price) + Main.delimiter2; } totQuant = totQuant + iod.Quantity; totAmnt = totAmnt + (iod.Quantity * iod.Price); n++; } try { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save As PDF"; sfd.Filter = "Pdf files (*.Pdf)|*.pdf"; sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (ioh.status == 0 && ioh.DocumentStatus < 99) { sfd.FileName = ioh.DocumentID + "-Temp-" + ioh.TemporaryNo; } else { sfd.FileName = ioh.DocumentID + "-" + ioh.InvoiceNo; } if (sfd.ShowDialog() == DialogResult.Cancel || sfd.FileName == "") { return; } FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write); Rectangle rec = new Rectangle(PageSize.A4); rec.Bottom = 10; iTextSharp.text.Document doc = new iTextSharp.text.Document(rec); PdfWriter writer = PdfWriter.GetInstance(doc, fs); MyEvent evnt = new MyEvent(); writer.PageEvent = evnt; doc.Open(); Font font1 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); Font font2 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.BOLD, BaseColor.BLACK); Font font3 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.ITALIC, BaseColor.BLACK); Font font4 = FontFactory.GetFont("Arial", 5, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); String URL = "Cellcomm2.JPG"; iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(URL); img.Alignment = Element.ALIGN_LEFT; PdfPTable tableHeader = new PdfPTable(2); tableHeader.WidthPercentage = 100; PdfPCell cellImg = new PdfPCell(); Paragraph pp = new Paragraph(); pp.Add(new Chunk(img, 0, 0)); cellImg.AddElement(pp); cellImg.Border = 0; tableHeader.AddCell(cellImg); PdfPCell cellAdd = new PdfPCell(); Paragraph ourAddr = new Paragraph(""); if (det != null) { ourAddr.Add(new Chunk(det.companyname + "\n", font2)); ourAddr.Add(new Chunk(det.companyAddress.Replace("\r\n", "\n"), font4)); StringBuilder sb = new StringBuilder(); sb.Append("\nGST : " + companyInfo["GST"] + "\nState Code for GST : " + companyInfo["StateCode"] + "\nCIN : " + companyInfo["CIN"] + "\nPAN : " + companyInfo["PAN"]); ourAddr.Add(new Chunk(sb.ToString(), font4)); ourAddr.Alignment = Element.ALIGN_RIGHT; ourAddr.SetLeading(0.0f, 1.5f); } cellAdd.AddElement(ourAddr); cellAdd.Border = 0; tableHeader.AddCell(cellAdd); Paragraph ParagraphDocumentName = new Paragraph(new Phrase("Tax Invoice", font2)); ParagraphDocumentName.Alignment = Element.ALIGN_CENTER; PrintPurchaseOrder prog = new PrintPurchaseOrder(); string[] HeaderStr = HeaderString.Split(Main.delimiter1); PdfPTable TableAddress = new PdfPTable(7); TableAddress.SpacingBefore = 20f; TableAddress.WidthPercentage = 100; float[] HWidths = new float[] { 1f, 8f, 1.5f, 2f, 1.5f, 2f, 3f }; TableAddress.SetWidths(HWidths); PdfPCell cell; int[] arr = { 3, 7, 9, 10 }; float wid = 0; for (int i = 0; i < HeaderStr.Length; i++) { if (i == 0 || i == 5) { string[] format = HeaderStr[i].Split(Main.delimiter2); Phrase phr = new Phrase(); phr.Add(new Chunk(format[0], font2)); phr.Add(new Chunk(format[1], font1)); cell = new PdfPCell(phr); if (i == 0) { cell.Rowspan = 4; } else { cell.Rowspan = 3; } cell.Colspan = 2; cell.HorizontalAlignment = 0; //0=Left, 1=Centre, 2=Right TableAddress.AddCell(cell); } else { cell = new PdfPCell(new Phrase(HeaderStr[i].Trim(), font1)); cell.Colspan = 5; cell.MinimumHeight = wid; TableAddress.AddCell(cell); } } string[] ColHeaderStr = ColHeader.Split(';'); PdfPTable TableItemDetail = new PdfPTable(7); TableItemDetail.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.WidthPercentage = 100; float[] widthProd = new float[] { 1f, 8f, 1.5f, 2f, 1.5f, 2f, 3f }; float[] widthServ = new float[] { 1f, 8f, 1.5f, 2f, 0f, 2f, 3f }; if (ioh.DocumentID == "PRODUCTINVOICEOUT" || ioh.DocumentID == "PRODUCTEXPORTINVOICEOUT") { TableItemDetail.SetWidths(widthProd); } else { TableItemDetail.SetWidths(widthServ); } //Table Row No : 1 (Header Column) for (int i = 0; i < ColHeaderStr.Length; i++) { if (i == (ColHeaderStr.Length - 1) || i == (ColHeaderStr.Length - 2)) { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim() + "\n(" + ioh.CurrencyID + ")", font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(hcell); } else { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim(), font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(hcell); } } //--- //Table Row No : 2 (Footer Column) PdfPCell foot = new PdfPCell(new Phrase("")); foot.Colspan = 7; foot.BorderWidthTop = 0; foot.MinimumHeight = 0.5f; TableItemDetail.AddCell(foot); TableItemDetail.HeaderRows = 2; TableItemDetail.FooterRows = 1; TableItemDetail.SkipFirstHeader = false; TableItemDetail.SkipLastFooter = true; //--- int track = 0; decimal dc1 = 0; decimal dc2 = 0; //Table Row No : 3 (Header Column) string[] DetailStr = ColDetailString.Split(Main.delimiter2); float hg = 0f; for (int i = 0; i < DetailStr.Length; i++) { track = 0; hg = TableItemDetail.GetRowHeight(i + 1); string[] str = DetailStr[i].Split(Main.delimiter1); for (int j = 0; j < str.Length; j++) { PdfPCell pcell; if (j == 3 || j == 5 || j == 6) { decimal p = 1; if (Decimal.TryParse(str[j], out p)) { pcell = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(str[j])), font1)); } else { pcell = new PdfPCell(new Phrase("")); } pcell.Border = 0; if (j == 6) { dc1 = Convert.ToDecimal(str[j]); } } else { if (j == 2) { if (str[j].Trim().Length == 0) { pcell = new PdfPCell(new Phrase("", font1)); } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else if (j == 4) { int m = 1; if (Int32.TryParse(str[j], out m) == true) { if (Convert.ToInt32(str[j]) == 0) { pcell = new PdfPCell(new Phrase("", font1)); } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } pcell.Border = 0; } pcell.MinimumHeight = 10; if (j == 1) { pcell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; } else { pcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; } pcell.BorderWidthLeft = 0.01f; pcell.BorderWidthRight = 0.01f; TableItemDetail.AddCell(pcell); } } PdfPCell Temp = new PdfPCell(new Phrase("")); Temp.Border = 0; Temp.BorderWidthLeft = 0.01f; Temp.BorderWidthRight = 0.01f; int dd = 0; if (ioh.TaxAmount != 0) { ////Table Row No : 4 (Total Amount) PdfPCell Temp1 = new PdfPCell(new Phrase("")); Temp1.Border = 0; Temp1.BorderWidthTop = 0.01f; Temp1.BorderWidthLeft = 0.01f; Temp1.BorderWidthRight = 0.01f; TableItemDetail.AddCell(Temp1); //blank cell TableItemDetail.AddCell(Temp1); PdfPCell cellCom = new PdfPCell(new Phrase("", font1)); cellCom.Colspan = 4; cellCom.Border = 0; cellCom.BorderWidthLeft = 0.01f; cellCom.BorderWidthRight = 0.01f; cellCom.BorderWidthTop = 0.01f; cellCom.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(cellCom); PdfPCell cellTot = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(totAmnt)), font2)); cellTot.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(cellTot); dd++; string[] tax = taxStr.Split(Main.delimiter2); for (int i = 0; i < tax.Length - 1; i++) { TableItemDetail.AddCell(Temp); //blank cell TableItemDetail.AddCell(Temp); string[] subtax = tax[i].Split(Main.delimiter1); PdfPCell cellinrtax = new PdfPCell(new Phrase(subtax[0], font1)); cellinrtax.Colspan = 4; cellinrtax.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; TableItemDetail.AddCell(cellinrtax); PdfPCell pcell2; pcell2 = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(subtax[1])), font1)); pcell2.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(pcell2); dd++; } double taxAmRnd = Math.Round(ioh.TaxAmount, 0); if (taxAmRnd != ioh.TaxAmount) { TableItemDetail.AddCell(Temp); //blank cell TableItemDetail.AddCell(Temp); PdfPCell cellTotTax = new PdfPCell(new Phrase("", font1)); cellTotTax.Colspan = 4; cellTotTax.Border = 0; cellTotTax.BorderWidthLeft = 0.01f; cellTotTax.BorderWidthRight = 0.01f; //cellCom.BorderWidthTop = 0.01f; cellTotTax.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(cellTotTax); PdfPCell cellTotTaxValue = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(totAmnt + ioh.TaxAmount)), font2)); cellTotTaxValue.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(cellTotTaxValue); dd++; } } double roundedAmt = Math.Round(ioh.InvoiceAmount, 0); double diffAmount = roundedAmt - ioh.InvoiceAmount; if (diffAmount != 0) { TableItemDetail.AddCell(""); TableItemDetail.AddCell(""); PdfPCell cellRound = new PdfPCell(new Phrase("Rounding off", font1)); cellRound.Colspan = 4; cellRound.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; TableItemDetail.AddCell(cellRound); TableItemDetail.AddCell(new Phrase(String.Format("{0:0.00}", diffAmount), font1)); //table1.AddCell(""); dd++; } TableItemDetail.AddCell(""); TableItemDetail.AddCell(""); PdfPCell cellRoundTot = new PdfPCell(new Phrase("Total", font1)); cellRoundTot.Colspan = 4; cellRoundTot.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; TableItemDetail.AddCell(cellRoundTot); PdfPCell roundTot = new PdfPCell(new Phrase(String.Format("{0:0.00}", roundedAmt), font2)); roundTot.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TableItemDetail.AddCell(roundTot); //table1.AddCell(""); string total = footer1 + NumberToString.convert(roundedAmt.ToString()).Replace("INR", ioh.CurrencyID) + "\n\n"; PdfPCell fcell1 = new PdfPCell(new Phrase((total), font1)); fcell1.Border = 0; fcell1.Colspan = 6; fcell1.HorizontalAlignment = PdfPCell.ALIGN_LEFT; fcell1.BorderWidthLeft = 0.5f; fcell1.BorderWidthBottom = 0.5f; fcell1.BorderWidthRight = 0; fcell1.BorderWidthTop = 0; TableItemDetail.AddCell(fcell1); PdfPCell fcell4 = new PdfPCell(new Phrase("E. & O.E", font1)); fcell4.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; fcell4.Border = 0; fcell4.BorderWidthBottom = 0.5f; fcell4.BorderWidthRight = 0.5f; fcell4.BorderWidthLeft = 0; fcell4.BorderWidthTop = 0; TableItemDetail.AddCell(fcell4); TableItemDetail.KeepRowsTogether(TableItemDetail.Rows.Count - (dd + 4), TableItemDetail.Rows.Count); //int HSNMappCount = TaxDataTable.Rows.Count + 6; //int itemCount = DetailStr.Length; //int tableCount = table1.Rows.Count; //================================================= //DataTable TaxDataTable = new DataTable("TaxDetails"); //DataColumn[] colArr = { new DataColumn("HSN Code"), new DataColumn("Taxable Value"), new DataColumn("CGST %"), // new DataColumn("CGST Amt"), new DataColumn("SGST %"), new DataColumn("SGST Amt"), new DataColumn("IGST %"), // new DataColumn("IGST Amt"), new DataColumn("Total Amt") }; //TaxDataTable.Columns.AddRange(colArr); //DataRow myDataRow = TaxDataTable.NewRow(); //myDataRow[colArr[0]] = "1111"; //myDataRow[colArr[1]] = "1000"; //myDataRow[colArr[2]] = "9"; //myDataRow[colArr[3]] = "200"; //myDataRow[colArr[4]] = "9"; //myDataRow[colArr[5]] = "200"; //myDataRow[colArr[6]] = "14"; //myDataRow[colArr[7]] = "600"; //myDataRow[colArr[8]] = "2000"; //TaxDataTable.Rows.Add(myDataRow); //DataRow myDataRow1 = TaxDataTable.NewRow(); //myDataRow1[colArr[0]] = "2222"; //myDataRow1[colArr[1]] = "2000"; //myDataRow1[colArr[2]] = "9"; //myDataRow1[colArr[3]] = "300"; //myDataRow1[colArr[4]] = "9"; //myDataRow1[colArr[5]] = "400"; //myDataRow1[colArr[6]] = "14"; //myDataRow1[colArr[7]] = "1300"; //myDataRow1[colArr[8]] = "4000"; //TaxDataTable.Rows.Add(myDataRow1); //============================================== InvoiceOutHeaderDB iohDB = new InvoiceOutHeaderDB(); DataTable TaxDataTable = iohDB.taxDetails4Print(IODetails, ioh.DocumentID); PdfPTable TabTaxDetail = new PdfPTable(TaxDataTable.Columns.Count); TabTaxDetail.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; TabTaxDetail.WidthPercentage = 100; //TabTaxDetail.SpacingBefore = 10; PdfPCell cellTax = new PdfPCell(); //Adding columns in table List <string> colListStr = new List <string>(); List <string> colListSubStr = new List <string>(); double amtTot = 0; double TaxTot1 = 0; double TaxTot2 = 0; double TaxTot3 = 0; double TaxTot = 0; Dictionary <int, string> dictTot = new Dictionary <int, string>(); for (int p = 0; p < TaxDataTable.Columns.Count; p++) { if (p != 0 && p != 1 && p != TaxDataTable.Columns.Count - 1) { TaxTot1 = 0; string substr = TaxDataTable.Columns[p].ColumnName; colListStr.Add(substr.Trim()); //CGST colListSubStr.Add(TaxDataTable.Columns[p].ColumnName); //CGST% in subList colListSubStr.Add(TaxDataTable.Columns[p + 1].ColumnName); //CGST amount in subList p++; if (p % 2 != 0) { TaxTot1 = TaxDataTable.AsEnumerable().Sum(c => c.Field <double>(TaxDataTable.Columns[p].ColumnName)); dictTot.Add(p, String.Format("{0:0.00}", Convert.ToDecimal(TaxTot1))); } } else { colListStr.Add(TaxDataTable.Columns[p].ColumnName); if (p == 1) { amtTot = TaxDataTable.AsEnumerable().Sum(c => c.Field <double>(TaxDataTable.Columns[p].ColumnName)); dictTot.Add(p, String.Format("{0:0.00}", Convert.ToDecimal(amtTot))); } if (p == TaxDataTable.Columns.Count - 1) { TaxTot = TaxDataTable.AsEnumerable().Sum(c => c.Field <double>(TaxDataTable.Columns[p].ColumnName)); dictTot.Add(p, String.Format("{0:0.00}", Convert.ToDecimal(TaxTot))); } } } foreach (string str in colListStr) { int index = colListStr.FindIndex(x => x == str); if (index == 0 || index == 1 || index == colListStr.Count - 1) { cellTax = new PdfPCell(); cellTax.Rowspan = 2; Paragraph p = new Paragraph(str, font2); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } else { cellTax = new PdfPCell(); cellTax.Colspan = 2; Paragraph p = new Paragraph(str, font2); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } } foreach (string str in colListSubStr) { cellTax = new PdfPCell(); Paragraph p = new Paragraph(str, font2); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } int t = 0; foreach (DataRow row in TaxDataTable.Rows) { int l = 0; foreach (DataColumn col in TaxDataTable.Columns) { cellTax = new PdfPCell(); if (l == 1 || l % 2 != 0 || l == TaxDataTable.Columns.Count - 1) { Paragraph p = new Paragraph(String.Format("{0:0.00}", Convert.ToDecimal(row[col].ToString())), font1); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } else { Paragraph p = new Paragraph(row[col].ToString(), font1); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } t++; l++; } } for (int k = 0; k < TaxDataTable.Columns.Count; k++) { if (k == 0) { cellTax = new PdfPCell(); Paragraph p = new Paragraph("Total", font2); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } else if (dictTot.ContainsKey(k)) { cellTax = new PdfPCell(); Paragraph p = new Paragraph(dictTot[k], font2); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } else { cellTax = new PdfPCell(); Paragraph p = new Paragraph("", font1); p.Alignment = Element.ALIGN_CENTER; cellTax.AddElement(p); TabTaxDetail.AddCell(cellTax); } } //TabTaxDetail.KeepRowsTogether(TabTaxDetail.Rows.Count - 10, TabTaxDetail.Rows.Count); TabTaxDetail.KeepTogether = true; //Bank dtails and authorised Signature PdfPTable tableFooter = new PdfPTable(2); tableFooter.WidthPercentage = 100; Phrase phrs = new Phrase(); phrs.Add(new Chunk("\nBank Details for Payment", font2)); phrs.Add(new Chunk(footer2, font1)); PdfPCell fcell2 = new PdfPCell(phrs); fcell2.HorizontalAlignment = PdfPCell.ALIGN_LEFT; fcell2.BorderWidthRight = 0; tableFooter.AddCell(fcell2); string[] ft = footer3.Split(';'); PdfPCell fcell3 = new PdfPCell(); Chunk ch1 = new Chunk(ft[0], font1); Chunk ch2 = new Chunk(ft[1], font1); Phrase phrase = new Phrase(); phrase.Add(ch1); for (int i = 0; i < 3; i++) { phrase.Add(Chunk.NEWLINE); } phrase.Add(ch2); Paragraph para = new Paragraph(); para.Add(phrase); para.Alignment = Element.ALIGN_RIGHT; fcell3.AddElement(para); fcell3.Border = 0; fcell3.BorderWidthRight = 0.5f; fcell3.BorderWidthBottom = 0.5f; fcell3.MinimumHeight = 50; tableFooter.AddCell(fcell3); PdfPTable tableSub = new PdfPTable(1); tableSub.DefaultCell.Border = 0; tableSub.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; tableSub.AddCell(new Phrase("Subject To Bangalore Jurisdiction", font2)); PdfPCell celSub = new PdfPCell(tableSub); celSub.Border = 0; celSub.Colspan = 2; tableFooter.AddCell(celSub); //======= doc.Add(tableHeader); doc.Add(ParagraphDocumentName); doc.Add(TableAddress); doc.Add(TableItemDetail); doc.Add(TabTaxDetail); doc.Add(tableFooter); doc.Close(); if (ioh.status == 0 && ioh.DocumentStatus < 99) { String wmurl = ""; wmurl = "004.png"; PrintWaterMark.PdfStampWithNewFile(wmurl, sfd.FileName); } if (ioh.status == 98) { String wmurl = ""; wmurl = "003.png"; PrintWaterMark.PdfStampWithNewFile(wmurl, sfd.FileName); } MessageBox.Show("Document Saved"); } catch (Exception ex) { MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error-" + ex.ToString()); MessageBox.Show("Failed TO Save"); } } catch (Exception ex) { MessageBox.Show("Exception : " + ex.ToString()); MessageBox.Show("Failed TO Save"); } }
private void grdList_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (e.RowIndex < 0) return; string columnName = grdList.Columns[e.ColumnIndex].Name; if (columnName.Equals("Print")) { //int rowID = e.RowIndex; //////string tempDate = ""; ////Edit Button ////MessageBox.Show("You clicked edit button"); //btnSave.Text = "Update"; //pnlDocumentInner.Visible = true; //pnlDocumentOuter.Visible = true; //pnlDocumentList.Visible = false; //txtCustomerName.Enabled = false; //cmbDocumentStatus.SelectedIndex = cmbDocumentStatus.FindStringExact(grdList.Rows[e.RowIndex].Cells[2].Value.ToString()); //DataGridViewRow row = grdList.Rows[rowID]; //txtCustomerName.Text = grdList.Rows[e.RowIndex].Cells[0].Value.ToString(); //txtTemporaryNo.Text = grdList.Rows[e.RowIndex].Cells[1].Value.ToString(); //txtInvoiceAmount.Text = grdList.Rows[e.RowIndex].Cells[2].Value.ToString(); string Docid = grdList.Rows[e.RowIndex].Cells[0].Value.ToString(); int Tempno = Convert.ToInt32(grdList.Rows[e.RowIndex].Cells[1].Value); DateTime Tempdate = Convert.ToDateTime(grdList.Rows[e.RowIndex].Cells[2].Value); string PODocIdWRTIO = getPODocIDForSelectedIO(Docid); //disableBottomButtons(); grdList.Visible = true; btnNew.Visible = true; btnExit.Visible = true; //CSLERP.PrintForms.PrintPurchaseOrder ppo = new CSLERP.PrintForms.PrintPurchaseOrder(); PrintInvoiceOut pio = new PrintInvoiceOut(); invoiceoutheader ioh = new invoiceoutheader(); InvoiceOutHeaderDB iodb = new InvoiceOutHeaderDB(); List<invoiceoutheader> InvceOuthdr = iodb.getFilteredInvoiceOutHeaderList(Docid, Tempno, Tempdate); ioh = InvceOuthdr.FirstOrDefault(); List<invoiceoutdetail> IODetails = InvoiceOutHeaderDB.getInvoiceOutDetail(ioh); foreach (invoiceoutdetail iod in IODetails) { if (iod.HSNCode.Trim().Length <= 0) { MessageBox.Show("HSN Code not available for " + iod.StockItemName + ". Print aborted...."); return; } } getTaxDetails(IODetails); string taxstr = getTasDetailStr(); //string taxstr = ""; taxDetails4Print(IODetails, ioh.DocumentID); if (ioh.DocumentID == "PRODUCTEXPORTINVOICEOUT" || ioh.DocumentID == "SERVICEEXPORTINVOICEOUT") { PrintExportInvoiceOut expPrint = new PrintExportInvoiceOut(); expPrint.PrintExportIO(ioh, IODetails, taxstr, PODocIdWRTIO); } else { pio.PrintIO(ioh, IODetails, taxstr, PODocIdWRTIO); } btnNew.Visible = true; btnExit.Visible = true; return; } } catch (Exception ex) { } }
private void ShowAllDetails() { try { InvoiceOutHeaderDB pdb = new InvoiceOutHeaderDB(); invoiceoutheader poh = pdb.getFilteredInvoiceOutHeaderList(docID, tempno, tempdate).FirstOrDefault(); if (poh != null) { hide(); txtDocID.Text = poh.DocumentID; txtPOTrackingNo.Text = poh.TrackingNos.ToString(); txtPOTrackingdate.Text = poh.TrackingDates; cmbCustomer.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbCustomer, poh.ConsigneeID); txtInvoiceNo.Text = poh.InvoiceNo.ToString(); dtInvoiceDate.Value = poh.InvoiceDate; cmbCurrency.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbCurrency, poh.CurrencyID); cmbTransporter.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbTransporter, poh.Transporter); cmbTransportationMode.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbTransportationMode, poh.TransportationMode); cmbProject.SelectedIndex = cmbProject.FindString(poh.ProjectID); txtFreightCharge.Text = poh.FreightCharge.ToString(); txtpaymentTerms.Text = poh.TermsOfPayment; txtproductValue.Text = poh.ProductValueINR.ToString(); txtTaxvalue.Text = poh.TaxAmountINR.ToString(); txtFreightForwarding.Text = (poh.FreightCharge * poh.INRConversionRate).ToString(); txtInvoiceAmt.Text = poh.InvoiceAmount.ToString(); txtBankAccount.Text = poh.BankAcReference.ToString(); if ((docID == "PRODUCTEXPORTINVOICEOUT") || (docID == "SERVICEEXPORTINVOICEOUT")) { show(); cmbOriginCountryID.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbOriginCountryID, poh.OriginCountryID); cmbFinalDestinationCountryID.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbFinalDestinationCountryID, poh.FinalDestinatoinCountryID); //cmbFinalDestinationCountryID.SelectedIndex = cmbFinalDestinationCountryID.FindString(previoh.FinalDestinatoinCountryID); txtFinalDestinationPlace.Text = poh.FinalDestinationPlace; //cmbPreCarriageTransMode.SelectedIndex = cmbPreCarriageTransMode.FindString(previoh.PreCarriageTransportationMode); cmbPreCarriageTransMode.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbPreCarriageTransMode, poh.PreCarriageTransportationMode); txtPrecarrierReceivedPlace.Text = poh.PreCarrierReceiptPlace; txtTermsOfDelivery.Text = poh.TermsOfDelivery; txtEntryPort.Text = poh.EntryPort; txtExitPort.Text = poh.ExitPort; cmbADCode.SelectedIndex = Structures.ComboFUnctions.getComboIndex(cmbADCode, poh.ADCode); //cmbADCode.SelectedIndex = cmbADCode.FindString(previoh.ADCode); } } invoiceoutheader popd = new invoiceoutheader(); popd.DocumentID = docID; popd.TemporaryNo = tempno; popd.TemporaryDate = tempdate; List <invoiceoutdetail> pod = InvoiceOutHeaderDB.getInvoiceOutDetail(popd); grdPRDetail.Rows.Clear(); int i = 0; double count = 0; foreach (invoiceoutdetail po in pod) { grdPRDetail.Rows.Add(); grdPRDetail.Rows[i].Cells["LineNo"].Value = grdPRDetail.Rows.Count; grdPRDetail.Rows[i].Cells["Item"].Value = po.StockItemID; grdPRDetail.Rows[i].Cells["ItemDesc"].Value = po.StockItemName; grdPRDetail.Rows[i].Cells["TaxCode"].Value = po.TaxCode; grdPRDetail.Rows[i].Cells["Quantity"].Value = po.Quantity; grdPRDetail.Rows[i].Cells["Price"].Value = po.Price; grdPRDetail.Rows[i].Cells["Tax"].Value = po.Tax; double valu = po.Price * po.Quantity + po.Tax; grdPRDetail.Rows[i].Cells["Value"].Value = valu; count += valu; i++; } txtTotalValue.Text = count.ToString(); } catch (Exception ex) { MessageBox.Show("Error in POOut"); } }
private void grdList_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (e.RowIndex < 0) { return; } DocumentUnlockDB dudb = new DocumentUnlockDB(); string columnName = grdList.Columns[e.ColumnIndex].Name; if (columnName.Equals("Unlock")) { prevdc.TemporaryNo = Convert.ToInt32(grdList.Rows[e.RowIndex].Cells["TempNo"].Value); prevdc.TemporaryDate = Convert.ToDateTime(grdList.Rows[e.RowIndex].Cells["TempDate"].Value); prevdc.TableName = grdList.Rows[e.RowIndex].Cells["TableName"].Value.ToString(); string frwdList = grdList.Rows[e.RowIndex].Cells["ForwarderList"].Value.ToString(); if (frwdList == null) { MessageBox.Show("Failed to retrive Forwardlist"); return; } DialogResult dialog = MessageBox.Show("Are you sure to Unlock the document ?\n\nDocument Type\t: " + selectedDocName + "\nTemporary No\t: " + prevdc.TemporaryNo + "\nTemprary Date\t: " + prevdc.TemporaryDate.ToString("yyyy-MM-dd") + "\n" , "Confirmation", MessageBoxButtons.YesNo); if (dialog == DialogResult.No) { return; } string[] strArr = frwdList.Split(Main.delimiter2); int DocStat = strArr.Count(); ////if document is MRN, do not reverse if any issue from the MRN. ////if Invoice out, reverse all quantity before reversing the document if (selectedDocID == "MRN") { if (MRNHeaderDB.checkForIssuesFromMRN(prevdc.TemporaryNo, prevdc.TemporaryDate)) { //no issues (purchase return and Invoice) from MRN MessageBox.Show("Stock has been issued from MRN. Reversal request denied"); return; } else { if (dudb.updateDocForUnlockingMRN(prevdc, DocStat)) { MessageBox.Show("Document Unlocked with Updating Stock sucessfully."); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } } else if (selectedDocID == "POPRODUCTINWARD" || selectedDocID == "POSERVICEINWARD") { string result = POPIHeaderDB.checkForInvoiceIssuesForPOPI(prevdc.TemporaryNo, prevdc.TemporaryDate, selectedDocID); if (result == "error" || result.Length != 0) { if (result == "error") { return; } //Inivoice Prepared For this PO string InvPrepared = ""; string[] invArr = result.Split(Main.delimiter1); foreach (string str in invArr) { if (str.Length != 0) { string[] invNoDate = str.Split(';'); InvPrepared = InvPrepared + "\nTemporary No: " + invNoDate[0] + " Temporary Date: " + Convert.ToDateTime(invNoDate[1]).ToString("yyyy-MM-dd"); } } MessageBox.Show("Inivoice Prepared For this PO. Reversal request denied.\n" + InvPrepared, "Invoice Prepared Details"); return; } else { if (dudb.updateDocForUnlocking(prevdc, DocStat, selectedDocID)) { MessageBox.Show("PO Document Unlocked"); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Failed to unlock Document"); return; } } } else if (selectedDocID == "PRODUCTINVOICEOUT" || selectedDocID == "PRODUCTEXPORTINVOICEOUT" || selectedDocID == "SERVICEINVOICEOUT" || selectedDocID == "SERVICEEXPORTINVOICEOUT") { invoiceoutheader iohTemp = new invoiceoutheader(); iohTemp.TemporaryNo = prevdc.TemporaryNo; iohTemp.TemporaryDate = prevdc.TemporaryDate; iohTemp.DocumentID = selectedDocID; if (InvoiceOutHeaderDB.isInvoiceOutReceiptPreparedForInvOut(iohTemp)) { MessageBox.Show("Receipt Adjusted against this Invoice . Not allowed to Unlock."); return; } //return; if (dudb.updateDocForUnlockingInvoiceOUT(prevdc, DocStat, selectedDocID)) { if (selectedDocID == "PRODUCTINVOICEOUT" || selectedDocID == "PRODUCTEXPORTINVOICEOUT") { MessageBox.Show("Document Unlocked with Updating Stock sucessfully."); } else { MessageBox.Show("Document Unlocked sucessfully."); } grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } else if (selectedDocID == "GTN") { if (GTNDB.checkForIssuesOfGTNInStock(prevdc.TemporaryNo, prevdc.TemporaryDate)) { //no issues (purchase return and Invoice) from MRN MessageBox.Show("Stock has been issued from GTN. Reversal request denied"); return; } else { if (dudb.updateDocForUnlockingGTN(prevdc, DocStat)) { MessageBox.Show("Document Unlocked with Updating Stock sucessfully."); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } } else if (selectedDocID == "POINVOICEIN" || selectedDocID == "WOINVOICEIN" || selectedDocID == "POGENERALINVOICEIN") { invoiceinheader iihTemp = new invoiceinheader(); iihTemp.TemporaryNo = prevdc.TemporaryNo; iihTemp.TemporaryDate = prevdc.TemporaryDate; iihTemp.DocumentID = selectedDocID; if (InvoiceInHeaderDB.isInvoiceInPaymentPreparedForInvIN(iihTemp)) { MessageBox.Show("Payment Adjusted against this Invoice . Not allowed to Unlock."); return; } if (dudb.updateDocForUnlockingInvoiceIN(prevdc, DocStat, selectedDocID)) { MessageBox.Show("Document Unlocked"); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } else if (selectedDocID == "WORKORDER") { workorderheader wohtemp = new workorderheader(); wohtemp.TemporaryNo = prevdc.TemporaryNo; wohtemp.TemporaryDate = prevdc.TemporaryDate; wohtemp.DocumentID = selectedDocID; workorderheader woh = WorkOrderDB.getWONOAndDateOFWO(wohtemp); if (WorkOrderDB.isInvoicePreparedForWO(woh.WONo, woh.WODate)) { MessageBox.Show("invoice received against this work order . Not allowed to Unlock."); return; } if (dudb.updateDocForUnlocking(prevdc, DocStat, selectedDocID)) { MessageBox.Show("Document Unlocked"); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } else if (selectedDocID == "PURCHASEORDER") { poheader pohtemp = new poheader(); pohtemp.TemporaryNo = prevdc.TemporaryNo; pohtemp.TemporaryDate = prevdc.TemporaryDate; pohtemp.DocumentID = selectedDocID; poheader poh = PurchaseOrderDB.getPONOAndDateOFPOOut(pohtemp); if (PurchaseOrderDB.isMRNPreparedForPO(poh.PONo, poh.PODate)) { MessageBox.Show("MRN received against this Purchase order . Not allowed to Unlock."); return; } if (dudb.updateDocForUnlocking(prevdc, DocStat, selectedDocID)) { MessageBox.Show("Document Unlocked"); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } else if (selectedDocID == "POGENERAL") { pogeneralheader pohtemp = new pogeneralheader(); pohtemp.TemporaryNo = prevdc.TemporaryNo; pohtemp.TemporaryDate = prevdc.TemporaryDate; pohtemp.DocumentID = selectedDocID; pogeneralheader poh = PurchaseOrderGeneralDB.getPONOAndDateOFPOGen(pohtemp); if (PurchaseOrderGeneralDB.isInvoicePreparedForPOGeneral(poh.PONo, poh.PODate)) { MessageBox.Show("invoice received against this Purchase order . Not allowed to Unlock."); return; } if (dudb.updateDocForUnlocking(prevdc, DocStat, selectedDocID)) { MessageBox.Show("Document Unlocked"); grdList.Rows.RemoveAt(e.RowIndex); return; } else { MessageBox.Show("Document Failed to Unlocked"); return; } } else if (dudb.updateDocForUnlocking(prevdc, DocStat, selectedDocID)) { MessageBox.Show("Document Unlocked"); grdList.Rows.RemoveAt(e.RowIndex); } else { MessageBox.Show("Failed to unlock Document"); } } } catch (Exception ex) { MessageBox.Show("Exception : Failed to unlock Document"); } }
public void PrintExportIO(invoiceoutheader ioh, List <invoiceoutdetail> IODetails, string taxStr, string podocID) { try { Dictionary <string, string> companyInfo = getCompanyInformation(); string[] pos = ioh.TrackingNos.Split(';'); int b = 0; int[] a = (from s in pos where int.TryParse(s, out b) select b).ToArray(); int min = a.Min(); string[] dates = ioh.TrackingDates.Split(';'); string poStr = ""; string billingAdd = ""; //StringBuilder sb = new StringBuilder(); for (int i = 0; i < pos.Length - 1; i++) { string custPOStr = POPIHeaderDB.getCustomerPOAndDateForInvoiceOut(Convert.ToInt32(pos[i]), Convert.ToDateTime(dates[i]), podocID); string[] custPO = custPOStr.Split(Main.delimiter1); if (Convert.ToInt32(pos[i]) == min) { billingAdd = custPO[2]; } poStr = poStr + custPO[0] + ", Date : " + String.Format("{0:dd MMMM, yyyy}", Convert.ToDateTime(custPO[1])) + "\n"; } companybank cb = CompanyBankDB.getCompBankDetailForIOPrint(ioh.BankAcReference); CompanyDataDB datadb = new CompanyDataDB(); string ieccode = ""; cmpnydata cdata = datadb.getData("1").FirstOrDefault(c => c.DataID == "ImportExportCode"); if (cdata != null) { ieccode = cdata.DataValue; } customer custDetail = CustomerDB.getCustomerDetailForPO(ioh.ConsigneeID); string[] companyBillingAdd = CompanyAddressDB.getCompTopBillingAdd(Login.companyID); string ConsgAdd = "Consignee:\n" + custDetail.name + Main.delimiter2 + "\n" + ioh.DeliveryAddress + "\n"; string buyer = "Buyer:\n" + custDetail.name + Main.delimiter2 + "\n" + billingAdd + "\n"; if (custDetail.StateName.ToString().Length != 0) { ConsgAdd = ConsgAdd + "Sate Name:" + custDetail.StateName; buyer = buyer + "Sate Name:" + custDetail.StateName; if (custDetail.StateCode.ToString().Length != 0) { ConsgAdd = ConsgAdd + " ,\nState Code:" + custDetail.StateCode; buyer = buyer + " ,\nState Code:" + custDetail.StateCode; } } else { if (custDetail.StateCode.ToString().Length != 0) { ConsgAdd = ConsgAdd + "\nState Code:" + custDetail.StateCode; buyer = buyer + "\nState Code:" + custDetail.StateCode; } } //string buyer = if (custDetail.OfficeName.ToString().Length != 0) { ConsgAdd = ConsgAdd + "\nGST:" + custDetail.OfficeName; // For GST Code buyer = buyer + "\nGST:" + custDetail.OfficeName; // For GST Code } if (CustomerDB.getCustomerPANForInvoicePrint(ioh.ConsigneeID).Length != 0) { ConsgAdd = ConsgAdd + "\nPAN:" + custDetail.OfficeName; // For PAN Code buyer = buyer + "\nPAN:" + custDetail.OfficeName; // For PAN Code } string HeaderString = buyer + Main.delimiter1 + "Invoice No : " + ioh.InvoiceNo + ", Date : " + String.Format("{0:dd MMMM, yyyy}", ioh.InvoiceDate) + Main.delimiter1 + "Buyer Reference : " + poStr + Main.delimiter1 + "IE Code : " + ieccode + Main.delimiter1 + "AD Code : " + ioh.ADCode + Main.delimiter1 + "Mode of Dispatch : " + ioh.TransportationModeName + Main.delimiter1 + "Terms of Payment : " + ioh.TermsOfPayment + Main.delimiter1 + "Country of origin of goods : " + ioh.OriginCountryName + Main.delimiter1 + "Country of final destination : " + ioh.FinalDestinatoinCountryName + Main.delimiter1 + ConsgAdd + //////Main.delimiter1 + "Pre-Carriage by : " + ioh.PreCarriageTransportationName + //////Main.delimiter1 + "Place of Receipt by pre-carrier : " + ioh.PreCarrierReceiptPlace + Main.delimiter1 + "Port of Loading : " + ioh.ExitPort + Main.delimiter1 + "Port of Discharge : " + ioh.EntryPort + Main.delimiter1 + "Final Destination : " + ioh.FinalDestinationPlace + Main.delimiter1 + "Terms of Delivery : " + ioh.TermsOfDelivery + Main.delimiter1 + ioh.SpecialNote; string footer1 = "Amount In Words\n\n"; string ColHeader = "SI No.;Description of Goods;HSN;Quantity;Unit;Unit Rate;Amount"; CompanyDetailDB compDB = new CompanyDetailDB(); cmpnydetails det = compDB.getdetails().FirstOrDefault(comp => comp.companyID == 1); string compName = ""; if (det != null) { compName = det.companyname; } string footer2 = "\n\nAccount Name : " + compName + "\nAccount No : " + cb.AccountCode + "\nAccount Type : " + cb.AccountType + "\nBank : " + cb.BankName + "\nBranch : " + cb.BranchName + "\nSWIFT Code : " + cb.CompanyID; string footer3 = "For Cellcomm Solutions Limited;Authorised Signatory"; //string termsAndCond = getTCString(poh.TermsAndCondition); double totQuant = 0.00; double totAmnt = 0.00; int n = 1; string ColDetailString = ""; var count = IODetails.Count(); foreach (invoiceoutdetail iod in IODetails) { if (n == count) { ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.HSNCode + Main.delimiter1 + iod.Quantity + Main.delimiter1 + iod.Unit + Main.delimiter1 + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price); } else { ColDetailString = ColDetailString + n + Main.delimiter1 + iod.CustomerItemDescription + Main.delimiter1 + iod.HSNCode + Main.delimiter1 + iod.Quantity + Main.delimiter1 + iod.Unit + Main.delimiter1 + iod.Price + Main.delimiter1 + (iod.Quantity * iod.Price) + Main.delimiter2; } totQuant = totQuant + iod.Quantity; totAmnt = totAmnt + (iod.Quantity * iod.Price); n++; } SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save As PDF"; sfd.Filter = "Pdf files (*.Pdf)|*.pdf"; sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (ioh.status == 0 && ioh.DocumentStatus < 99) { sfd.FileName = ioh.DocumentID + "-Temp-" + ioh.TemporaryNo; } else { sfd.FileName = ioh.DocumentID + "-" + ioh.InvoiceNo; } if (sfd.ShowDialog() == DialogResult.Cancel || sfd.FileName == "") { return; } FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write); Rectangle rec = new Rectangle(PageSize.A4); rec.Bottom = 10; iTextSharp.text.Document doc = new iTextSharp.text.Document(rec); PdfWriter writer = PdfWriter.GetInstance(doc, fs); MyEvent evnt = new MyEvent(); writer.PageEvent = evnt; doc.Open(); Font font1 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); Font font2 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.BOLD, BaseColor.BLACK); Font font3 = FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.ITALIC, BaseColor.BLACK); Font font4 = FontFactory.GetFont("Arial", 5, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); String URL = "Cellcomm2.JPG"; iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(URL); img.Alignment = Element.ALIGN_LEFT; PdfPTable tableMain = new PdfPTable(2); tableMain.WidthPercentage = 100; PdfPCell cellImg = new PdfPCell(); Paragraph pp = new Paragraph(); pp.Add(new Chunk(img, 0, 0)); cellImg.AddElement(pp); cellImg.Border = 0; tableMain.AddCell(cellImg); PdfPCell cellAdd = new PdfPCell(); Paragraph ourAddr = new Paragraph(); if (det != null) { //string addr = det.companyname + "\n" + det.companyAddress; ourAddr.Add(new Chunk(det.companyname + "\n", font2)); ourAddr.Add(new Chunk(det.companyAddress, font4)); StringBuilder sb = new StringBuilder(); sb.Append("\nGST : " + companyInfo["GST"] + "\nState Code for GST : " + companyInfo["StateCode"] + "\nCIN : " + companyInfo["CIN"] + "\nPAN : " + companyInfo["PAN"]); ourAddr.Add(new Chunk(sb.ToString(), font4)); ourAddr.Alignment = Element.ALIGN_RIGHT; ourAddr.SetLeading(0.0f, 1.5f); //ourAddr = new Paragraph(new Phrase(addr, font2)); //ourAddr.Alignment = Element.ALIGN_RIGHT; } cellAdd.AddElement(ourAddr); cellAdd.Border = 0; tableMain.AddCell(cellAdd); Paragraph paragraph = new Paragraph(new Phrase("Commercial Invoice", font2)); paragraph.Alignment = Element.ALIGN_CENTER; PrintPurchaseOrder prog = new PrintPurchaseOrder(); string[] HeaderStr = HeaderString.Split(Main.delimiter1); PdfPTable table = new PdfPTable(7); table.SpacingBefore = 20f; table.WidthPercentage = 100; float[] HWidths = new float[] { 1f, 8f, 1.5f, 2f, 1.5f, 2f, 3f }; table.SetWidths(HWidths); PdfPCell cell; int[] arr = { 3, 7, 9, 10 }; float wid = 0; for (int i = 0; i < HeaderStr.Length; i++) { if (i == 16) { } if (i == 0 || i == 9) { string[] format = HeaderStr[i].Split(Main.delimiter2); Phrase phr = new Phrase(); phr.Add(new Chunk(format[0], font2)); phr.Add(new Chunk(format[1], font1)); cell = new PdfPCell(phr); if (i == 9) { cell.Rowspan = 7 - 2; } else { cell.Rowspan = 8; } cell.Colspan = 2; cell.HorizontalAlignment = 0; //0=Left, 1=Centre, 2=Right table.AddCell(cell); } else { cell = new PdfPCell(new Phrase(HeaderStr[i].Trim(), font1)); cell.Colspan = 5; table.AddCell(cell); } } string[] ColHeaderStr = ColHeader.Split(';'); PdfPTable table1 = new PdfPTable(7); table1.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.WidthPercentage = 100; float[] width = new float[] { 1f, 8f, 1.5f, 2f, 1.5f, 2f, 3f }; table1.SetWidths(width); for (int i = 0; i < ColHeaderStr.Length; i++) { if (i == 5 || i == 6) { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim() + "\n(" + ioh.CurrencyID + ")", font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(hcell); } else { PdfPCell hcell = new PdfPCell(new Phrase(ColHeaderStr[i].Trim(), font2)); hcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(hcell); } } //--- PdfPCell foot = new PdfPCell(new Phrase("")); foot.Colspan = 7; foot.BorderWidthTop = 0; foot.MinimumHeight = 0.5f; table1.AddCell(foot); table1.HeaderRows = 2; table1.FooterRows = 1; table1.SkipFirstHeader = false; table1.SkipLastFooter = true; //--- int track = 0; decimal dc1 = 0; decimal dc2 = 0; string[] DetailStr = ColDetailString.Split(Main.delimiter2); float hg = 0f; for (int i = 0; i < DetailStr.Length; i++) { track = 0; hg = table1.GetRowHeight(i + 1); string[] str = DetailStr[i].Split(Main.delimiter1); for (int j = 0; j < str.Length; j++) { PdfPCell pcell; if (j == 3 || j == 5 || j == 6) { decimal p = 1; if (Decimal.TryParse(str[j], out p)) { pcell = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(str[j])), font1)); } else { pcell = new PdfPCell(new Phrase("")); } pcell.Border = 0; } else { if (j == 2) { if (str[j].Trim().Length == 0) { pcell = new PdfPCell(new Phrase("", font1)); } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else if (j == 4) { int m = 1; if (Int32.TryParse(str[j], out m) == true) { if (Convert.ToInt32(str[j]) == 0) { pcell = new PdfPCell(new Phrase("", font1)); } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } } else { pcell = new PdfPCell(new Phrase(str[j], font1)); } pcell.Border = 0; } pcell.MinimumHeight = 10; if (j == 1) { pcell.HorizontalAlignment = PdfPCell.ALIGN_LEFT; } else { pcell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; } pcell.BorderWidthLeft = 0.01f; pcell.BorderWidthRight = 0.01f; table1.AddCell(pcell); } } //----------- PdfPCell Temp = new PdfPCell(new Phrase("")); Temp.Border = 0; Temp.BorderWidthLeft = 0.01f; Temp.BorderWidthRight = 0.01f; double dd = 0; if (ioh.TaxAmount != 0) { PdfPCell Temp1 = new PdfPCell(new Phrase("")); Temp1.Border = 0; Temp1.BorderWidthTop = 0.01f; Temp1.BorderWidthLeft = 0.01f; Temp1.BorderWidthRight = 0.01f; table1.AddCell(Temp1); //blank cell table1.AddCell(Temp1); PdfPCell cellCom = new PdfPCell(new Phrase("", font1)); cellCom.Colspan = 4; cellCom.Border = 0; cellCom.BorderWidthLeft = 0.01f; cellCom.BorderWidthRight = 0.01f; cellCom.BorderWidthTop = 0.01f; cellCom.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(cellCom); PdfPCell cellTot = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(totAmnt)), font2)); cellTot.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(cellTot); string[] tax = taxStr.Split(Main.delimiter2); for (int i = 0; i < tax.Length - 1; i++) { table1.AddCell(Temp); //blank cell table1.AddCell(Temp); string[] subtax = tax[i].Split(Main.delimiter1); PdfPCell cellinrtax = new PdfPCell(new Phrase(subtax[0], font1)); cellinrtax.Colspan = 4; cellinrtax.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; table1.AddCell(cellinrtax); PdfPCell pcell2; pcell2 = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(subtax[1])), font1)); pcell2.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(pcell2); } double taxAmRnd = Math.Round(ioh.TaxAmount, 0); if (taxAmRnd != ioh.TaxAmount) { table1.AddCell(Temp); //blank cell table1.AddCell(Temp); PdfPCell cellTotTax = new PdfPCell(new Phrase("", font1)); cellTotTax.Colspan = 4; cellTotTax.Border = 0; cellTotTax.BorderWidthLeft = 0.01f; cellTotTax.BorderWidthRight = 0.01f; //cellCom.BorderWidthTop = 0.01f; cellTotTax.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(cellTotTax); PdfPCell cellTotTaxValue = new PdfPCell(new Phrase(String.Format("{0:0.00}", Convert.ToDecimal(totAmnt + ioh.TaxAmount)), font2)); cellTotTaxValue.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(cellTotTaxValue); } } //------------------- double roundedAmt = Math.Round(ioh.InvoiceAmount, 0); double diffAmount = roundedAmt - ioh.InvoiceAmount; if (diffAmount != 0) { table1.AddCell(""); table1.AddCell(""); PdfPCell cellRound = new PdfPCell(new Phrase("Rounding off", font1)); cellRound.Colspan = 4; cellRound.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; table1.AddCell(cellRound); table1.AddCell(new Phrase(String.Format("{0:0.00}", diffAmount), font1)); //table1.AddCell(""); } table1.AddCell(""); table1.AddCell(""); PdfPCell cellRoundTot = new PdfPCell(new Phrase("Total", font1)); cellRoundTot.Colspan = 4; cellRoundTot.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; table1.AddCell(cellRoundTot); PdfPCell roundTot = new PdfPCell(new Phrase(String.Format("{0:0.00}", roundedAmt), font2)); roundTot.HorizontalAlignment = PdfPCell.ALIGN_CENTER; table1.AddCell(roundTot); string total = footer1 + NumberToString.convertFC(roundedAmt.ToString(), ioh.CurrencyID).Replace("INR", ioh.CurrencyID) + "\n\n"; PdfPCell fcell1 = new PdfPCell(new Phrase((total), font1)); fcell1.Colspan = 6; fcell1.HorizontalAlignment = PdfPCell.ALIGN_LEFT; fcell1.BorderWidthBottom = 0; fcell1.BorderWidthRight = 0; fcell1.BorderWidthTop = 0; table1.AddCell(fcell1); PdfPCell fcell4 = new PdfPCell(new Phrase("E. & O.E", font1)); fcell4.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; fcell4.BorderWidthBottom = 0; fcell4.BorderWidthLeft = 0; fcell4.BorderWidthTop = 0; table1.AddCell(fcell4); PdfPCell pcelNo = new PdfPCell(new Phrase("", font1)); pcelNo.BorderWidthTop = 0; pcelNo.BorderWidthRight = 0; table1.AddCell(pcelNo); Phrase phrs = new Phrase(); phrs.Add(new Chunk("Bank Details for Payment", font2)); phrs.Add(new Chunk(footer2, font1)); //PdfPCell fcell2 = new PdfPCell(new Phrase(footer2, font1)); PdfPCell fcell2 = new PdfPCell(phrs); fcell2.HorizontalAlignment = PdfPCell.ALIGN_MIDDLE; fcell2.BorderWidthTop = 0; fcell2.BorderWidthLeft = 0; fcell2.BorderWidthRight = 0; table1.AddCell(fcell2); PdfPCell pcelMid = new PdfPCell(new Phrase("", font1)); pcelMid.Colspan = 3; //pcelMid.Border = 0; pcelMid.BorderWidthTop = 0; pcelMid.BorderWidthLeft = 0; pcelMid.BorderWidthRight = 0; table1.AddCell(pcelMid); string[] ft = footer3.Split(';'); PdfPCell fcell3 = new PdfPCell(); Chunk ch1 = new Chunk(ft[0], font1); Chunk ch2 = new Chunk(ft[1], font1); Phrase phrase = new Phrase(); phrase.Add(ch1); for (int i = 0; i < 3; i++) { phrase.Add(Chunk.NEWLINE); } phrase.Add(ch2); Paragraph para = new Paragraph(); para.Add(phrase); para.Alignment = Element.ALIGN_RIGHT; fcell3.AddElement(para); fcell3.Border = 0; fcell3.Colspan = 3; fcell3.BorderWidthTop = 0f; fcell3.BorderWidthLeft = 0f; fcell3.BorderWidthRight = 0.5f; fcell3.BorderWidthBottom = 0.5f; fcell3.MinimumHeight = 50; table1.AddCell(fcell3); PdfPTable tableSub = new PdfPTable(1); tableSub.DefaultCell.Border = 0; tableSub.DefaultCell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; tableSub.AddCell(new Phrase("Subject To Bangalore Jurisdiction", font2)); PdfPCell celSub = new PdfPCell(tableSub); celSub.Border = 0; celSub.Colspan = 7; table1.AddCell(celSub); table1.KeepRowsTogether(table1.Rows.Count - 4, table1.Rows.Count); doc.Add(tableMain); doc.Add(paragraph); doc.Add(table); doc.Add(table1); doc.Close(); if (ioh.status == 0 && ioh.DocumentStatus < 99) { String wmurl = ""; wmurl = "004.png"; PrintWaterMark.PdfStampWithNewFile(wmurl, sfd.FileName); } MessageBox.Show("Document Saved"); } catch (Exception ex) { MessageBox.Show(this.ToString() + "-" + System.Reflection.MethodBase.GetCurrentMethod().Name + "() : Error-" + ex.ToString()); MessageBox.Show("Failed TO Save"); } }
private void ShowAllDetails() { try { if (JVdocID == "PJV") { invoiceinheader iih = new invoiceinheader(); iih.DocumentID = InvDociD; iih.TemporaryNo = InvTemporaryNo; iih.TemporaryDate = InvTemporaryDate; PJVHeader pjvh = PJVDB.getPJVHeaderPerInvoiceIN(iih); if (pjvh.TemporaryNo == 0) { MessageBox.Show("PJV Not prepared"); return; } txtTemporarryNo.Text = pjvh.TemporaryNo.ToString(); dtTempDate.Value = pjvh.TemporaryDate; txtJournalNo.Text = pjvh.JournalNo.ToString(); dtJournalDate.Value = pjvh.JournalDate; txtINVTempNo.Text = pjvh.InvTempNo.ToString(); dtINVTempDate.Value = pjvh.InvTempDate; txtnarration.Text = pjvh.Narration.ToString(); List <PJVDetail> PJVDetail = PJVDB.getPJVDetail(pjvh); grdPRDetail.Rows.Clear(); int i = 0; decimal totCredit = 0; decimal totDebit = 0; foreach (PJVDetail vd in PJVDetail) { AddPRDetailRow(); grdPRDetail.Rows[i].Cells["AccountCode"].Value = vd.AccountCode; grdPRDetail.Rows[i].Cells["AccountName"].Value = vd.AccountName; grdPRDetail.Rows[i].Cells["AmountDebit"].Value = vd.AmountDebit; totDebit = totDebit + vd.AmountDebit; grdPRDetail.Rows[i].Cells["AmountCredit"].Value = vd.AmountCredit; totCredit = totCredit + vd.AmountCredit; grdPRDetail.Rows[i].Cells["PartyCode"].Value = vd.SLCode; grdPRDetail.Rows[i].Cells["PartyName"].Value = vd.SLName; grdPRDetail.Rows[i].Cells["gSLType"].Value = vd.SLType; i++; } txtTotalCreditAmnt.Text = totCredit.ToString(); txtTotalDebitAmnt.Text = totDebit.ToString(); txtAmountInWords.Text = NumberToString.convert(txtTotalDebitAmnt.Text); } else if (JVdocID == "SJV") { invoiceoutheader ioh = new invoiceoutheader(); ioh.DocumentID = InvDociD; ioh.TemporaryNo = InvTemporaryNo; ioh.TemporaryDate = InvTemporaryDate; SJVHeader sjvh = SJVDB.getSJVHeaderPerInvoiceOut(ioh); if (sjvh.TemporaryNo == 0) { MessageBox.Show("SJV Not prepared"); return; } txtTemporarryNo.Text = sjvh.TemporaryNo.ToString(); dtTempDate.Value = sjvh.TemporaryDate; txtJournalNo.Text = sjvh.JournalNo.ToString(); dtJournalDate.Value = sjvh.JournalDate; txtINVTempNo.Text = sjvh.InvTempNo.ToString(); dtINVTempDate.Value = sjvh.InvTempDate; txtnarration.Text = sjvh.Narration.ToString(); List <SJVDetail> SJVdetail = SJVDB.getSJVDetail(sjvh); grdPRDetail.Rows.Clear(); int i = 0; decimal totCredit = 0; decimal totDebit = 0; foreach (SJVDetail vd in SJVdetail) { AddPRDetailRow(); grdPRDetail.Rows[i].Cells["AccountCode"].Value = vd.AccountCode; grdPRDetail.Rows[i].Cells["AccountName"].Value = vd.AccountName; grdPRDetail.Rows[i].Cells["AmountDebit"].Value = vd.AmountDebit; totDebit = totDebit + vd.AmountDebit; grdPRDetail.Rows[i].Cells["AmountCredit"].Value = vd.AmountCredit; totCredit = totCredit + vd.AmountCredit; grdPRDetail.Rows[i].Cells["PartyCode"].Value = vd.SLCode; grdPRDetail.Rows[i].Cells["PartyName"].Value = vd.SLName; grdPRDetail.Rows[i].Cells["gSLType"].Value = vd.SLType; i++; } txtTotalCreditAmnt.Text = totCredit.ToString(); txtTotalDebitAmnt.Text = totDebit.ToString(); txtAmountInWords.Text = NumberToString.convert(txtTotalDebitAmnt.Text); } } catch (Exception ex) { MessageBox.Show("Error in showing details"); } }