private ReturnedValues RunStoredProcedure(String[] keyPartArray, String storedProcedureName)
        {
            OleDbCommand dbCommand = null;
            Int32 keyIndex = 0;
            ReturnedValues returnValues;

            try
            {
                WriteLogFile("RunStoredProcedure() -->> ", "is STARTED");
                dbCommand = connectSPDatabase.CreateCommand();
                dbCommand.CommandType = CommandType.StoredProcedure;
                dbCommand.CommandText = storedProcedureName;
                OleDbCommandBuilder.DeriveParameters(dbCommand);

                foreach (DbParameter dbParameter in dbCommand.Parameters)
                {
                    if (dbParameter.Direction != ParameterDirection.ReturnValue && dbParameter.Direction != ParameterDirection.Output && keyPartArray.Length > keyIndex)
                    {
                        dbParameter.Value = keyPartArray[keyIndex];
                        keyIndex++;
                    }
                }
                foreach (DbParameter dbParameter in dbCommand.Parameters)
                {
                    if (dbParameter.Value == null)
                    {
                        dbParameter.Value = "0";
                    }
                }

                dbCommand.ExecuteNonQuery();

                returnValues = new ReturnedValues();

                returnValues.boolValue = Convert.ToBoolean(dbCommand.Parameters[Rsc.StoredPrcBoolVal].Value);

                returnValues.description = dbCommand.Parameters[Rsc.StoredPrcDescVal].Value.ToString();

                WriteLogFile("RunStoredProcedure() -->> ", "is successfully FINISHED.");
                return returnValues;

            }
            catch (Exception ex)
            {
                WriteLogFile("RunStoredProcedure() -->> ", ex);
                return null;
            }
        }
        private void ParseKey_CallSP(List<RowProperties> rowPropList, String filterName, String target, String storedProcName, String filterID)
        {
            String key;
            String[] keyPartArray;
            ReturnedValues returnValues;
            String queryInsertMsg;
            try
            {
                WriteLogFile("ParseKey_CallSP() -->> ", "is STARTED");
                returnValues = new ReturnedValues();
                foreach (RowProperties rowProp in rowPropList)
                {
                    String lastPosition = rowProp.ID;
                    RefreshFilter(filterID, lastPosition);

                    key = rowProp.primaryKeyValue;
                    WriteLogFile(storedProcName + " procedure will run this key", key);
                    key = key.Remove(key.LastIndexOf('-'));
                    keyPartArray = key.Split(new Char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                    returnValues = RunStoredProcedure(keyPartArray, storedProcName);
                    if (returnValues != null)
                    {
                        if (returnValues.boolValue)
                        {
                            DateTime tempdate = Convert.ToDateTime(rowProp.dateTime);
                            queryInsertMsg = " INSERT INTO " +
                                             Rsc.ActionMsgTbl + "(" +
                                             Rsc.ActionMsg_FilterName + "," +
                                             Rsc.ActionMsg_DateTime + "," +
                                             Rsc.ActionMsg_Category + "," +
                                             Rsc.ActionMsg_UserName + "," +
                                             Rsc.ActionMsg_ComputerName + "," +
                                             Rsc.ActionMsg_WindowName + "," +
                                             Rsc.ActionMsg_PrimaryKeyValue + "," +
                                             Rsc.ActionMsg_DataWindowName + "," +
                                             Rsc.ActionMsg_RecordNumber + "," +
                                             Rsc.ActionMsg_Description + "," +
                                             Rsc.ActionMsg_AlertTime + ")" +
                                             " VALUES ('" +
                                             filterName + "','" +
                                             tempdate.ToString(dateFormat) + "','" +
                                             rowProp.category + "','" +
                                             rowProp.userName + "','" +
                                             rowProp.computerName + "','" +
                                             rowProp.windowName + "','" +
                                             rowProp.primaryKeyValue + "','" +
                                             rowProp.dataWindowName + "','" +
                                             rowProp.recordNumber + "','" +
                                             returnValues.description + "','" +
                                             DateTime.Now.ToString(dateFormat) + "')";
                            WriteLogFile("Insert table ", queryInsertMsg);
                            Database.ExecuteNonQuery(dataBaseNameforMainServer, queryInsertMsg);
                            WriteLogFile("ParseKey_CallSP() -->> ", "is successfully FINISHED.");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                WriteLogFile("ParseKey_CallSP() -->> ", ex);
            }
        }