public static bool UpdateTempStatus(
            List <int> lstRefNumbers,
            StateStatus TempStatus,
            string storeNumber,
            bool bFlag,
            List <string> refType,
            out string errorCode,
            out string errorText)
        {
            //Set default output values
            errorCode = string.Empty;
            errorText = string.Empty;

            //Verify that the accessor is valid
            if (GlobalDataAccessor.Instance == null ||
                GlobalDataAccessor.Instance.OracleDA == null)
            {
                errorCode = "GetTempStatus";
                errorText = "Invalid desktop session or data accessor instance";
                BasicExceptionHandler.Instance.AddException("GetTempStatus", new ApplicationException("Cannot execute the UpdateTempStatus update stored procedure"));
                return(false);
            }

            //Get data accessor object
            var dA = GlobalDataAccessor.Instance.OracleDA;

            //Create input list
            List <OracleProcParam> inParams = new List <OracleProcParam>();

            OracleProcParam maskParam = new OracleProcParam(ParameterDirection.Input, DataTypeConstants.PawnDataType.LISTSTRING, "p_ref_numbers", lstRefNumbers.Count);

            foreach (int i in lstRefNumbers)
            {
                maskParam.AddValue(i.ToString());
            }
            inParams.Add(maskParam);

            if (TempStatus == StateStatus.BLNK)
            {
                inParams.Add(new OracleProcParam("p_temp_status", ""));
            }
            else
            {
                inParams.Add(new OracleProcParam("p_temp_status", TempStatus.ToString()));
            }
            inParams.Add(new OracleProcParam("p_store_number", storeNumber));
            inParams.Add(new OracleProcParam("p_flag", (bFlag ? "Y" : "N")));
            inParams.Add(new OracleProcParam("p_updated_by", GlobalDataAccessor.Instance.DesktopSession.UserName));
            inParams.Add(new OracleProcParam("p_ref_type", true, refType));

            //Setup ref cursor array
            List <PairType <string, string> > refCursors = new List <PairType <string, string> >();

            refCursors.Add(new PairType <string, string>("r_temp_status", "temp_status"));

            DataSet outputDataSet;
            //Create output data set names
            bool retVal = false;

            try
            {
                retVal = dA.issueSqlStoredProcCommand(
                    "ccsowner", "SERVICE_PAWN_LOANS", "Update_temp_status",
                    inParams, refCursors, "o_error_code", "o_error_text",
                    out outputDataSet);
            }
            catch (OracleException oEx)
            {
                errorCode = "UpdateTempStatusFailed";
                errorText = "Invocation of UpdateTempStatus stored proc failed";
                BasicExceptionHandler.Instance.AddException("OracleException thrown when invoking UpdateTempStatus stored proc", oEx);
                return(false);
            }

            //See if retVal is false
            if (retVal == false)
            {
                errorCode = dA.ErrorCode;
                errorText = dA.ErrorDescription;
                return(false);
            }
            else
            {
                errorCode = "0";
                errorText = string.Empty;
                return(true);
            }
        }
Example #2
0
        private void btnApply_Click(object sender, EventArgs e)
        {
            string msg;
            bool   RetVal;
            bool   IsSuccess = true;

            int SelectedRowsCount = dgWorkstations.SelectedRows.Count;

            // make sure user selects at least 1 row
            if (SelectedRowsCount == 0)
            {
                MessageBox.Show("At least one workstation must be selected to continue.", "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return;
            }

            // maker sure user does not select the same printer to redirect to.
            var ToPrinter   = cbTOPrinter.SelectedValue.ToString();
            var FromPrinter = cbPrinterName.SelectedValue.ToString();

            if (ToPrinter == FromPrinter)
            {
                MessageBox.Show("From and To printers cannot be identical.", "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return;
            }


            var store_peripheral_array = new string[SelectedRowsCount];

            for (int i = 0; i < SelectedRowsCount; i++)
            {
                // build the storeperipheral array
                store_peripheral_array[i] = dgWorkstations[1, dgWorkstations.SelectedRows[i].Index].Value.ToString();
            }

            //create input parameters
            var iParams    = new List <OracleProcParam>();
            var storeParam = new OracleProcParam(ParameterDirection.Input, DataTypeConstants.PawnDataType.LISTSTRING, "p_store_peripheral_id", store_peripheral_array.Length);

            for (int i = 0; i < store_peripheral_array.Length; i++)
            {
                storeParam.AddValue(store_peripheral_array[i]);
            }
            iParams.Add(storeParam);
            iParams.Add(new OracleProcParam("p_peripheral_id", cbTOPrinter.SelectedValue.ToString()));
            iParams.Add(new OracleProcParam("p_search_type", SearchType));
            CashlinxPawnSupportSession.Instance.beginTransactionBlock();


            try
            {
                RetVal = DA.issueSqlStoredProcCommand(
                    "ccsowner", "pawn_support_hardware", "redirect_hardware", iParams,
                    null, "o_return_code", "o_return_text", out Hardware_Config.Instance.HardwareList);
            }
            catch (OracleException oEx)
            {
                msg = string.Format("Invocation of get_printer_workstations stored proc failed{0}{1}{0}{2}",
                                    Environment.NewLine, oEx.Message, Smsg);
                MessageBox.Show(msg, "Error");
                CashlinxPawnSupportSession.Instance.endTransactionBlock(EndTransactionType.ROLLBACK);
                return;
            }

            if (RetVal == false)
            {
                IsSuccess = false;
                msg       = DA.ErrorDescription;
                var ErrorCode = DA.ErrorCode;

                if (ErrorCode == "1")
                {
                    MessageBox.Show(msg, "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else if (ErrorCode == "2")
                {
                    MessageBox.Show(msg, "Duplicate Value",
                                    MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
                else
                {
                    MessageBox.Show(string.Format("{0} -- {1}", msg, ErrorCode), "Error3.  Please Contact Support.");
                }
            }

            if (IsSuccess)
            {
                CashlinxPawnSupportSession.Instance.endTransactionBlock(EndTransactionType.COMMIT);
                MessageBox.Show("Workstations have been redirected successfully.", "Success",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
                PopulateHardware();
            }
            else
            {
                CashlinxPawnSupportSession.Instance.endTransactionBlock(EndTransactionType.ROLLBACK);
            }
        }
        public static bool ManagerOverrideReason(
            DateTime overrideDateTime,
            string storeNumber,
            string overrideID,
            ManagerOverrideTransactionType[] arManagerOverrideTransactionType,
            ManagerOverrideType[] arManagerOverrideType,
            decimal[] arSuggestedValue,
            decimal[] arApprovedValue,
            int[] arTransactionNumber,
            string comment,
            out string errorCode,
            out string errorText,
            string userId = null,
            string workId = null)
        {
            //Set default output values
            errorCode = string.Empty;
            errorText = string.Empty;

            //Verify that the accessor is valid
            if (GlobalDataAccessor.Instance == null ||
                !GlobalDataAccessor.Instance.IsDataAccessorValid())
            {
                errorCode = "ManagerOverrideReason";
                errorText = "Invalid desktop session or data accessor instance";
                BasicExceptionHandler.Instance.AddException("ManagerOverrideReason",
                                                            new ApplicationException(
                                                                "Cannot execute the Insert Override History stored procedure"));
                return(false);
            }

            //Get data accessor object
            OracleDataAccessor dA = GlobalDataAccessor.Instance.OracleDA;

            //Create input list
            List <OracleProcParam> inParams = new List <OracleProcParam>();

            OracleProcParam pManagerOverrideTransType = new OracleProcParam(ParameterDirection.Input
                                                                            , DataTypeConstants.PawnDataType.LISTSTRING
                                                                            , "p_ovr_tran_cd"
                                                                            , (arManagerOverrideTransactionType == null) ? 1 : arManagerOverrideTransactionType.Length);

            if (arManagerOverrideTransactionType != null && arManagerOverrideTransactionType.Length > 0)
            {
                for (int i = 0; i < arManagerOverrideTransactionType.Length; i++)
                {
                    pManagerOverrideTransType.AddValue(arManagerOverrideTransactionType[i].ToString());
                }
            }
            else
            {
                pManagerOverrideTransType.AddValue(string.Empty);
            }
            inParams.Add(pManagerOverrideTransType);

            OracleProcParam pManagerOverrideType = new OracleProcParam(ParameterDirection.Input
                                                                       , DataTypeConstants.PawnDataType.LISTSTRING
                                                                       , "p_ovr_sub_type_cd"
                                                                       , (arManagerOverrideType == null) ? 1 : arManagerOverrideType.Length);

            if (arManagerOverrideType != null && arManagerOverrideType.Length > 0)
            {
                for (int i = 0; i < arManagerOverrideType.Length; i++)
                {
                    pManagerOverrideType.AddValue(arManagerOverrideType[i].ToString());
                }
            }
            else
            {
                pManagerOverrideType.AddValue(string.Empty);
            }
            inParams.Add(pManagerOverrideType);

            inParams.Add(new OracleProcParam("p_store_number", storeNumber));
            inParams.Add(new OracleProcParam("p_override_by", overrideID));

            OracleProcParam psuggestedvalue = new OracleProcParam(ParameterDirection.Input
                                                                  , DataTypeConstants.PawnDataType.LISTFLOAT
                                                                  , "p_sugg_value"
                                                                  , (arSuggestedValue == null) ? 1 : arSuggestedValue.Length);

            if (arSuggestedValue != null && arSuggestedValue.Length > 0)
            {
                for (int i = 0; i < arSuggestedValue.Length; i++)
                {
                    psuggestedvalue.AddValue(arSuggestedValue[i]);
                }
            }
            else
            {
                psuggestedvalue.AddValue(string.Empty);
            }
            inParams.Add(psuggestedvalue);

            OracleProcParam papprovedvalue = new OracleProcParam(ParameterDirection.Input
                                                                 , DataTypeConstants.PawnDataType.LISTFLOAT
                                                                 , "p_appr_value"
                                                                 , (arApprovedValue == null) ? 1 : arApprovedValue.Length);

            if (arApprovedValue != null && arApprovedValue.Length > 0)
            {
                for (int i = 0; i < arApprovedValue.Length; i++)
                {
                    papprovedvalue.AddValue(arApprovedValue[i]);
                }
            }
            else
            {
                papprovedvalue.AddValue(string.Empty);
            }
            inParams.Add(papprovedvalue);

            OracleProcParam ptrxnumber = new OracleProcParam(ParameterDirection.Input
                                                             , DataTypeConstants.PawnDataType.LISTINT
                                                             , "p_trx_number"
                                                             , (arTransactionNumber == null) ? 1 : arTransactionNumber.Length);

            if (arTransactionNumber != null && arTransactionNumber.Length > 0)
            {
                for (var i = 0; i < arTransactionNumber.Length; i++)
                {
                    ptrxnumber.AddValue(arTransactionNumber[i]);
                }
            }
            else
            {
                ptrxnumber.AddValue(string.Empty);
            }
            inParams.Add(ptrxnumber);

            inParams.Add(new OracleProcParam("p_trx_date", overrideDateTime));
            inParams.Add(new OracleProcParam("p_user_id", (!string.IsNullOrEmpty(userId) ? userId :  GlobalDataAccessor.Instance.DesktopSession.UserName)));
            inParams.Add(new OracleProcParam("p_workstation_id", (!string.IsNullOrEmpty(workId) ? workId : GlobalDataAccessor.Instance.CurrentSiteId.TerminalId)));
            inParams.Add(new OracleProcParam("p_ovr_comment", comment));

            //Create output data set names
            bool retVal = false;

            try
            {
                DataSet outputDataSet = null;
                retVal = dA.issueSqlStoredProcCommand(
                    "ccsowner", "pawn_gen_procs", "insert_override_history",
                    inParams, null, "o_return_code", "o_return_text",
                    out outputDataSet);
            }
            catch (OracleException oEx)
            {
                errorCode = "ManagerOverrideReasonFailed";
                errorText = "Invocation of insert_override_history stored proc failed";
                BasicExceptionHandler.Instance.AddException("OracleException thrown when invoking insert_override_history stored proc", oEx);
                return(false);
            }

            //See if retVal is false
            if (retVal)
            {
                errorCode = "0";
                errorText = string.Empty;
                return(true);
            }
            else
            {
                errorCode = dA.ErrorCode;
                errorText = dA.ErrorDescription;
                return(true);
            }
        }
 private OracleProcParam addPCatCodes(OracleProcParam procParam)
 {
     procParam.AddValues(cat_code.Select(x => int.Parse(x) as object));
     return(procParam);
 }
        public static bool UpdateAssignedItems(
            string ItemArray,
            out string errorCode,
            out string errorText)
        {
            //Set default output values
            errorCode = string.Empty;
            errorText = string.Empty;
            DataSet outputDataSet = null;

            //Verify that the accessor is valid
            if (GlobalDataAccessor.Instance == null ||
                GlobalDataAccessor.Instance.OracleDA == null)
            {
                errorCode = "UpdateAssignedItems";
                errorText = "Invalid desktop session or data accessor instance";
                BasicExceptionHandler.Instance.AddException("UpdateAssignedItems", new ApplicationException("Cannot execute the UpdateAssignedItems retrieval stored procedure"));
                return(false);
            }

            //Get data accessor object
            OracleDataAccessor dA = GlobalDataAccessor.Instance.OracleDA;

            //Create input list
            List <OracleProcParam> inParams = new List <OracleProcParam>();

            OracleProcParam strParam = new OracleProcParam(ParameterDirection.Input,
                                                           DataTypeConstants.PawnDataType.LISTSTRING,
                                                           "p_input_string",
                                                           ItemArray.Length);

            foreach (string s in ItemArray.Split(new string[] { "|" }, StringSplitOptions.None))
            {
                strParam.AddValue(s);
            }

            //Add cat pointer
            inParams.Add(strParam);

            //Create output data set names
            bool retVal = false;

            try
            {
                retVal = dA.issueSqlStoredProcCommand(
                    "ccsowner", SQL_PACKAGE, "update_itemsAssignment",
                    inParams, null, "o_error_code", "o_error_text",
                    out outputDataSet);
            }
            catch (OracleException oEx)
            {
                errorCode = "UpdateAssignedItemsFailed";
                errorText = "Invocation of UpdateAssignedItems stored proc failed";
                BasicExceptionHandler.Instance.AddException("OracleException thrown when invoking UpdateAssignedItems stored proc", oEx);
                return(false);
            }

            //See if retVal is false
            if (retVal == false)
            {
                errorCode = dA.ErrorCode;
                errorText = dA.ErrorDescription;
                return(false);
            }
            else
            {
                errorCode = "0";
                errorText = string.Empty;
                return(true);
            }
        }
Example #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="inParams"></param>
        /// <param name="refDatesPName"></param>
        /// <param name="refDates"></param>
        /// <param name="refTimesPName"></param>
        /// <param name="refTimes"></param>
        /// <param name="refNumbersPName"></param>
        /// <param name="refNumbers"></param>
        /// <param name="refTypesPName"></param>
        /// <param name="refTypes"></param>
        /// <param name="refEventsPName"></param>
        /// <param name="refEvents"></param>
        /// <param name="refAmountsPName"></param>
        /// <param name="refAmounts"></param>
        /// <param name="refStoresPName"></param>
        /// <param name="refStores"></param>
        /// <param name="recNumberPName"></param>
        public static void addReceiptDetailsToOraParamList(
            ref List <OracleProcParam> inParams,
            string refDatesPName,
            string[] refDates,
            string refTimesPName,
            string[] refTimes,
            string refNumbersPName,
            string[] refNumbers,
            string refTypesPName,
            string[] refTypes,
            string refEventsPName,
            string[] refEvents,
            string refAmountsPName,
            string[] refAmounts,
            string refStoresPName,
            string[] refStores,
            string recNumberPName)
        {
            if (!string.IsNullOrEmpty(refDatesPName))
            {
                var orpmRefDate = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refDatesPName, refDates.Length);
                for (int i = 0; i < refDates.Length; i++)
                {
                    orpmRefDate.AddValue(refDates[i]);
                }
                inParams.Add(orpmRefDate);
            }

            if (!string.IsNullOrEmpty(refTimesPName))
            {
                var orpmRefTime = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refTimesPName, refTimes.Length);
                for (int i = 0; i < refTimes.Length; i++)
                {
                    orpmRefTime.AddValue(refTimes[i]);
                }
                inParams.Add(orpmRefTime);
            }

            if (!string.IsNullOrEmpty(refNumbersPName))
            {
                var orpmRefNumber = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refNumbersPName, refNumbers.Length);
                for (int i = 0; i < refNumbers.Length; i++)
                {
                    orpmRefNumber.AddValue(refNumbers[i]);
                }
                inParams.Add(orpmRefNumber);
            }

            if (!string.IsNullOrEmpty(refTypesPName))
            {
                var orpmRefType = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refTypesPName, refTypes.Length);
                for (int i = 0; i < refTypes.Length; i++)
                {
                    orpmRefType.AddValue(refTypes[i]);
                }
                inParams.Add(orpmRefType);
            }

            if (!string.IsNullOrEmpty(refEventsPName))
            {
                var orpmRefEvent = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refEventsPName, refEvents.Length);
                for (int i = 0; i < refEvents.Length; i++)
                {
                    orpmRefEvent.AddValue(refEvents[i]);
                }
                inParams.Add(orpmRefEvent);
            }

            if (!string.IsNullOrEmpty(refAmountsPName))
            {
                var orpmRefAmt = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refAmountsPName, refAmounts.Length);
                for (int i = 0; i < refAmounts.Length; i++)
                {
                    orpmRefAmt.AddValue(refAmounts[i]);
                }
                inParams.Add(orpmRefAmt);
            }

            if (!string.IsNullOrEmpty(refStoresPName))
            {
                var orpmRefStore = new OracleProcParam(
                    ParameterDirection.Input,
                    DataTypeConstants.PawnDataType.LISTSTRING, refStoresPName, refStores.Length);
                for (int i = 0; i < refStores.Length; i++)
                {
                    orpmRefStore.AddValue(refStores[i]);
                }
                inParams.Add(orpmRefStore);
            }

            if (!string.IsNullOrEmpty(recNumberPName))
            {
                //Add output parameter
                inParams.Add(new OracleProcParam(recNumberPName,
                                                 OracleDbType.Decimal,
                                                 DBNull.Value, ParameterDirection.Output, 1));
            }
        }