public static XtraReport PrintReceiptConfirmation(string printedBy, int receiptID, int?previousReceiptConfirmationPrintoutID, bool forExporting, FiscalYear fiscalYear) { var rcPrevious = new BLL.ReceiptConfirmationPrintout(); int?idToBePrintedOut = null; if (forExporting && previousReceiptConfirmationPrintoutID.HasValue) { rcPrevious.LoadByPrimaryKey(previousReceiptConfirmationPrintoutID.Value); idToBePrintedOut = rcPrevious.IDPrinted; } var rc = new BLL.ReceiptConfirmationPrintout(); var printout = new HCMIS.Desktop.Reports.ReceiptConfirmationPrintout(printedBy); var srmPrintout = new HCMIS.Desktop.Reports.SRMPrintout(printedBy); var receiveDoc = new ReceiveDoc(); var receipt = new BLL.Receipt(); receipt.LoadByPrimaryKey(receiptID); receiveDoc.LoadByReceiptID(receiptID); var referenceNumber = receiveDoc.RefNo; var activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); var supplier = new Supplier(); supplier.LoadByPrimaryKey(receiveDoc.SupplierID); int printedID = 0; string GRNFNo = fiscalYear.GetCode(BLL.ReceiptConfirmationPrintout.GetGRNFNo(receiptID)); if (receipt.ReceiptTypeID == ReceiptType.CONSTANTS.STANDARD_RECEIPT || receipt.ReceiptTypeID == ReceiptType.CONSTANTS.DELIVERY_NOTE || receipt.ReceiptTypeID == ReceiptType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER) { if (!String.IsNullOrEmpty(GeneralInfo.Current.HospitalName)) { printout.BranchName.Text = GeneralInfo.Current.HospitalName; } else { throw new Exception("Branch name could not be read from the database."); } PrepareGRVPrintout(printout); // String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString(); if (supplier.SupplierTypeID == SupplierType.CONSTANTS.HOME_OFFICE || supplier.SupplierTypeID == SupplierType.CONSTANTS.HUBS || supplier.SupplierTypeID == SupplierType.CONSTANTS.ACCOUNTS || supplier.SupplierTypeID == SupplierType.CONSTANTS.STORES) { printout.xrGRVLabel.Text = "iGRV No."; printout.xrAir.Visible = false; printout.xrAirValue.Visible = false; printout.xrTransit.Visible = false; printout.xrTransitValue.Visible = false; printout.xrInsurance.Visible = false; printout.xrInsuranceValue.Visible = false; printout.xrNumberOfCases.Visible = false; printout.xrNumberOfCasesValue.Visible = false; printout.xrInvoiceNo.Text = "STV No."; printout.xrPurchaseOrderNo.Visible = false; printout.xrPurchaseOrderNoValue.Visible = false; printout.xrLabelGRNF.Text = GRNFNo; printout.xrSTV.Visible = false; printout.xrSTVNoValue.Visible = false; printedID = rc.PrepareDataForPrintout(receiptID, CurrentContext.UserId, false, 4, idToBePrintedOut, previousReceiptConfirmationPrintoutID, fiscalYear); printout.DataSource = rc.DefaultView.ToTable(); var dtDate = new DateTimePickerEx(); //dtDate.CustomFormat = "dd/MM/yyyy"; dtDate.Value = receiveDoc.EurDate; printout.Date.Text = dtDate.Text; } else { printout.xrGRVLabel.Text = "GRV No."; printout.xrSTV.Visible = false; printout.xrSTVNoValue.Visible = false; printedID = rc.PrepareDataForPrintout(receiptID, CurrentContext.UserId, false, 2, idToBePrintedOut, previousReceiptConfirmationPrintoutID, fiscalYear); printout.xrLabelGRNF.Text = GRNFNo; printout.DataSource = rc.DefaultView.ToTable(); var dtDate = new DateTimePickerEx(); //dtDate.CustomFormat = "dd/MM/yyyy"; dtDate.Value = receiveDoc.EurDate; printout.Date.Text = dtDate.Text; } printout.xrLabelStoreName.Text = activity.FullActivityName; if (ReceiveDoc.IsThereShortageOrDamage(receiptID)) { ReceiptConfirmationShortagePrintout printoutShortage = PrintReceiptConfirmationForShortage(receiptID, printedID, fiscalYear); PrepareGRVPrintout(printoutShortage); printout.xrShortageReport.ReportSource = printoutShortage; printout.PrintingSystem.ContinuousPageNumbering = true; } else { printout.ReportFooter.Visible = false; } if (!forExporting) //If this is not for exporting, we print on paper. { if (printout.PrintDialog() != DialogResult.OK) { throw new Exception("Print cancelled by user!"); } } return(printout); } else if (receipt.ReceiptTypeID == ReceiptType.CONSTANTS.STOCK_RETURN) { if (!String.IsNullOrEmpty(GeneralInfo.Current.HospitalName)) { srmPrintout.BranchName.Text = GeneralInfo.Current.HospitalName; } rc.PrepareDataForPrintout(receiptID, CurrentContext.UserId, false, 3, idToBePrintedOut, previousReceiptConfirmationPrintoutID, fiscalYear); srmPrintout.DataSource = rc.DefaultView.ToTable(); var rUnit = new Institution(); var idoc = new IssueDoc(); if (!receiveDoc.IsColumnNull("ReturnedFromIssueDocID")) { idoc.LoadByPrimaryKey(receiveDoc.ReturnedFromIssueDocID); rUnit.LoadByPrimaryKey(idoc.ReceivingUnitID); } else { var po = new PO(); po.LoadByReceiptID(receiveDoc.ReceiptID); rUnit.LoadByPrimaryKey(int.Parse(po.RefNo)); } srmPrintout.xrFromValue.Text = rUnit.Name; srmPrintout.xrWoredaValue.Text = rUnit.WoredaText; srmPrintout.xrRegionValue.Text = rUnit.Region; srmPrintout.xrZoneValue.Text = rUnit.ZoneText; if (!receiveDoc.IsColumnNull("ReturnedFromIssueDocID")) { var stvLog = new Issue(); stvLog.LoadByPrimaryKey(idoc.STVID); var issuedActivity = new Activity(); issuedActivity.LoadByPrimaryKey(idoc.StoreId); srmPrintout.xrAccountName.Text = issuedActivity.FullActivityName; srmPrintout.xrSTVNoValue.Text = stvLog.IDPrinted.ToString("00000"); } else { srmPrintout.xrAccountName.Text = activity.FullActivityName;; srmPrintout.xrSTVNoValue.Text = receiveDoc.RefNo; } var dtDate = new DateTimePickerEx(); dtDate.Value = receiveDoc.EurDate; srmPrintout.Date.Text = dtDate.Text; if (!forExporting) { if (srmPrintout.PrintDialog() != DialogResult.OK) { throw new Exception("Print cancelled by user!"); } } return(srmPrintout); } else //TODO: Implement Delivery notes. { return(null); } }