Example #1
0
        private void PrintReceiptConfirmation(string referenceNumber, int?reprintOfReceiptConfirmationPrintoutID)
        {
            var rc          = new ReceiptConfirmationPrintout();
            var srmPrintout = new HCMIS.Desktop.Reports.SRMPrintout(CurrentContext.LoggedInUserName);

            int ReceiptID  = Convert.ToInt32(gridReceiveView.GetFocusedDataRow()["ReceiptID"]);
            var receiveDoc = new ReceiveDoc();

            receiveDoc.LoadByReceiptID(ReceiptID);
            ReceiptConfirmationPrintout.GetGRNFNo(ReceiptID);
            srmPrintout.BranchName.Text = GeneralInfo.Current.HospitalName;
            rc.PrepareDataForPrintout(ReceiptID, CurrentContext.UserId, false, 3, null,
                                      reprintOfReceiptConfirmationPrintoutID, FiscalYear.Current);
            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 BLL.Issue();
                stvLog.LoadByPrimaryKey(idoc.STVID);

                srmPrintout.xrIssueDateValue.Text = idoc.Date.ToString("M/d/yyyy");
                var activity = new Activity();
                activity.LoadByPrimaryKey(idoc.StoreId);
                srmPrintout.xrAccountName.Text = activity.FullActivityName;
                var rct = new BLL.Receipt();
                rct.LoadByPrimaryKey(ReceiptID);
                var rctInvoice = new ReceiptInvoice();
                rctInvoice.LoadByPrimaryKey(rct.ReceiptInvoiceID);
                srmPrintout.xrSTVNoValue.Text = rctInvoice.STVOrInvoiceNo;
            }
            else
            {
                var activity = new Activity();
                activity.LoadByPrimaryKey(receiveDoc.StoreID);
                srmPrintout.xrAccountName.Text = activity.FullActivityName;
                srmPrintout.xrSTVNoValue.Text  = receiveDoc.RefNo;
            }

            var dtDate = new DateTimePickerEx();

            dtDate.Value          = receiveDoc.EurDate;
            srmPrintout.Date.Text = dtDate.Text;
            if (srmPrintout.PrintDialog() != DialogResult.OK)
            {
                throw new Exception("Print cancelled by user!");
            }


            //Successfully printed

            //Release Product
            var GRV = new CostCalculator();

            GRV.LoadGRV(ReceiptID);
            GRV.ReleaseForIssue();

            String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString();
            var    recDoc    = new ReceiveDoc();

            recDoc.LoadByReferenceNo(reference);
            recDoc.ConfirmGRVPrinted(CurrentContext.UserId);
            BLL.Receipt receiptStatus = new BLL.Receipt();
            receiptStatus.LoadByPrimaryKey(ReceiptID);
            receiptStatus.ChangeStatus(ReceiptConfirmationStatus.Constants.GRV_PRINTED, null, this.GetFormIdentifier(), CurrentContext.UserId, "GRV Printed");
            BindFormContents();
        }
        private void PrintReceiptConfirmation(string referenceNumber, int? reprintOfReceiptConfirmationPrintoutID)
        {
            var rc = new ReceiptConfirmationPrintout();
            var srmPrintout = new HCMIS.Desktop.Reports.SRMPrintout(CurrentContext.LoggedInUserName);

            int ReceiptID = Convert.ToInt32(gridReceiveView.GetFocusedDataRow()["ReceiptID"]);
            var receiveDoc = new ReceiveDoc();
            receiveDoc.LoadByReceiptID(ReceiptID);
            ReceiptConfirmationPrintout.GetGRNFNo(ReceiptID);
            srmPrintout.BranchName.Text = GeneralInfo.Current.HospitalName;
            rc.PrepareDataForPrintout(ReceiptID, CurrentContext.UserId, false, 3, null,
                                                  reprintOfReceiptConfirmationPrintoutID,FiscalYear.Current);
            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 BLL.Issue();
                stvLog.LoadByPrimaryKey(idoc.STVID);

                srmPrintout.xrIssueDateValue.Text = idoc.Date.ToString("M/d/yyyy");
                var activity = new Activity();
                activity.LoadByPrimaryKey(idoc.StoreId);
                 srmPrintout.xrAccountName.Text = activity.FullActivityName;
                var rct = new BLL.Receipt();
                rct.LoadByPrimaryKey(ReceiptID);
                var rctInvoice = new ReceiptInvoice();
                rctInvoice.LoadByPrimaryKey(rct.ReceiptInvoiceID);
                srmPrintout.xrSTVNoValue.Text = rctInvoice.STVOrInvoiceNo;
            }
            else
            {
                var activity = new Activity();
                activity.LoadByPrimaryKey(receiveDoc.StoreID);
                srmPrintout.xrAccountName.Text = activity.FullActivityName;
                srmPrintout.xrSTVNoValue.Text = receiveDoc.RefNo;
            }

            var dtDate = new DateTimePickerEx();
            dtDate.Value = receiveDoc.EurDate;
            srmPrintout.Date.Text = dtDate.Text;
            if (srmPrintout.PrintDialog() != DialogResult.OK)
            {
                throw new Exception("Print cancelled by user!");
            }

            //Successfully printed

            //Release Product
            var GRV = new CostCalculator();
            GRV.LoadGRV(ReceiptID);
            GRV.ReleaseForIssue();

            String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString();
            var recDoc = new ReceiveDoc();
            recDoc.LoadByReferenceNo(reference);
            recDoc.ConfirmGRVPrinted(CurrentContext.UserId);
            BLL.Receipt receiptStatus = new BLL.Receipt();
            receiptStatus.LoadByPrimaryKey(ReceiptID);
            receiptStatus.ChangeStatus(ReceiptConfirmationStatus.Constants.GRV_PRINTED, null, this.GetFormIdentifier(), CurrentContext.UserId, "GRV Printed");
            BindFormContents();
        }
        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);
            }
        }