Ejemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inParams"></param>
 /// <param name="refDatesPName"></param>
 /// <param name="refTimesPName"></param>
 /// <param name="refNumbersPName"></param>
 /// <param name="refTypesPName"></param>
 /// <param name="refEventsPName"></param>
 /// <param name="refAmountsPName"></param>
 /// <param name="refStoresPName"></param>
 /// <param name="recNumberPName"></param>
 /// <param name="receiptDetailsVO"></param>
 public static void addReceiptDetailsToOraParamList(
     ref List <OracleProcParam> inParams,
     string refDatesPName,
     string refTimesPName,
     string refNumbersPName,
     string refTypesPName,
     string refEventsPName,
     string refAmountsPName,
     string refStoresPName,
     string recNumberPName,
     ReceiptDetailsVO receiptDetailsVO)
 {
     if (receiptDetailsVO != null)
     {
         addReceiptDetailsToOraParamList(
             ref inParams,
             refDatesPName,
             receiptDetailsVO.RefDates.ToArray(),
             refTimesPName,
             receiptDetailsVO.RefTimes.ToArray(),
             refNumbersPName,
             receiptDetailsVO.RefNumbers.ToArray(),
             refTypesPName,
             receiptDetailsVO.RefTypes.ToArray(),
             refEventsPName,
             receiptDetailsVO.RefEvents.ToArray(),
             refAmountsPName,
             receiptDetailsVO.RefAmounts.ToArray(),
             refStoresPName,
             receiptDetailsVO.RefStores.ToArray(),
             recNumberPName);
     }
 }
        private void customButtonVoid_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(comboBoxReason.Text))
            {
                MessageBox.Show("You must Select a void Reason");
                comboBoxReason.Focus();
                return;
            }

            ProcessTenderProcedures.ProcessTenderMode mode;
            List <PurchaseVO> purchaseList = new List <PurchaseVO>();

            purchaseList.Add(currentPurchase);
            bool transactionStarted = false;

            bool skipped;

            try
            {
                if ((voidBuyFlow && !voidVendorBuy) || voidReturnFlow)
                {
                    if (currentPurchase.Receipts != null)
                    {
                        string rcptId;

                        if (voidReturnFlow)
                        {
                            rcptId = (from receipt in currentPurchase.Receipts
                                      where (receipt.Event == ReceiptEventTypes.RET.ToString() &&
                                             receipt.RefNumber == currentPurchase.TicketNumber.ToString())
                                      select receipt).First().ReceiptDetailNumber;
                        }
                        else
                        {
                            rcptId = (from receipt in currentPurchase.Receipts
                                      where (receipt.Event == ReceiptEventTypes.PUR.ToString() &&
                                             receipt.RefNumber == currentPurchase.TicketNumber.ToString())
                                      select receipt).First().ReceiptDetailNumber;
                        }

                        VoidLoanForm.LoanVoidDetails lvd = new VoidLoanForm.LoanVoidDetails();
                        lvd.TickNum     = labelTransactionNo.Text;
                        lvd.StoreNum    = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber;
                        lvd.OpRef       = labelTransactionNo.Text;
                        lvd.OpCode      = voidReturnFlow ? "Return" : "Purchase";
                        lvd.OpCd        = voidReturnFlow ? ReceiptEventTypes.VRET.ToString() : ReceiptEventTypes.VPR.ToString();
                        lvd.Amount      = Utilities.GetDecimalValue(currentPurchase.Amount, 0.0M);
                        lvd.HoldType    = "";
                        lvd.RecId       = Utilities.GetLongValue(rcptId);
                        lvd.PfiEligDate = Utilities.GetDateTimeValue(currentPurchase.PfiEligible, DateTime.MaxValue);
                        lvd.CreatedBy   = Utilities.GetStringValue(currentPurchase.CreatedBy, string.Empty);

                        //BZ # 512
                        lvd.VoidReason  = Utilities.GetStringValue(comboBoxReason.Text, string.Empty);
                        lvd.VoidComment = Utilities.GetStringValue(customTextBoxComment.Text, string.Empty);
                        //BZ # 512 - end
                        string errorCode;
                        string errorText;
                        var    retValue = VoidProcedures.PerformVoid(lvd, out errorCode, out errorText);

                        if (retValue)
                        {
                            MessageBox.Show(voidReturnFlow
                                                    ? "Void purchase return completed successfully"
                                                    : "Void purchase completed successfully");
                        }
                        else
                        {
                            DialogResult dgr;
                            dgr = MessageBox.Show("Void transaction failed. Do you want to retry?", "Void Error", MessageBoxButtons.OKCancel);
                            if (dgr == DialogResult.OK)
                            {
                                return;
                            }
                        }
                        GlobalDataAccessor.Instance.DesktopSession.ClearCustomerList();
                        GlobalDataAccessor.Instance.DesktopSession.ClearSessionData();
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("Error in  void transaction processing");
                        FileLogger.Instance.logMessage(LogLevel.ERROR, this, "No receipts found for purchase " + currentPurchase.TicketNumber + " to void.");
                        Close();
                    }
                }
                if (voidVendorBuy)
                {
                    string errorCode;
                    string errorText;
                    int    receiptNumber;
                    mode = ProcessTenderProcedures.ProcessTenderMode.VOIDBUY;

                    GlobalDataAccessor.Instance.beginTransactionBlock();
                    transactionStarted = true;
                    bool retValue = VoidProcedures.VoidVendorPurchase(GlobalDataAccessor.Instance.OracleDA,
                                                                      Utilities.GetIntegerValue(labelTransactionNo.Text, 0),
                                                                      GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                      ShopDateTime.Instance.ShopDate.ToShortDateString(),
                                                                      ShopDateTime.Instance.ShopDate.ToShortDateString() + " " + ShopDateTime.Instance.ShopTime.ToString(),
                                                                      comboBoxReason.SelectedItem.ToString(),
                                                                      customTextBoxComment.Text,
                                                                      GlobalDataAccessor.Instance.DesktopSession.LoggedInUserSecurityProfile.UserName,
                                                                      out receiptNumber,
                                                                      out errorCode,
                                                                      out errorText);

                    //here add receipt printing code
                    //here call process tender to print void receipt //
                    List <string> refDate   = new List <string>();
                    List <string> refNumber = new List <string>();
                    List <string> refType   = new List <string>();
                    List <string> refEvent  = new List <string>();
                    List <string> refAmount = new List <string>();
                    List <string> refStore  = new List <string>();
                    List <string> refTime   = new List <string>();

                    refEvent.Add(ReceiptEventTypes.VPR.ToString());
                    refStore.Add(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber);
                    refType.Add("4");
                    refAmount.Add(currentPurchase.Amount.ToString());
                    refTime.Add(ShopDateTime.Instance.ShopTransactionTime);
                    refNumber.Add(GlobalDataAccessor.Instance.DesktopSession.ActivePurchase.TicketNumber.ToString());
                    ReceiptDetailsVO rdVo = new ReceiptDetailsVO();
                    rdVo.ReceiptDate   = ShopDateTime.Instance.ShopDate;
                    rdVo.RefNumbers    = refNumber;
                    rdVo.ReceiptNumber = receiptNumber.ToString();
                    rdVo.RefEvents     = refEvent;
                    rdVo.RefAmounts    = refAmount;
                    rdVo.RefStores     = refStore;
                    rdVo.RefTypes      = refType;
                    //NOTE: Only use process tender controller instance, do not allocate a new one
                    ProcessTenderController pct = ProcessTenderController.Instance;
                    pct.generatePurchaseReceipt(mode, GlobalDataAccessor.Instance.DesktopSession.UserName.ToLowerInvariant(),
                                                GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer,
                                                purchaseList,
                                                GlobalDataAccessor.Instance.DesktopSession.ActiveVendor != null ? GlobalDataAccessor.Instance.DesktopSession.ActiveVendor.Name : "",
                                                rdVo);

                    if (!retValue)
                    {
                        GlobalDataAccessor.Instance.endTransactionBlock(EndTransactionType.ROLLBACK);
                        transactionStarted = false;
                        MessageBox.Show("Failed to void vendor purchase " + errorText);
                        Close();
                    }
                    GlobalDataAccessor.Instance.endTransactionBlock(EndTransactionType.COMMIT);
                    transactionStarted = false;
                    MessageBox.Show("Void vendor purchase completed successfully");
                    GlobalDataAccessor.Instance.DesktopSession.ClearSessionData();
                    this.Close();
                }
                if (voidSaleFlow || voidSaleRefundFlow)
                {
                    if (currentSale.Receipts != null)
                    {
                        string rcptId;
                        if (voidSaleFlow)
                        {
                            rcptId = (from receipt in currentSale.Receipts
                                      where (receipt.Event == ReceiptEventTypes.SALE.ToString() &&
                                             receipt.RefNumber == currentSale.TicketNumber.ToString())
                                      select receipt).First().ReceiptDetailNumber;
                        }
                        else
                        {
                            rcptId = (from receipt in currentSale.Receipts
                                      where (receipt.Event == ReceiptEventTypes.REF.ToString() &&
                                             receipt.RefNumber == currentSale.TicketNumber.ToString())
                                      select receipt).First().ReceiptDetailNumber;
                        }


                        string errorCode;
                        string errorText;
                        int    receiptNumber;
                        GlobalDataAccessor.Instance.beginTransactionBlock();
                        transactionStarted = true;
                        bool retValue;
                        // = new ProcessTenderController.ProcessTenderMode();
                        if (voidSaleFlow)
                        {
                            mode     = ProcessTenderProcedures.ProcessTenderMode.RETAILVOID;
                            retValue = VoidProcedures.VoidSale(GlobalDataAccessor.Instance.OracleDA,
                                                               Utilities.GetIntegerValue(labelTransactionNo.Text, 0),
                                                               GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                               GlobalDataAccessor.Instance.CurrentSiteId.TerminalId,
                                                               GlobalDataAccessor.Instance.DesktopSession.CashDrawerId,
                                                               comboBoxReason.SelectedItem.ToString(),
                                                               customTextBoxComment.Text,
                                                               Utilities.GetIntegerValue(labelTransactionNo.Text, 0),
                                                               currentSale.TotalSaleAmount.ToString(),
                                                               1,
                                                               Utilities.GetIntegerValue(rcptId),
                                                               ShopDateTime.Instance.ShopDate.ToShortDateString(),
                                                               ShopDateTime.Instance.ShopTransactionTime.ToString(),
                                                               GlobalDataAccessor.Instance.DesktopSession.LoggedInUserSecurityProfile.UserName,
                                                               out receiptNumber,
                                                               out errorCode,
                                                               out errorText);
                        }
                        else
                        {
                            mode     = ProcessTenderProcedures.ProcessTenderMode.RETAILVOIDREFUND;
                            retValue = VoidProcedures.VoidSaleRefund(GlobalDataAccessor.Instance.OracleDA,
                                                                     Utilities.GetIntegerValue(labelTransactionNo.Text, 0),
                                                                     GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                     GlobalDataAccessor.Instance.CurrentSiteId.TerminalId,
                                                                     GlobalDataAccessor.Instance.DesktopSession.CashDrawerId,
                                                                     comboBoxReason.SelectedItem.ToString(),
                                                                     customTextBoxComment.Text,
                                                                     Utilities.GetIntegerValue(labelTransactionNo.Text, 0),
                                                                     currentSale.Amount.ToString(),
                                                                     1,
                                                                     Utilities.GetIntegerValue(rcptId),
                                                                     ShopDateTime.Instance.ShopDate.ToShortDateString(),
                                                                     ShopDateTime.Instance.ShopTransactionTime.ToString(),
                                                                     GlobalDataAccessor.Instance.DesktopSession.LoggedInUserSecurityProfile.UserName,
                                                                     out receiptNumber,
                                                                     out errorCode,
                                                                     out errorText);
                        }

                        if (retValue)
                        {
                            GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.COMMIT);
                            transactionStarted = false;
                            if (currentSale.TenderDataDetails != null)
                            {
                                ProcessPaidTenderData(currentSale.TenderDataDetails);
                            }
                            //here call process tender to print void receipt //
                            var refDate   = new List <string>();
                            var refNumber = new List <string>();
                            var refType   = new List <string>();
                            var refEvent  = new List <string>();
                            var refAmount = new List <string>();
                            var refStore  = new List <string>();
                            var refTime   = new List <string>();

                            refEvent.Add(ReceiptEventTypes.VRET.ToString());
                            refStore.Add(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber);
                            refType.Add("4");
                            refTime.Add(ShopDateTime.Instance.ShopTransactionTime);
                            refNumber.Add(GlobalDataAccessor.Instance.DesktopSession.ActiveRetail.TicketNumber.ToString());
                            ReceiptDetailsVO rdVo = new ReceiptDetailsVO();
                            rdVo.ReceiptDate   = ShopDateTime.Instance.ShopDate;
                            rdVo.RefNumbers    = refNumber;
                            rdVo.ReceiptNumber = receiptNumber.ToString();
                            rdVo.RefEvents     = refEvent;
                            rdVo.RefStores     = refStore;
                            rdVo.RefTypes      = refType;
                            //NOTE: Only use process tender controller instance, do not allocate a new one
                            ProcessTenderController pct = ProcessTenderController.Instance;
                            pct.GenerateSaleReceipt(mode, GlobalDataAccessor.Instance.DesktopSession.UserName.ToLowerInvariant(),
                                                    GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer,
                                                    GlobalDataAccessor.Instance.DesktopSession.ActiveRetail,
                                                    GlobalDataAccessor.Instance.DesktopSession.ActiveVendor != null ? GlobalDataAccessor.Instance.DesktopSession.ActiveVendor.Name : "",
                                                    rdVo);
                            MessageBox.Show(voidSaleFlow
                                                    ? "Void Sale completed successfully"
                                                    : "Void Sale Refund completed successfully");
                            GlobalDataAccessor.Instance.DesktopSession.ClearCustomerList();
                            GlobalDataAccessor.Instance.DesktopSession.ClearSessionData();
                            this.Close();
                        }
                        else
                        {
                            GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.ROLLBACK);
                            transactionStarted = false;
                            DialogResult dgr;
                            dgr = MessageBox.Show("Void transaction failed. Do you want to retry?", "Void Error", MessageBoxButtons.OKCancel);
                            if (dgr == DialogResult.OK)
                            {
                                return;
                            }
                            Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Error in  void transaction processing");
                        FileLogger.Instance.logMessage(LogLevel.ERROR, this, "No receipts found for sale " + currentSale.TicketNumber + " to void.");
                        Close();
                    }
                }
            }
            catch (Exception ex)
            {
                if (transactionStarted)
                {
                    GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.ROLLBACK);
                    transactionStarted = false;
                }
                if (FileLogger.Instance.IsLogError)
                {
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Error when voiding " + ex.Message);
                }
            }
        }
Ejemplo n.º 3
0
        private void customButtonVoid_Click(object sender, EventArgs e)
        {
            if (currentLayaway.Receipts == null || currentLayaway.Receipts.Count == 0 || voidRow == null)
            {
                return;
            }

            try
            {
                bool retValue      = false;
                int  receiptNumber = 0;

                maxVoidPassed   = false;
                storeCreditUsed = false;

                string receiptID = string.Empty;
                switch (mode)
                {
                case ProcessTenderProcedures.ProcessTenderMode.LAYAWAYVOID:
                    VoidLayaway(out retValue, out receiptNumber, out receiptID);
                    break;

                case ProcessTenderProcedures.ProcessTenderMode.LAYPAYMENTVOID:
                    VoidLayawayPayment(out retValue, out receiptNumber, out receiptID);
                    break;

                case ProcessTenderProcedures.ProcessTenderMode.LAYFORFVOID:
                    VoidLayawayForf(out retValue, out receiptNumber, out receiptID);
                    break;
                }
                if (!retValue && maxVoidPassed)
                {
                    return;
                }
                if (!retValue && storeCreditUsed)
                {
                    return;
                }
                if (retValue)
                {
                    MessageBox.Show("Void Layaway completed successfully");
                }
                else
                {
                    DialogResult dgr;
                    dgr = MessageBox.Show("Void transaction failed. Do you want to retry?", "Void Error", MessageBoxButtons.OKCancel);
                    if (dgr == DialogResult.OK)
                    {
                        return;
                    }
                    Close();
                }
                if (mode != ProcessTenderProcedures.ProcessTenderMode.LAYFORFVOID)
                {
                    //code here to print void Layaway Receipt
                    List <string> refNumber = new List <string>();
                    List <string> refType   = new List <string>();
                    List <string> refEvent  = new List <string>();
                    List <string> refStore  = new List <string>();
                    List <string> refTime   = new List <string>();

                    if (mode == ProcessTenderProcedures.ProcessTenderMode.LAYAWAYVOID)
                    {
                        refEvent.Add(ReceiptEventTypes.LAY.ToString());
                    }
                    else if (mode == ProcessTenderProcedures.ProcessTenderMode.LAYPAYMENTVOID || mode == ProcessTenderProcedures.ProcessTenderMode.LAYFORFVOID)
                    {
                        refEvent.Add(ReceiptEventTypes.LAYPMT.ToString());
                    }
                    refStore.Add(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber);
                    refType.Add("4");
                    refTime.Add(ShopDateTime.Instance.ShopTransactionTime);
                    refNumber.Add(currentLayaway.TicketNumber.ToString());

                    ReceiptDetailsVO rdVo = new ReceiptDetailsVO();
                    rdVo.ReceiptDate   = ShopDateTime.Instance.ShopDate;
                    rdVo.RefNumbers    = refNumber;
                    rdVo.ReceiptNumber = receiptNumber.ToString();
                    rdVo.RefEvents     = refEvent;
                    rdVo.RefStores     = refStore;
                    rdVo.RefTypes      = refType;


                    if (currentLayaway.TenderDataDetails != null)
                    {
                        ProcessPaidTenderData(currentLayaway.TenderDataDetails, receiptID);
                    }

                    //NOTE: Only use ProcessTenderController.Instance!!
                    ProcessTenderController ptCntrl = ProcessTenderController.Instance;
                    ptCntrl.GenerateLayawayPaymentReceipt(mode, GlobalDataAccessor.Instance.DesktopSession.UserName.ToLowerInvariant(),
                                                          GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer,
                                                          currentLayaway,
                                                          GlobalDataAccessor.Instance.DesktopSession.ActiveVendor != null ?
                                                          GlobalDataAccessor.Instance.DesktopSession.ActiveVendor.Name : "",
                                                          rdVo);
                }

                Close();
            }
            catch (Exception ex)
            {
                FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Error in void layaway activity " + ex.Message);
                MessageBox.Show("Error occurred in void layaway activity processing.");
                Close();
            }
        }
Ejemplo n.º 4
0
        private static void SaveTransferInReceipts(DesktopSession dSession, int transferNumber, decimal TotalTransferAmount)
        {
            #region receipt
            var errorCode = String.Empty;
            var errorText = String.Empty;
            var hasErrors = false;
            ReceiptDetailsVO transferReceiptDetailsVO = new ReceiptDetailsVO();
            transferReceiptDetailsVO.ReceiptDate = ShopDateTime.Instance.ShopDate;
            transferReceiptDetailsVO.RefDates    = new List <string>()
            {
                ShopDateTime.Instance.ShopDate.ToShortDateString()
            };
            transferReceiptDetailsVO.RefTimes = new List <string>()
            {
                ShopDateTime.Instance.ShopDate.ToShortDateString() + " " + ShopDateTime.Instance.ShopTime.ToString()
            };
            transferReceiptDetailsVO.UserId     = dSession.UserName;
            transferReceiptDetailsVO.RefNumbers = new List <string>()
            {
                Convert.ToString(transferNumber)
            };
            transferReceiptDetailsVO.RefTypes = new List <string>()
            {
                "6"
            };
            transferReceiptDetailsVO.RefStores = new List <string>()
            {
                dSession.CurrentSiteId.StoreNumber
            };
            transferReceiptDetailsVO.RefEvents = new List <string>()
            {
                "TI"
            };
            transferReceiptDetailsVO.RefAmounts = new List <string>()
            {
                Convert.ToString(TotalTransferAmount)
            };

            ProcessTenderProcedures.ExecuteInsertReceiptDetails(
                dSession.CurrentSiteId.StoreNumber,
                dSession.UserName,
                ShopDateTime.Instance.ShopDate.ToShortDateString(),
                dSession.FullUserName,
                ref transferReceiptDetailsVO,
                out errorCode,
                out errorText);

            if (errorCode != "0")
            {
                hasErrors = true;
            }

            errorCode = String.Empty;
            errorText = String.Empty;

            if (hasErrors)
            {
                BasicExceptionHandler.Instance.AddException("Transfer receipts were not created", new ApplicationException());
                FileLogger.Instance.logMessage(LogLevel.ERROR, "TransferProcedures.cs", "Transfer receipts were not created");
            }
            #endregion receipt
        }
Ejemplo n.º 5
0
        private void buttonSubmit_Click(object sender, EventArgs e)
        {
            bool         returnValue = false;
            DialogResult dgr         = DialogResult.Retry;

            //Release police hold
            if (!PoliceSeize && !ReleaseToClaimant)
            {
                do
                {
                    if (!customTextBoxAgency.isValid || !customTextBoxBadgeNumber.isValid ||
                        !customTextBoxOfficerFirstName.isValid || !customTextBoxOfficerLastName.isValid ||
                        !customTextBoxPhoneAreaCode.isValid || !customTextBoxPhoneNumber.isValid ||
                        richTextBoxReason.Text.Trim().Length <= 0)
                    {
                        MessageBox.Show("Please enter all the required fields and submit");
                        return;
                    }
                    returnValue = HoldsProcedures.RemovePoliceHolds(policeHolds, this.richTextBoxReason.Text,
                                                                    customTextBoxOfficerFirstName.Text,
                                                                    customTextBoxOfficerLastName.Text,
                                                                    customTextBoxBadgeNumber.Text,
                                                                    customTextBoxAgency.Text,
                                                                    customTextBoxCaseNumber.Text,
                                                                    customTextBoxPhoneAreaCode.Text,
                                                                    customTextBoxPhoneNumber.Text,
                                                                    customTextBoxPhoneExt.Text);
                    if (returnValue)
                    {
                        MessageBox.Show("selected transactions released from police hold successfully");
                        break;
                    }
                    else
                    {
                        dgr = MessageBox.Show(Commons.GetMessageString("ProcessingError"), "Error", MessageBoxButtons.RetryCancel);
                    }
                }while (dgr == DialogResult.Retry);
            }
            //Process police seize
            if (PoliceSeize)
            {
                if (!customTextBoxAgency.isValid || !customTextBoxBadgeNumber.isValid ||
                    !customTextBoxOfficerFirstName.isValid || !customTextBoxOfficerLastName.isValid ||
                    !customTextBoxPhoneAreaCode.isValid || !customTextBoxPhoneNumber.isValid ||
                    richTextBoxReason.Text.Trim().Length <= 0 || !customTextBoxCaseNumber.isValid)
                {
                    MessageBox.Show("Please enter all the required fields and submit");
                    return;
                }
                CustomerVO currentCustomer = GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer;
                foreach (HoldData policeHold in policeHolds)
                {
                    policeHold.HoldComment = richTextBoxReason.Text;
                }
                PoliceInfo policeInfo = new PoliceInfo
                {
                    Agency           = customTextBoxAgency.Text,
                    BadgeNumber      = customTextBoxBadgeNumber.Text,
                    CaseNumber       = customTextBoxCaseNumber.Text,
                    OfficerFirstName = customTextBoxOfficerFirstName.Text,
                    OfficerLastName  = customTextBoxOfficerLastName.Text,
                    PhoneAreaCode    = customTextBoxPhoneAreaCode.Text,
                    PhoneExtension   = customTextBoxPhoneExt.Text,
                    PhoneNumber      = customTextBoxPhoneNumber.Text,
                    RequestType      = ""
                };

                do
                {
                    int seizeNumber = 0;

                    returnValue = HoldsProcedures.AddPoliceSeize(
                        policeHolds, policeHolds[0].HoldComment,
                        policeInfo, currentCustomer, out seizeNumber);
                    if (returnValue && seizeNumber > 0)
                    {
                        policeInfo.SeizeNumber = seizeNumber;
                        ReceiptDetailsVO rDVO = new ReceiptDetailsVO();
                        if (!HoldsProcedures.insertPoliceReceipt(policeHolds, ref rDVO))
                        {
                            FileLogger.Instance.logMessage(LogLevel.ERROR, null, "Receipt details could not be entered for police seize " + seizeNumber);
                        }

                        MessageBox.Show("Selected items police seized successfully");
                        //Print police seize document
                        foreach (HoldData policehold in policeHolds)
                        {
                            policehold.PoliceInformation = policeInfo;
                        }
                        //Call print Police seize form if print is enabled
                        if (SecurityAccessor.Instance.EncryptConfig.ClientConfig.ClientConfiguration.PrintEnabled)
                        {
                            //PoliceSeizeform seizeFrm = new PoliceSeizeform();
                            //seizeFrm.PoliceSeizeLoans = policeHolds;
                            //seizeFrm.ShowDialog();

                            //Calling policeseizereport(Itextsharp) instead of bitmap(policeseizeform) calling
                            var policeseizereport = new Reports.PoliceSeizeReport();
                            var reportObject      = new ReportObject();
                            reportObject.ReportTempFileFullName      = SecurityAccessor.Instance.EncryptConfig.ClientConfig.GlobalConfiguration.BaseLogPath + "\\Police Seize" + DateTime.Now.ToString("MMddyyyyhhmmssFFFFFFF") + ".pdf";
                            policeseizereport.reportObject           = reportObject;
                            policeseizereport.ReportTempFileFullName = reportObject.ReportTempFileFullName;
                            policeseizereport.STORE_NAME             = GlobalDataAccessor.Instance.CurrentSiteId.StoreName;
                            policeseizereport.STORE_ADDRESS          = GlobalDataAccessor.Instance.CurrentSiteId.StoreAddress1;
                            policeseizereport.STORE_CITY             = GlobalDataAccessor.Instance.CurrentSiteId.StoreCityName;
                            policeseizereport.STORE_STATE            = GlobalDataAccessor.Instance.CurrentSiteId.State;
                            policeseizereport.STORE_ZIP       = GlobalDataAccessor.Instance.CurrentSiteId.StoreZipCode;
                            policeseizereport.CurrentCust     = GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer;
                            policeseizereport.EmpNo           = GlobalDataAccessor.Instance.DesktopSession.UserName.ToLowerInvariant();
                            policeseizereport.TransactionDate = ShopDateTime.Instance.ShopDate.FormatDate();
                            policeseizereport.HoldData        = policeHolds[0];
                            policeseizereport.CustHomeAddr    = GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer.CustomerAddress[0];
                            policeseizereport.CreateReport();
                            string strReturnMessage;
                            if (GlobalDataAccessor.Instance.DesktopSession.PDALaserPrinter.IsValid)
                            {
                                if (FileLogger.Instance.IsLogInfo)
                                {
                                    FileLogger.Instance.logMessage(LogLevel.INFO, this, "Printing PoliceSeize report on PDA Laser printer: {0}",
                                                                   GlobalDataAccessor.Instance.DesktopSession.PDALaserPrinter);
                                }
                                strReturnMessage = PrintingUtilities.printDocument(
                                    reportObject.ReportTempFileFullName,
                                    GlobalDataAccessor.Instance.DesktopSession.PDALaserPrinter.IPAddress,
                                    GlobalDataAccessor.Instance.DesktopSession.PDALaserPrinter.Port,
                                    2);
                            }
                            else if (GlobalDataAccessor.Instance.DesktopSession.LaserPrinter.IsValid)
                            {
                                if (FileLogger.Instance.IsLogWarn)
                                {
                                    FileLogger.Instance.logMessage(LogLevel.WARN, this,
                                                                   "Could not find valid PDA laser printer to print the PoliceSeize report." + Environment.NewLine +
                                                                   " Printing on default pawn laser printer: {0}",
                                                                   GlobalDataAccessor.Instance.DesktopSession.LaserPrinter);
                                }
                                strReturnMessage = PrintingUtilities.printDocument(
                                    reportObject.ReportTempFileFullName,
                                    GlobalDataAccessor.Instance.DesktopSession.LaserPrinter.IPAddress,
                                    GlobalDataAccessor.Instance.DesktopSession.LaserPrinter.Port,
                                    2);
                            }
                            else
                            {
                                if (FileLogger.Instance.IsLogError)
                                {
                                    FileLogger.Instance.logMessage(LogLevel.ERROR, this,
                                                                   "Could not find a valid laser printer to print the PoliceSeize report");
                                }
                                strReturnMessage = "FAIL - NO PRINTER FOUND";
                            }
                            if (strReturnMessage.IndexOf("SUCCESS", StringComparison.OrdinalIgnoreCase) == -1)
                            {
                                if (FileLogger.Instance.IsLogError)
                                {
                                    FileLogger.Instance.logMessage(LogLevel.ERROR, this,
                                                                   "Cannot print the PoliceSeize report: " + strReturnMessage);
                                }
                            }
                        }

                        break;
                    }

                    dgr = MessageBox.Show(Commons.GetMessageString("ProcessingError"), "Error", MessageBoxButtons.RetryCancel);
                }while (dgr == DialogResult.Retry);
            }
            //Process Release to claimant
            if (ReleaseToClaimant)
            {
                //Store the police info in session
                if (GlobalDataAccessor.Instance.DesktopSession.PoliceInformation == null)
                {
                    if (!customTextBoxAgency.isValid || !customTextBoxBadgeNumber.isValid ||
                        !customTextBoxOfficerFirstName.isValid || !customTextBoxOfficerLastName.isValid ||
                        !customTextBoxPhoneAreaCode.isValid || !customTextBoxPhoneNumber.isValid ||
                        richTextBoxReason.Text.Trim().Length <= 0)
                    {
                        MessageBox.Show("Please enter all the required fields and submit");
                        return;
                    }
                    foreach (HoldData policeHold in policeHolds)
                    {
                        policeHold.HoldComment = richTextBoxReason.Text;
                    }
                    PoliceInfo policeInfo = new PoliceInfo
                    {
                        Agency           = customTextBoxAgency.Text,
                        BadgeNumber      = customTextBoxBadgeNumber.Text,
                        CaseNumber       = customTextBoxCaseNumber.Text,
                        OfficerFirstName = customTextBoxOfficerFirstName.Text,
                        OfficerLastName  = customTextBoxOfficerLastName.Text,
                        PhoneAreaCode    = customTextBoxPhoneAreaCode.Text,
                        PhoneExtension   = customTextBoxPhoneExt.Text,
                        PhoneNumber      = customTextBoxPhoneNumber.Text
                    };
                    GlobalDataAccessor.Instance.DesktopSession.PoliceInformation = policeInfo;
                    GlobalDataAccessor.Instance.DesktopSession.ReleaseToClaimant = true;
                    NavControlBox.IsCustom     = true;
                    NavControlBox.CustomDetail = "FindClaimant";
                    this.NavControlBox.Action  = NavBox.NavAction.BACKANDSUBMIT;
                }
                else
                {
                    bool       gunInvolved     = false;
                    CustomerVO currentCustomer = GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer;
                    //Check if any of the loans being released has a gun

                    foreach (HoldData pl in policeHolds)
                    {
                        var gunItems = from pItem in pl.Items
                                       where pItem.GunNumber > 0
                                       select pItem;
                        if (gunItems.Any())
                        {
                            gunInvolved = true;
                            break;
                        }
                    }
                    //if gun involved check for cwp
                    bool backgroundCheck = false;
                    if (gunInvolved)
                    {
                        /*DateTime currentDate = ShopDateTime.Instance.ShopDate;
                         * string strStoreState = GlobalDataAccessor.Instance.CurrentSiteId.State;
                         * if (currentCustomer.HasValidConcealedWeaponsPermitInState(strStoreState, currentDate))
                         * {
                         *  if (CustomerProcedures.IsBackgroundCheckRequired())
                         *  {
                         *      FirearmsBackgroundCheck backgroundcheckFrm = new FirearmsBackgroundCheck();
                         *      backgroundcheckFrm.ShowDialog(this);
                         *  }
                         *  else //If the background check is not needed
                         *      CashlinxDesktopSession.Instance.BackgroundCheckCompleted = true;
                         * }
                         * //else if they do not have CWP or not a CWP in the store state or expired
                         * //then show the background check form
                         * else
                         * {
                         *  FirearmsBackgroundCheck backgroundcheckFrm = new FirearmsBackgroundCheck();
                         *  backgroundcheckFrm.ShowDialog(this);
                         * }*/
                        FirearmsBackgroundCheck backgroundcheckFrm = new FirearmsBackgroundCheck();
                        backgroundcheckFrm.ShowDialog(this);
                        if (GlobalDataAccessor.Instance.DesktopSession.BackgroundCheckCompleted)
                        {
                            backgroundCheck = true;
                        }
                    }
                    else
                    {
                        backgroundCheck = true;
                    }

                    if (backgroundCheck)
                    {
                        do
                        {
                            returnValue = HoldsProcedures.AddReleaseToClaimant(policeHolds, policeHolds[0].HoldComment,
                                                                               GlobalDataAccessor.Instance.DesktopSession.PoliceInformation, currentCustomer);
                            if (returnValue)
                            {
                                MessageBox.Show("selected transactions released to claimant successfully");
                                //Print RTC form
                                foreach (var policeHold in policeHolds)
                                {
                                    policeHold.PoliceInformation = GlobalDataAccessor.Instance.DesktopSession.PoliceInformation;
                                    policeHold.RestitutionPaid   = radioButtonYes.Checked;

                                    if (panelRestitution.Visible == true && radioButtonYes.Checked == true)
                                    {
                                        // there was restitution paid
                                        if (customTextBoxResAmount.Text.Trim() == "")
                                        {
                                            // Probably should have caught this before
                                            policeHold.RestitutionAmount = 0;
                                            MessageBox.Show("Please enter the restitution amount!", "Restitution amount missing");
                                            customTextBoxResAmount.Focus();
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        // No restitution paid
                                        policeHold.RestitutionPaid   = false;
                                        policeHold.RestitutionAmount = 0;
                                    }
                                }
                                //Call print RTC if print is enabled
                                if (SecurityAccessor.Instance.EncryptConfig.ClientConfig.ClientConfiguration.PrintEnabled)
                                {
                                    var rtcprintFrm = new RTCform();
                                    rtcprintFrm.RTCLoans = policeHolds;

                                    rtcprintFrm.ShowDialog();
                                }
                                break;
                            }
                            dgr = MessageBox.Show(Commons.GetMessageString("ProcessingError"), "Error", MessageBoxButtons.RetryCancel);
                        }while (dgr == DialogResult.Retry);
                    }
                    else
                    {
                        MessageBox.Show("Background check not completed. selected transactions not released to claimant");
                        RemoveTempStatusOnLoans();
                    }

                    GlobalDataAccessor.Instance.DesktopSession.PoliceInformation = null;
                    GlobalDataAccessor.Instance.DesktopSession.ReleaseToClaimant = false;
                }
            }
            this.NavControlBox.Action = NavBox.NavAction.BACKANDSUBMIT;
        }
Ejemplo n.º 6
0
        public static bool ExecuteVendorPFI
        (
            int ticketNumber,
            PurchaseVO vendorPurchaseObj,
            VendorVO vendor,
            out string sErrorCode,
            out string sErrorText
        )
        {
            List <TransferItemVO> _mdseToTransfer = new List <TransferItemVO>();
            int pawnItemIdx = 1;

            sErrorCode = "0";
            sErrorText = "";
            bool itemsPfid = false;

            try
            {
                //Start transaction block
                GlobalDataAccessor.Instance.beginTransactionBlock();


                //Step 1 Update Gun book if the item has a gun
                foreach (Item purchaseItem in vendorPurchaseObj.Items)
                {
                    if (purchaseItem.IsExpenseItem)
                    {
                        pawnItemIdx = pawnItemIdx + purchaseItem.Quantity;
                        continue;
                    }
                    for (int i = 1; i <= purchaseItem.Quantity; i++)
                    {
                        if (!purchaseItem.IsJewelry && purchaseItem.Quantity > 1 && purchaseItem.SerialNumber != null && purchaseItem.SerialNumber.Count > 0)
                        {
                            Item   itemCopy = Utilities.CloneObject(purchaseItem);
                            string sItemPrefix;
                            string sDescription;
                            //Get updated mdse description for each serial number
                            Item.RemoveSerialNumberFromDescription(ref itemCopy, out sItemPrefix, out sDescription);
                            purchaseItem.Attributes        = itemCopy.Attributes;
                            purchaseItem.TicketDescription = sDescription;
                        }
                        purchaseItem.mDocNumber = ticketNumber;
                        purchaseItem.mItemOrder = i;
                        int qty = purchaseItem.QuickInformation.Quantity < 1 ? 1 : purchaseItem.QuickInformation.Quantity;
                        if (purchaseItem.CaccLevel == 0)
                        {
                            // Call Update_Cacc_Info()
                            MerchandiseProcedures.UpdateCaccInfo(GlobalDataAccessor.Instance.DesktopSession,
                                                                 GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                 0,
                                                                 purchaseItem.mDocNumber,
                                                                 "7",
                                                                 1,
                                                                 0,
                                                                 qty,
                                                                 purchaseItem.ItemAmount * qty,
                                                                 purchaseItem.CategoryCode,
                                                                 ShopDateTime.Instance.ShopDate,
                                                                 out sErrorCode,
                                                                 out sErrorText
                                                                 );
                        }

                        if (purchaseItem.IsGun)
                        {
                            ProcessTenderProcedures.ExecuteUpdateGunBookRecord(
                                ticketNumber.ToString(),
                                GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                ProductStatus.PFI.ToString(),
                                "",
                                vendor.Name,
                                "",
                                "",
                                vendor.Address1,
                                vendor.City,
                                vendor.State,
                                vendor.ZipCode,
                                vendor.Ffl,
                                "",
                                "",
                                "P",
                                GlobalDataAccessor.Instance.DesktopSession.UserName,
                                ShopDateTime.Instance.ShopDate.ToShortDateString(),
                                ShopDateTime.Instance.ShopTransactionTime,
                                "",
                                purchaseItem.QuickInformation.Caliber,
                                purchaseItem.QuickInformation.Importer,
                                purchaseItem.QuickInformation.SerialNumber,
                                purchaseItem.QuickInformation.Model,
                                purchaseItem.QuickInformation.Manufacturer,
                                purchaseItem.mStore,
                                purchaseItem.mYear,
                                purchaseItem.mDocNumber,
                                purchaseItem.mDocType,
                                pawnItemIdx,
                                0,
                                vendorPurchaseObj.GunNumbers[i - 1],
                                out sErrorCode,
                                out sErrorText
                                );
                        }

                        //Step 2 Insert mdse revision record


                        bool mdseRevVal = MerchandiseProcedures.InsertMerchandiseRevision(GlobalDataAccessor.Instance.DesktopSession,
                                                                                          GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                                          purchaseItem.mYear,
                                                                                          ticketNumber,
                                                                                          purchaseItem.mDocType,
                                                                                          pawnItemIdx,
                                                                                          0,
                                                                                          purchaseItem.mStore,
                                                                                          ticketNumber.ToString(),
                                                                                          purchaseItem.mDocType,
                                                                                          "",
                                                                                          0,
                                                                                          purchaseItem.ItemReason == ItemReason.CACC ? "PFC" : "PFI",
                                                                                          "",
                                                                                          "",
                                                                                          GlobalDataAccessor.Instance.DesktopSession.FullUserName,
                                                                                          out sErrorCode,
                                                                                          out sErrorText
                                                                                          );

                        purchaseItem.Icn = Utilities.IcnGenerator(purchaseItem.mStore,
                                                                  purchaseItem.mYear, ticketNumber, "2", pawnItemIdx, 0);


                        TransferItemVO transferData = new TransferItemVO();
                        transferData.ICN         = purchaseItem.Icn.ToString();
                        transferData.StoreNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber;
                        transferData.ICNQty      = purchaseItem.QuickInformation.Quantity > 0
                                                         ? purchaseItem.QuickInformation.Quantity.ToString()
                                                         : "1";
                        transferData.CustomerNumber   = "";
                        transferData.TransactionDate  = ShopDateTime.Instance.ShopDate;
                        transferData.MdseRecordDate   = ShopDateTime.Instance.ShopDate;
                        transferData.MdseRecordTime   = ShopDateTime.Instance.ShopTransactionTime;
                        transferData.MdseRecordUser   = GlobalDataAccessor.Instance.DesktopSession.UserName;
                        transferData.MdseRecordDesc   = "";
                        transferData.MdseRecordChange = 0;
                        transferData.MdseRecordType   = "";
                        transferData.ClassCode        = "";
                        transferData.AcctNumber       = "";
                        transferData.CreatedBy        = GlobalDataAccessor.Instance.DesktopSession.UserName;
                        transferData.GunNumber        = vendorPurchaseObj.GunNumbers[i - 1] > 0 ? vendorPurchaseObj.GunNumbers[i - 1].ToString() : null;
                        transferData.GunType          = purchaseItem.QuickInformation.GunType;
                        transferData.ItemDescription  = purchaseItem.TicketDescription;
                        transferData.ItemCost         = purchaseItem.ItemAmount;
                        _mdseToTransfer.Add(transferData);
                        itemsPfid = true;
                        pawnItemIdx++;
                    }
                }

                //Step 3 Insert receipt for PFI
                if (itemsPfid)
                {
                    ReceiptDetailsVO receiptDetailsVO = new ReceiptDetailsVO();
                    receiptDetailsVO.ReceiptDate = ShopDateTime.Instance.ShopDate;
                    receiptDetailsVO.RefDates    = new List <string>()
                    {
                        ShopDateTime.Instance.ShopDate.ToShortDateString()
                    };
                    receiptDetailsVO.RefTimes = new List <string>()
                    {
                        ShopDateTime.Instance.ShopDate.ToShortDateString() + " " + ShopDateTime.Instance.ShopTime.ToString()
                    };
                    receiptDetailsVO.UserId     = GlobalDataAccessor.Instance.DesktopSession.UserName;
                    receiptDetailsVO.RefNumbers = new List <string>()
                    {
                        ticketNumber.ToString()
                    };
                    receiptDetailsVO.RefTypes = new List <string>()
                    {
                        "2"
                    };
                    receiptDetailsVO.RefEvents = new List <string>()
                    {
                        "PFI"
                    };
                    receiptDetailsVO.RefAmounts = new List <string>()
                    {
                        vendorPurchaseObj.Amount.ToString()
                    };
                    receiptDetailsVO.RefStores = new List <string>()
                    {
                        GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber
                    };

                    ProcessTenderProcedures.ExecuteInsertReceiptDetails(
                        GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                        GlobalDataAccessor.Instance.DesktopSession.UserName,
                        ShopDateTime.Instance.ShopDate.ToShortDateString(),
                        GlobalDataAccessor.Instance.DesktopSession.UserName,
                        ref receiptDetailsVO,
                        out sErrorCode,
                        out sErrorText);
                }

                GlobalDataAccessor.Instance.endTransactionBlock(EndTransactionType.COMMIT);
            }
            catch (Exception ex)
            {
                GlobalDataAccessor.Instance.endTransactionBlock(EndTransactionType.ROLLBACK);
                FileLogger.Instance.logMessage(LogLevel.ERROR, null, "Error in vendor purchase pfi process while processing PFI " + ex.Message);
                sErrorCode = "1";
                sErrorText = ex.Message;
                return(false);
            }



            //Step 4 Invoke transfer process
            int transferNumber = 0;

            var errorMessage = string.Empty;

            if (_mdseToTransfer.Count > 0 && GlobalDataAccessor.Instance.CurrentSiteId.IsTopsExist)
            {
                bool retValue = TransferProcedures.TransferItemsOutOfStore(_mdseToTransfer, out transferNumber, "", out errorMessage, false, GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber);
                if (!retValue)
                {
                    MessageBox.Show("Error:" + errorMessage);
                    sErrorText = errorMessage;
                    return(false);
                }
                foreach (TransferItemVO transfer in _mdseToTransfer)
                {
                    transfer.TransferNumber = transferNumber;
                }
            }

            if (transferNumber > 0)
            {
                try
                {
                    GlobalDataAccessor.Instance.beginTransactionBlock();
                    //Step 5 Insert receipt for transfer
                    ReceiptDetailsVO receiptDetailsVO = new ReceiptDetailsVO();
                    receiptDetailsVO.ReceiptDate = ShopDateTime.Instance.ShopDate;
                    receiptDetailsVO.RefDates    = new List <string>()
                    {
                        ShopDateTime.Instance.ShopDate.ToShortDateString()
                    };
                    receiptDetailsVO.RefTimes = new List <string>()
                    {
                        ShopDateTime.Instance.ShopDate.ToShortDateString() + " " + ShopDateTime.Instance.ShopTime.ToString()
                    };
                    receiptDetailsVO.UserId     = GlobalDataAccessor.Instance.DesktopSession.UserName;
                    receiptDetailsVO.RefNumbers = new List <string>()
                    {
                        ticketNumber.ToString()
                    };
                    receiptDetailsVO.RefTypes = new List <string>()
                    {
                        "2"
                    };
                    receiptDetailsVO.RefEvents = new List <string>()
                    {
                        "TO"
                    };
                    receiptDetailsVO.RefAmounts = new List <string>()
                    {
                        vendorPurchaseObj.Amount.ToString()
                    };
                    receiptDetailsVO.RefStores = new List <string>()
                    {
                        GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber
                    };

                    ProcessTenderProcedures.ExecuteInsertReceiptDetails(
                        GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                        GlobalDataAccessor.Instance.DesktopSession.UserName,
                        ShopDateTime.Instance.ShopDate.ToShortDateString(),
                        GlobalDataAccessor.Instance.DesktopSession.UserName,
                        ref receiptDetailsVO,
                        out sErrorCode,
                        out sErrorText);
                    GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.COMMIT);
                    //Step 6 Print transfer report

                    /*TransferOutReport trnsfrRpt = new TransferOutReport();
                     * trnsfrRpt.MdseTransfer = _mdseToTransfer;
                     */
                    string logPath =
                        SecurityAccessor.Instance.EncryptConfig.ClientConfig.GlobalConfiguration
                        .BaseLogPath;

                    TransferOutReport trnsfrRpt = new TransferOutReport(_mdseToTransfer, ShopDateTime.Instance.ShopDateCurTime, GlobalDataAccessor.Instance.CurrentSiteId.StoreName,
                                                                        Convert.ToString(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber), GlobalDataAccessor.Instance.DesktopSession.UserName, Convert.ToString(transferNumber), logPath, "PFIProc", new ReportObject.TransferReport(), PdfLauncher.Instance);
                    trnsfrRpt.CreateReport();
                    //TODO: Store report in couch db
                    if (SecurityAccessor.Instance.EncryptConfig.ClientConfig.ClientConfiguration.PrintEnabled &&
                        GlobalDataAccessor.Instance.DesktopSession.LaserPrinter.IsValid)
                    {
                        string laserPrinterIp   = GlobalDataAccessor.Instance.DesktopSession.LaserPrinter.IPAddress;
                        int    laserPrinterPort = GlobalDataAccessor.Instance.DesktopSession.LaserPrinter.Port;
                        PrintingUtilities.printDocument(trnsfrRpt.getReportWithPath(),
                                                        laserPrinterIp,
                                                        laserPrinterPort,
                                                        1);
                    }

                    //trnsfrRpt.ShowDialog();
                    return(true);
                }
                catch (Exception ex)
                {
                    GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.ROLLBACK);
                    FileLogger.Instance.logMessage(LogLevel.ERROR, null, "Error in vendor purchase pfi process while entering receipt for transfer and printing transfer report " + ex.Message);
                    sErrorCode = "1";
                    sErrorText = ex.Message;
                    return(false);
                }
            }
            return(true);
        }