void PrintBill(string BillNo, bool IsNew = false) { try { using (SqlConnection conn = new SqlConnection(GlobalClass.TConnectionString)) { string PType = conn.ExecuteScalar <string>("SELECT PType From ParkingSales PS JOIN ParkingSalesDetails PSD ON PS.BillNo = PSD.BillNo AND PS.FYID = PSD.FYID WHERE PS.BillNo = @BillNo AND PS.FYID = @FYID", new { BillNo = BillNo, FYID = GlobalClass.FYID }); if (string.IsNullOrEmpty(PType)) { MessageBox.Show("Invalid Invoice No", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } else if (PType == "P") { MessageBox.Show("Parking Invoice cannot be loaded in this interface.", MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } var vSales = conn.Query <TParkingSales>("SELECT BillNo, FYID, TDate, TMiti, TTime, UserName [Description], BillTo, BILLTOADD, BILLTOPAN, Amount, Discount, NonTaxable, Taxable, VAT, GrossAmount, RefBillNo, TaxInvoice, Remarks, PS.UID, SESSION_ID, PID FROM ParkingSales PS JOIN Users U ON PS.UID = U.UID WHERE BillNo = @BillNo AND FYID = @FYID", new { BillNo = BillNo, FYID = GlobalClass.FYID }).FirstOrDefault(); var vSDetailList = new List <TParkingSalesDetails>( conn.Query <TParkingSalesDetails>("SELECT BillNo, FYID, PTYPE, ProdId, [Description], Quantity, Rate, Amount, Discount, NonTaxable, Taxable, VAT, NetAmount, Remarks FROM ParkingSalesDetails WHERE BillNo = @BillNo AND FYID = @FYID", new { BillNo = BillNo, FYID = GlobalClass.FYID })); string InWords = GlobalClass.GetNumToWords(conn, Convert.ToDecimal(vSales.GrossAmount)); string DuplicateCaption = (IsNew) ? String.Empty : GlobalClass.GetReprintCaption(BillNo); var pslip = new CreditNote { CompanyName = GlobalClass.CompanyName, CompanyAddress = GlobalClass.CompanyAddress, CompanyPan = GlobalClass.CompanyPan, PSales = vSales, PSDetails = vSDetailList, InWords = InWords, DuplicateCaption = DuplicateCaption, InvoiceTitle = "CREDIT NOTE" }; pslip.Print(); } } catch (Exception Ex) { MessageBox.Show(GlobalClass.GetRootException(Ex).Message, MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Error); } }