public static bool ProcessChargeonNewItems(DesktopSession desktopSession, List <Item> tempItems, string storeNumber)
        {
            foreach (Item pItem in tempItems)
            {
                if (pItem != null)
                {
                    QuickCheck pItemQInfo   = pItem.QuickInformation;
                    Int64[]    primaryMasks = getMasks(pItem);

                    //Insert MDSE record for this pawn item
                    //Calculate the cost amount of the item
                    //Requirement is that cost will be 65% of the amount entered as retail amount
                    //decimal itemCost = Utilities.GetDecimalValue(.65) * Utilities.GetDecimalValue(pItem.ItemAmount);
                    decimal itemCost = pItem.ItemAmount;
                    string  errorCode;
                    string  errorMessage;
                    bool    curRetValue = ProcessTenderProcedures.ExecuteInsertMDSERecord(
                        pItem.mStore, pItem.mStore, pItem.mYear, pItem.mDocNumber,
                        "" + pItem.mDocType, 1, 0, pItem.CategoryCode,
                        "", itemCost,
                        0, pItemQInfo.Manufacturer,
                        pItemQInfo.Model, pItemQInfo.SerialNumber, pItemQInfo.Weight,
                        primaryMasks, pItem.TicketDescription, pItem.ItemAmount,
                        pItem.StorageFee, "AUDIT",
                        ShopDateTime.Instance.ShopDate.FormatDate(), ShopDateTime.Instance.ShopDate.ToShortDateString() + " " + ShopDateTime.Instance.ShopTime.ToString(), "", "", pItem.mDocType, "", out errorCode, out errorMessage);
                    if (!curRetValue)
                    {
                        return(false);
                    }

                    foreach (ItemAttribute iAttr in pItem.Attributes)
                    {
                        if (iAttr.Answer.AnswerCode == OTHERDSC_CODE)
                        {
                            bool otherDscVal = ProcessTenderProcedures.ExecuteInsertOtherDscRecord(
                                storeNumber, pItem.mStore, pItem.mYear, pItem.mDocNumber,
                                "" + pItem.mDocType, 1, 0, iAttr.MaskOrder,
                                iAttr.Answer.AnswerText, "AUDIT", out errorCode, out errorMessage);
                            if (!otherDscVal)
                            {
                                return(false);
                            }
                        }
                    }

                    MerchandiseProcedures.UpdateMerchandiseRetailPrice(desktopSession,
                                                                       new Icn(pItem.Icn), pItem.RetailPrice, out errorCode, out errorMessage, storeNumber);
                    if (errorCode != "0")
                    {
                        return(false);
                    }
                    desktopSession.PrintTags(pItem, CurrentContext.AUDITCHARGEON);
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        private void customButtonSubmit_Click(object sender, EventArgs e)
        {
            string errorCode;
            string errorText;
            var    dSession = GlobalDataAccessor.Instance.DesktopSession;

            MerchandiseProcedures.UpdateGunCustomerData(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                        gunNumber,
                                                        dSession.GunAcquireCustomer ? "A" : "D",
                                                        newCustomer.LastName,
                                                        newCustomer.FirstName,
                                                        !string.IsNullOrEmpty(newCustomer.MiddleInitial) ? newCustomer.MiddleInitial.Substring(0, 1) : "",
                                                        string.Format("{0} {1}", customTextBoxaddr1.Text, customTextBoxAddr2.Text),
                                                        customTextBoxCity.Text,
                                                        state1.selectedValue,
                                                        zipcode1.Text,
                                                        newCustomer.getFirstIdentity().IdType,
                                                        newCustomer.getFirstIdentity().IdIssuer,
                                                        newCustomer.getFirstIdentity().IdValue,
                                                        dSession.UserName,
                                                        out errorCode,
                                                        out errorText);
            if (errorCode != "0")
            {
                MessageBox.Show("Customer data could not be updated");
            }
            else
            {
                MessageBox.Show("Customer data updated successfully");
                DataTable gunTableData;
                Item      gunItem;
                MerchandiseProcedures.GetGunData(GlobalDataAccessor.Instance.OracleDA,
                                                 GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                 Utilities.GetIntegerValue(gunNumber),
                                                 out gunTableData,
                                                 out gunItem,
                                                 out errorCode,
                                                 out errorText);
                dSession.GunData     = gunTableData;
                dSession.GunItemData = gunItem;
            }
            NavControlBox.Action = NavBox.NavAction.BACKANDSUBMIT;
        }
Ejemplo n.º 3
0
        private void submitButton_Click(object sender, EventArgs e)
        {
            string    errorCode;
            string    errorText;
            DataTable gunTableData;
            Item      gunItemData;

            if (!string.IsNullOrEmpty(txtGunNumber.Text) && !string.IsNullOrEmpty(tboxShopNumber.Text))
            {
                _storeNumber = tboxShopNumber.Text.PadLeft(5, '0');
                bool retVal = MerchandiseProcedures.GetGunData(GlobalDataAccessor.Instance.OracleDA,
                                                               _storeNumber, //GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                               Utilities.GetIntegerValue(txtGunNumber.Text),
                                                               out gunTableData,
                                                               out gunItemData,
                                                               out errorCode,
                                                               out errorText);

                if (retVal && errorText.Contains("No Merchandise data found"))
                {
                    MessageBox.Show(Commons.GetMessageString("GunEditErrorMessage"));
                    txtGunNumber.Focus();
                    return;
                }

                if (!retVal)
                {
                    MessageBox.Show("Invalid Gun Number");
                    txtGunNumber.Focus();
                    return;
                }

                GlobalDataAccessor.Instance.DesktopSession.GunData = gunTableData;
                CashlinxPawnSupportSession.Instance.GunItemData    = gunItemData;
                NavControlBox.Action = NavBox.NavAction.BACKANDSUBMIT;
            }
        }
Ejemplo n.º 4
0
        private void LoadRaiseHistory()
        {
            string errorCode, errorText;
            List <RetailPriceChangeHistoryRecord> changeHistory = new List <RetailPriceChangeHistoryRecord>();

            if (!MerchandiseProcedures.GetRetailPriceChangeHistory(DesktopSession, new Icn(RetailItem.Icn), changeHistory, out errorCode, out errorText))
            {
                MessageBox.Show(errorText);
                return;
            }

            gvPriceChanges.AutoGenerateColumns = false;

            foreach (RetailPriceChangeHistoryRecord record in changeHistory)
            {
                DataGridViewRow row = gvPriceChanges.Rows.AddNew();
                row.Cells[colPriceChangeDate.Index].Value  = record.ChangeDate.ToString("d");
                row.Cells[colReductionPercent.Index].Value = record.ChangePercentage.ToString("f0") + "%";
                row.Cells[colRetailBefore.Index].Value     = record.PriceBefore.ToString("c");
                row.Cells[colRetailAfter.Index].Value      = record.PriceAfter.ToString("c");
                row.Cells[colUserId.Index].Value           = record.ChangedBy;
                row.Tag = record;
            }
        }
Ejemplo n.º 5
0
        private void customButtonSubmit_Click(object sender, EventArgs e)
        {
            ComboBox addrstate = (ComboBox)this.state1.Controls[0];

            getPersonalIdentificationDataFromForm();
            if (idEditResource)
            {
                if (string.IsNullOrEmpty(customTextBoxLastName.Text.Trim()) ||
                    string.IsNullOrEmpty(customTextBoxFirstName.Text.Trim()) ||
                    string.IsNullOrEmpty(customTextBoxAddr1.Text.Trim()) ||
                    string.IsNullOrEmpty(addrstate.GetItemText(addrstate.SelectedItem)) ||
                    string.IsNullOrEmpty(customTextBoxCity.Text.Trim()) ||
                    string.IsNullOrEmpty(zipcode1.Text) ||
                    string.IsNullOrEmpty(strIdentTypeCode) ||
                    string.IsNullOrEmpty(strIdentIssuer) ||
                    string.IsNullOrEmpty(strIdentNumber.Trim()))
                {
                    incompleteData = true;
                }
            }
            else
            {
                if (string.IsNullOrEmpty(customTextBoxAddr1.Text.Trim()) ||
                    string.IsNullOrEmpty(addrstate.GetItemText(addrstate.SelectedItem)) ||
                    string.IsNullOrEmpty(customTextBoxCity.Text.Trim()) ||
                    string.IsNullOrEmpty(zipcode1.Text))
                {
                    incompleteData = true;
                }
            }
            string errorCode;
            string errorText;
            string custMiddleInitial = string.Empty;

            custMiddleInitial = this.idEditResource ? (!string.IsNullOrEmpty(this.customTextBoxInitial.Text)?this.customTextBoxInitial.Text.Substring(0, 1):"") : this.newCustomer.MiddleInitial;
            var dSession = GlobalDataAccessor.Instance.DesktopSession;

            MerchandiseProcedures.UpdateGunCustomerData(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                        Utilities.GetStringValue(gunBookData.Rows[0]["gun_number"]),
                                                        dSession.GunAcquireCustomer ? "A" : "D",
                                                        idEditResource ? customTextBoxLastName.Text : newCustomer.LastName,
                                                        idEditResource ? customTextBoxFirstName.Text : newCustomer.FirstName,
                                                        custMiddleInitial,
                                                        string.Format("{0} {1}", customTextBoxAddr1.Text, customTextBoxAddr2.Text),
                                                        customTextBoxCity.Text,
                                                        addrstate.GetItemText(addrstate.SelectedItem),
                                                        zipcode1.Text,
                                                        idEditResource ? strIdentTypeCode : newCustomer.getFirstIdentity().IdType,
                                                        idEditResource ? strIdentIssuer : newCustomer.getFirstIdentity().IdIssuer,
                                                        idEditResource ? strIdentNumber : newCustomer.getFirstIdentity().IdValue,
                                                        dSession.UserName,
                                                        out errorCode,
                                                        out errorText);
            if (errorCode != "0")
            {
                MessageBox.Show("Customer data could not be updated");
            }
            else
            {
                MessageBox.Show("Customer data updated successfully");
                DataTable gunTableData;
                Item      gunItem;
                MerchandiseProcedures.GetGunData(GlobalDataAccessor.Instance.OracleDA,
                                                 GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                 Utilities.GetIntegerValue(gunBookData.Rows[0]["gun_number"]),
                                                 out gunTableData,
                                                 out gunItem,
                                                 out errorCode,
                                                 out errorText);
                dSession.GunData     = gunTableData;
                dSession.GunItemData = gunItem;
            }
            NavControlBox.Action = NavBox.NavAction.BACKANDSUBMIT;
        }
Ejemplo n.º 6
0
        public static bool UpdateGunDescriptionData()
        {
            GlobalDataAccessor.Instance.beginTransactionBlock();
            string errorCode;
            string errorMessage;
            bool   gunMdseUpdate = MerchandiseProcedures.UpdateGunData(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                       GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0],
                                                                       GlobalDataAccessor.Instance.DesktopSession.UserName,
                                                                       out errorCode,
                                                                       out errorMessage);

            if (gunMdseUpdate)
            {
                bool deleteOtherdsc = MerchandiseProcedures.DeleteOtherDesc(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                            GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mStore,
                                                                            GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mYear,
                                                                            GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mDocNumber,
                                                                            GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mDocType,
                                                                            GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mItemOrder,
                                                                            out errorCode,
                                                                            out errorMessage);
                if (deleteOtherdsc)
                {
                    if ((from iAttr in GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].Attributes
                         where iAttr.Answer.AnswerCode == 999
                         select ProcessTenderProcedures.ExecuteInsertOtherDscRecord(
                             GlobalDataAccessor.Instance.DesktopSession.CurrentSiteId.StoreNumber,
                             GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mStore,
                             GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mYear,
                             GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mDocNumber,
                             string.Format("{0}", GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mDocType),
                             GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].mItemOrder, 0, iAttr.MaskOrder,
                             iAttr.Answer.AnswerText, GlobalDataAccessor.Instance.DesktopSession.UserName,
                             out errorCode, out errorMessage)).Any(otherDscVal => !otherDscVal))
                    {
                        GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.ROLLBACK);
                        return(false);
                    }
                    Item   pawnItem   = GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0];
                    string sErrorText = string.Empty;
                    string sErrorCode = string.Empty;
                    if (!string.IsNullOrEmpty(GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].Comment))
                    {
                        ProcessTenderProcedures.ExecuteInsertOtherDscRecord(
                            GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                            pawnItem.mStore, pawnItem.mYear, pawnItem.mDocNumber,
                            pawnItem.mDocType, pawnItem.mItemOrder, 0, 999,
                            pawnItem.Comment, GlobalDataAccessor.Instance.DesktopSession.UserName, out sErrorCode, out sErrorText);
                        if (sErrorCode != "0")
                        {
                            FileLogger.Instance.logMessage(LogLevel.ERROR, null, "Could not insert comment data when updating gun description for " + pawnItem.GunNumber.ToString());
                        }
                    }
                }
                else
                {
                    GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.ROLLBACK);
                    return(false);
                }
                DataTable gunTableData;
                Item      gunItemData;
                MerchandiseProcedures.GetGunData(GlobalDataAccessor.Instance.OracleDA,
                                                 GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                 Utilities.GetIntegerValue(GlobalDataAccessor.Instance.DesktopSession.ActivePawnLoan.Items[0].GunNumber),
                                                 out gunTableData,
                                                 out gunItemData,
                                                 out errorCode,
                                                 out errorMessage);
                GlobalDataAccessor.Instance.DesktopSession.GunData     = gunTableData;
                GlobalDataAccessor.Instance.DesktopSession.GunItemData = gunItemData;
                GlobalDataAccessor.Instance.DesktopSession.endTransactionBlock(EndTransactionType.COMMIT);
                return(true);
            }
            GlobalDataAccessor.Instance.endTransactionBlock(EndTransactionType.ROLLBACK);
            return(false);
        }
Ejemplo n.º 7
0
        private void customButtonSubmit_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.None;

            if (richTextBoxComment.Text.Trim().Count() == 0)
            {
                MessageBox.Show("Comment should be entered");
                return;
            }
            if (comboBoxReason.SelectedItem.ToString() == "Donation" && charityOrg == null)
            {
                MessageBox.Show("Charge-off reason requires additional information that was not provided, please reselect reason and enter required information.");
                return;
            }
            System.Windows.Forms.Cursor currentCursor = this.Cursor;
            this.Cursor = Cursors.WaitCursor;

            if (customTextBoxAuthBy.isValid || !customTextBoxAuthBy.Required)
            {
                List <string> icn = new List <string>();
                icn.Add(ChargeOffItem.Icn);
                List <string> retailPrice = new List <string>();
                retailPrice.Add("0");
                List <string> jCase = new List <string>();
                jCase.Add("");
                List <string> statusReason = new List <string>();
                statusReason.Add(chargeoffReason);
                List <int> qty = new List <int>();
                qty.Add(ChargeOffItem.Quantity);
                string errorCode;
                string errorText;
                int    saleTicketNumber;

                bool retValue = MerchandiseProcedures.InsertInventoryChargeOff(GlobalDataAccessor.Instance.OracleDA,
                                                                               GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber,
                                                                               ShopDateTime.Instance.ShopDate.ToShortDateString(),
                                                                               ShopDateTime.Instance.ShopDate.ToShortDateString() + " " + ShopDateTime.Instance.ShopTime.ToString(),
                                                                               "",
                                                                               GlobalDataAccessor.Instance.DesktopSession.FullUserName,
                                                                               icn,
                                                                               qty,
                                                                               statusReason,
                                                                               retailPrice,
                                                                               "",
                                                                               "",
                                                                               "",
                                                                               "0",
                                                                               GlobalDataAccessor.Instance.DesktopSession.CashDrawerName,
                                                                               "SALE",
                                                                               "0",
                                                                               "0",
                                                                               jCase,
                                                                               customTextBoxAuthBy.Text,
                                                                               atfNumber,
                                                                               caseNumber,
                                                                               charityOrg,
                                                                               charityAddr,
                                                                               charityCity,
                                                                               charityState,
                                                                               charityZip,
                                                                               replacedICN,
                                                                               richTextBoxComment.Text.ToString(),
                                                                               out saleTicketNumber,
                                                                               out errorCode,
                                                                               out errorText);
                if (!retValue)
                {
                    FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Error trying to complete chargeoff " + errorText);
                    MessageBox.Show("Error completing charge off ");
                    return;
                }
                MessageBox.Show("Charge off completed successfully");

                this.DialogResult = DialogResult.OK;

                //set fields
                InventoryChargeOffFields invFields = new InventoryChargeOffFields();
                invFields.ATFIncidentNumber      = atfNumber;
                invFields.AuthorizedBy           = customTextBoxAuthBy.Text;
                invFields.ChargeOffAmount        = ChargeOffItem.ItemAmount.ToString("C");
                invFields.ChargeOffNumber        = saleTicketNumber.ToString();
                invFields.CharitableOrganization = charityOrg;
                invFields.Comment = richTextBoxComment.Text.ToString();

                if (!string.IsNullOrEmpty(GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer.LastName) && !string.IsNullOrEmpty(GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer.FirstName))
                {
                    invFields.CustomerName = GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer.LastName + ", " +
                                             GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer.FirstName;
                }
                else
                {
                    invFields.CustomerName = string.Empty;
                }

                invFields.EmployeeNumber         = GlobalDataAccessor.Instance.DesktopSession.LoggedInUserSecurityProfile.EmployeeNumber;
                invFields.ICN                    = ChargeOffItem.Icn;
                invFields.MerchandiseDescription = ChargeOffItem.TicketDescription;
                invFields.PoliceCaseNumber       = caseNumber;
                invFields.ReasonForChargeOff     = chargeoffReason;
                invFields.ReplacementLoanNumber  = string.Empty;
                invFields.GunNumber              = ChargeOffItem.GunNumber;
                invFields.IsGun                  = ChargeOffItem.IsGun;
                CreateReportObject cro = new CreateReportObject();
                cro.GetInventoryChargeOffReport(invFields);
                //document generation here
                //chargeoffReason, charityOrg, caseNumber, atfNumber, customTextBoxAuthBy.Text,saleTicketNumber,  ChargeOffItem.TicketDescription
                // richTextBoxComment.Text.ToString()
                this.Close();
            }
            else
            {
                MessageBox.Show("Authorized by should be entered");
                return;
            }
        }
        /// <summary>
        /// Retrieves the data from the database
        /// </summary>
        /// <param name="iMaskPointer"></param>
        /// <param name="iCategoryCode"></param>
        /// <returns></returns>
        public DescribedMerchandise(int iMaskPointer)
        {
            Exists       = false;
            Error        = false;
            ErrorMessage = "";
            MaskLevel    = iMaskPointer;

            if (iMaskPointer == 0)
            {
                Error        = true;
                ErrorMessage = "Valid MaskPointer was not passed by calling Method.";
            }

            try
            {
                DataSet generalCategoryDataSet = new DataSet(MerchandiseProcedures.GENERAL);

                DataTable dtCategory = new DataTable(MerchandiseProcedures.CAT_GENERAL);
                DataTable dtMasks    = new DataTable(MerchandiseProcedures.CAT_MASK_GENERAL);
                DataTable dtAttribs  = new DataTable(MerchandiseProcedures.CAT_MASK_ATTR_GENERAL);
                DataTable dtAva      = new DataTable(MerchandiseProcedures.CAT_MASK_ATTR_AVA_GENERAL);
                DataTable dtAnswers  = new DataTable(MerchandiseProcedures.CAT_MASK_ATTR_AVA_ANSWER_GENERAL);

                DataTable dtCategory_Jewelry = new DataTable(MerchandiseProcedures.CAT_JEWELRY);
                DataTable dtMasks_Jewelry    = new DataTable(MerchandiseProcedures.CAT_MASK_JEWELRY);
                DataTable dtAttribs_Jewelry  = new DataTable(MerchandiseProcedures.CAT_MASK_ATTR_JEWELRY);
                DataTable dtAva_Jewelry      = new DataTable(MerchandiseProcedures.CAT_MASK_ATTR_AVA_JEWELRY);
                DataTable dtAnswers_Jewelry  = new DataTable(MerchandiseProcedures.CAT_MASK_ATTR_AVA_ANSWER_JEWELRY);

                //[FTN:  3.c]       Create ItemAttribute and Populate
                SelectedPawnItem = new Item();
                bool   bHasJewelry   = false;
                string sErrorCode    = "";
                string sErrorMessage = "";

                // Call to class for CAT5 Stored Procedure
                if (MerchandiseProcedures.ExecuteGetCat5Info(MaskLevel, out generalCategoryDataSet, out bHasJewelry, out sErrorCode, out sErrorMessage))
                {
                    if (sErrorCode != "")
                    {
                        dtCategory = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_GENERAL];
                        dtMasks    = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_GENERAL];
                        dtAttribs  = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_ATTR_GENERAL];
                        dtAva      = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_ATTR_AVA_GENERAL];
                        dtAnswers  = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_ATTR_AVA_ANSWER_GENERAL];

                        if (bHasJewelry)
                        {
                            dtCategory_Jewelry = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_JEWELRY];
                            dtMasks_Jewelry    = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_JEWELRY];
                            dtAttribs_Jewelry  = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_ATTR_JEWELRY];
                            dtAva_Jewelry      = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_ATTR_AVA_JEWELRY];
                            dtAnswers_Jewelry  = generalCategoryDataSet.Tables[MerchandiseProcedures.CAT_MASK_ATTR_AVA_ANSWER_JEWELRY];
                        }

                        if (dtCategory != null)
                        {
                            SelectedPawnItem.CategoryMask        = Utilities.GetIntegerValue(dtCategory.Rows[0]["MASK_POINTER"], 0);
                            SelectedPawnItem.CategoryDescription = Utilities.GetStringValue(dtCategory.Rows[0]["CAT_DESC2"]);
                            SelectedPawnItem.CaccLevel           = Utilities.GetIntegerValue(dtCategory.Rows[0]["CACC_LEV"], -1);
                            SelectedPawnItem.IsJewelry           = bHasJewelry;
                            SelectedPawnItem.MerchandiseType     = Utilities.GetStringValue(dtCategory.Rows[0]["MD_TYPE"]);
                        }

                        //[FTN:  3.c.v]     Create new ItemAttribute List
                        SelectedPawnItem.Attributes = new List <ItemAttribute>();

                        #region FTN 3.e
                        if (dtMasks != null)
                        {
                            foreach (DataRow drMaskRow in dtMasks.Rows)
                            {
                                //[FTN:  3.e.i]             Create ItemAttribute and Populate
                                ItemAttribute maskItemAttribute = new ItemAttribute();
                                maskItemAttribute.AttributeCode           = Utilities.GetIntegerValue(drMaskRow["ATTRIBUTE"], 0);
                                maskItemAttribute.DescriptionOrder        = Utilities.GetIntegerValue(drMaskRow["DESC_SEQ"], 0);
                                maskItemAttribute.LoanOrder               = Utilities.GetIntegerValue(drMaskRow["LOAN_SEQ"], 0);
                                maskItemAttribute.MaskLevel               = Utilities.GetIntegerValue(drMaskRow["MASK_LEVEL"], 0);
                                maskItemAttribute.MaskOrder               = Utilities.GetIntegerValue(drMaskRow["MASK_SEQ"], 0);
                                maskItemAttribute.MaskDefault             = Utilities.GetStringValue(drMaskRow["MASK_DEFAULT"]);
                                maskItemAttribute.IsPreAnswered           = false;
                                maskItemAttribute.ValidationDataType      = Utilities.GetStringValue(drMaskRow["ANSWER_TYPE"]);
                                maskItemAttribute.IsIncludedInDescription = Utilities.GetStringValue(drMaskRow["INCL_DESC"]) == "Y" ? true : false;
                                maskItemAttribute.IsRequired              = Utilities.GetStringValue(drMaskRow["ANS_REQUIRED"]) == "Y" ? true : false;
                                maskItemAttribute.IsRestricted            = Utilities.GetStringValue(drMaskRow["ANS_RESTRICT"]) == "Y" ? true : false;

                                if (dtAttribs != null)
                                {
                                    //[FTN:  3.e.i.13]              Retrieve Attribute Description
                                    DataRow[] drsGeneralAttribs = dtAttribs.Select("ATTR_ID=" + maskItemAttribute.AttributeCode.ToString());

                                    if (drsGeneralAttribs.Length > 0)
                                    {
                                        maskItemAttribute.Description = Utilities.GetStringValue(drsGeneralAttribs[0]["ATTR_DESC"]);
                                        maskItemAttribute.Prefix      = Utilities.GetStringValue(drsGeneralAttribs[0]["PREFIX"]);
                                        maskItemAttribute.Suffix      = Utilities.GetStringValue(drsGeneralAttribs[0]["SUFFIX"]);
                                        maskItemAttribute.InputType   = Utilities.GetStringValue(drsGeneralAttribs[0]["INPUT_TYPE"]);
                                        maskItemAttribute.MdseField   = Utilities.GetCharValue(drsGeneralAttribs[0]["MDSE_FIELD"], ' ');

                                        //[FTN:  3.e.i.14]                      Create List<Answer> to populate from AVA Table
                                        maskItemAttribute.AnswerList = new List <Answer>();

                                        if (dtAva != null)
                                        {
                                            //[FTN:  3.e.i.15]                      Filter to only matching Answers.
                                            DataRow[] drsAvaTable = dtAva.Select("CATG=" + SelectedPawnItem.CategoryMask.ToString() + " AND ATTR_ID=" + maskItemAttribute.AttributeCode.ToString());

                                            foreach (DataRow drAvaTable in drsAvaTable)
                                            {
                                                //[FTN:  3.e.i.15.a]                        Create Answer object and populate
                                                Answer attributeAnswer = new Answer();
                                                attributeAnswer.AnswerCode   = Utilities.GetIntegerValue(drAvaTable["ANS_ID"], 0);
                                                attributeAnswer.DisplayOrder = Utilities.GetIntegerValue(drAvaTable["DISP_SORT"], 0);

                                                if (dtAnswers != null)
                                                {
                                                    //[FTN:  3.e.i.15.b]                            Filter to only matching Answer Code record from ANSWERS
                                                    DataRow[] drsAnswerTable = dtAnswers.Select("ANS_ID=" + attributeAnswer.AnswerCode.ToString());

                                                    if (drsAnswerTable.Length > 0)
                                                    {
                                                        attributeAnswer.AnswerText = Utilities.GetStringValue(drsAnswerTable[0]["ANS_DESC"]);
                                                        attributeAnswer.InputKey   = Utilities.GetStringValue(drsAnswerTable[0]["INPUT_KEY"]);
                                                        attributeAnswer.OutputKey  = Utilities.GetStringValue(drsAnswerTable[0]["OUTPUT_KEY"]);
                                                    }
                                                }
                                                //[FTN:  3.e.i.15.c]                        Add attributeAnswer to ItemAttribute
                                                maskItemAttribute.AnswerList.Add(attributeAnswer);
                                            }
                                        }
                                    }
                                }

                                //[FTN:  3.e.i.12]          Assign Control Type
                                if (maskItemAttribute.AnswerList.Count == 0 && !maskItemAttribute.IsRestricted)
                                {
                                    maskItemAttribute.InputControl = ControlType.TEXTFIELD;
                                }
                                else if (maskItemAttribute.AnswerList.Count > 0 && !maskItemAttribute.IsRestricted)
                                {
                                    maskItemAttribute.InputControl = ControlType.COMBOBOX_TEXT_ENABLED;
                                }
                                else if (maskItemAttribute.AnswerList.Count > 0 && maskItemAttribute.IsRestricted)
                                {
                                    maskItemAttribute.InputControl = ControlType.COMBOBOX_ONLY;
                                }

                                //[FTN:  3.e.ii]            Add maskItemAttribute to PawnItem
                                SelectedPawnItem.Attributes.Add(maskItemAttribute);
                            }
                        }
                        #endregion

                        #region FTN 3.f
                        if (SelectedPawnItem.IsJewelry)
                        {
                            SelectedPawnItem.Jewelry = new List <JewelrySet>();
                            JewelrySet itemJewelrySet = new JewelrySet();

                            if (dtCategory_Jewelry != null)
                            {
                                itemJewelrySet.Category            = Utilities.GetIntegerValue(dtCategory_Jewelry.Rows[0]["MASK_POINTER"], 0);
                                itemJewelrySet.CategoryDescription = Utilities.GetStringValue(dtCategory_Jewelry.Rows[0]["CAT_DESC2"]);
                                itemJewelrySet.CaccLevel           = Utilities.GetIntegerValue(dtCategory_Jewelry.Rows[0]["CACC_LEV"], -1);
                            }

                            itemJewelrySet.ItemAttributeList = new List <ItemAttribute>();

                            foreach (DataRow drMask_JewelryRow in dtMasks_Jewelry.Rows)
                            {
                                //[FTN:  3.f.ii.1]                      Create ItemAttribute and Populate
                                ItemAttribute maskItemAttribute = new ItemAttribute();
                                maskItemAttribute.AttributeCode           = Utilities.GetIntegerValue(drMask_JewelryRow["ATTRIBUTE"], 0);
                                maskItemAttribute.DescriptionOrder        = Utilities.GetIntegerValue(drMask_JewelryRow["DESC_SEQ"], 0);
                                maskItemAttribute.LoanOrder               = Utilities.GetIntegerValue(drMask_JewelryRow["LOAN_SEQ"], 0);
                                maskItemAttribute.MaskLevel               = Utilities.GetIntegerValue(drMask_JewelryRow["MASK_LEVEL"], 0);
                                maskItemAttribute.MaskOrder               = Utilities.GetIntegerValue(drMask_JewelryRow["MASK_SEQ"], 0);
                                maskItemAttribute.MaskDefault             = Utilities.GetStringValue(drMask_JewelryRow["MASK_DEFAULT"]);
                                maskItemAttribute.ValidationDataType      = Utilities.GetStringValue(drMask_JewelryRow["ANSWER_TYPE"]);
                                maskItemAttribute.IsIncludedInDescription = Utilities.GetStringValue(drMask_JewelryRow["INCL_DESC"]) == "Y" ? true : false;
                                maskItemAttribute.IsRequired              = Utilities.GetStringValue(drMask_JewelryRow["ANS_REQUIRED"]) == "Y" ? true : false;
                                maskItemAttribute.IsRestricted            = Utilities.GetStringValue(drMask_JewelryRow["ANS_RESTRICT"]) == "Y" ? true : false;

                                if (dtAttribs_Jewelry != null)
                                {
                                    //[FTN:  3.f.ii.2]                  Retrieve Attribute Description
                                    DataRow[] drsGeneralAttribs = dtAttribs_Jewelry.Select("ATTR_ID=" + maskItemAttribute.AttributeCode.ToString());

                                    if (drsGeneralAttribs.Length > 0)
                                    {
                                        maskItemAttribute.Description = Utilities.GetStringValue(drsGeneralAttribs[0]["ATTR_DESC"]);
                                        maskItemAttribute.Prefix      = Utilities.GetStringValue(drsGeneralAttribs[0]["PREFIX"]);
                                        maskItemAttribute.Suffix      = Utilities.GetStringValue(drsGeneralAttribs[0]["SUFFIX"]);
                                        maskItemAttribute.InputType   = Utilities.GetStringValue(drsGeneralAttribs[0]["INPUT_TYPE"]);
                                        maskItemAttribute.MdseField   = Utilities.GetCharValue(drsGeneralAttribs[0]["MDSE_FIELD"], ' ');

                                        //[FTN:  3.f.ii.3]                      Create List<Answer> to populate from AVA Table
                                        maskItemAttribute.AnswerList = new List <Answer>();

                                        if (dtAva_Jewelry != null)
                                        {
                                            //[FTN:  3.f.ii.4]                      Filter to only matching Answers.
                                            DataRow[] drsAvaTable = dtAva_Jewelry.Select("CATG=" + itemJewelrySet.Category.ToString() + " AND ATTR_ID=" + maskItemAttribute.AttributeCode.ToString());

                                            foreach (DataRow drAvaTable in drsAvaTable)
                                            {
                                                //[FTN:  3.f.ii.4.a]                        Create Answer object and populate
                                                Answer attributeAnswer = new Answer();
                                                attributeAnswer.AnswerCode   = Utilities.GetIntegerValue(drAvaTable["ANS_ID"], 0);
                                                attributeAnswer.DisplayOrder = Utilities.GetIntegerValue(drAvaTable["DISP_SORT"], 0);

                                                if (dtAnswers_Jewelry != null)
                                                {
                                                    //[FTN:  3.f.ii.4.b]                            Filter to only matching Answer Code record from ANSWERS
                                                    DataRow[] drsAnswerTable = dtAnswers_Jewelry.Select("ANS_ID=" + attributeAnswer.AnswerCode.ToString());

                                                    if (drsAnswerTable.Length > 0)
                                                    {
                                                        attributeAnswer.AnswerText = Utilities.GetStringValue(drsAnswerTable[0]["ANS_DESC"]);
                                                        attributeAnswer.InputKey   = Utilities.GetStringValue(drsAnswerTable[0]["INPUT_KEY"]);
                                                        attributeAnswer.OutputKey  = Utilities.GetStringValue(drsAnswerTable[0]["OUTPUT_KEY"]);
                                                    }
                                                }
                                                //[FTN:  3.f.ii.4.c]                        Add attributeAnswer to ItemAttribute
                                                maskItemAttribute.AnswerList.Add(attributeAnswer);
                                            }
                                        }
                                    }
                                }

                                //[FTN:  3.f.ii.1.l...n]    Assign Control Type
                                if (maskItemAttribute.AnswerList.Count == 0 && !maskItemAttribute.IsRestricted)
                                {
                                    maskItemAttribute.InputControl = ControlType.TEXTFIELD;
                                }
                                else if (maskItemAttribute.AnswerList.Count > 0 && !maskItemAttribute.IsRestricted)
                                {
                                    maskItemAttribute.InputControl = ControlType.COMBOBOX_TEXT_ENABLED;
                                }
                                else if (maskItemAttribute.AnswerList.Count > 0 && maskItemAttribute.IsRestricted)
                                {
                                    maskItemAttribute.InputControl = ControlType.COMBOBOX_ONLY;
                                }

                                //[FTN:  3.f.iii]           Add maskItemAttribute to JewelrySet object
                                itemJewelrySet.ItemAttributeList.Add(maskItemAttribute);
                            }

                            //[FTN:  3.f.iv]        Add JewelrySet to PawnItem
                            SelectedPawnItem.Jewelry.Add(itemJewelrySet);
                        }
                        #endregion

                        SelectedPawnItem.PfiAssignmentType = SelectedPawnItem.IsJewelry ? PfiAssignment.Scrap : PfiAssignment.Normal;
                        SelectedPawnItem.IsGun             = Utilities.IsGun(SelectedPawnItem.GunNumber, SelectedPawnItem.CategoryMask, SelectedPawnItem.IsJewelry, SelectedPawnItem.MerchandiseType);

                        Exists = true;
                    }
                    else
                    {
                        Error        = true;
                        ErrorMessage = sErrorMessage + " [" + sErrorCode + "]";
                    }
                }
                else
                {
                    Error        = true;
                    ErrorMessage = sErrorMessage + " [" + sErrorCode + "]";
                }
            }
            catch (Exception exp)
            {
                Error        = true;
                ErrorMessage = exp.Message;
            }
        }
Ejemplo n.º 9
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);
        }