示例#1
0
        /// <summary>
        /// Sets the record.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <param name="clob">The clob.</param>
        /// <returns></returns>
        private int SetRecord(string type, string clob)
        {
            var results = -1;

            try
            {
                using (var conn = new OracleConnection(GeneralUtility.GetConnectStringFromInstance(_instance)))
                {
                    var command = new OracleCommand("DBCLASSLIBRARY.UpdateClaimSubmissionLog", conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    var oracleParameter1 = new OracleParameter();
                    var oracleParameter2 = new OracleParameter();
                    var oracleParameter3 = new OracleParameter();
                    var oracleParameter4 = new OracleParameter();
                    var oracleParameter5 = new OracleParameter();

                    oracleParameter1.Direction     = ParameterDirection.Output;
                    oracleParameter1.OracleDbType  = OracleDbType.Decimal;
                    oracleParameter1.ParameterName = "P_ID";
                    oracleParameter2.OracleDbType  = OracleDbType.Varchar2;
                    oracleParameter2.ParameterName = "P_RQUID";
                    oracleParameter3.OracleDbType  = OracleDbType.Varchar2;
                    oracleParameter3.ParameterName = "P_REQUESTTYPE";
                    oracleParameter4.OracleDbType  = OracleDbType.Varchar2;
                    oracleParameter4.ParameterName = "P_TIMESTAMP";
                    oracleParameter5.OracleDbType  = OracleDbType.Clob;
                    oracleParameter5.ParameterName = "CLOBDATA";

                    command.Parameters.Add(oracleParameter1);
                    command.Parameters.Add(oracleParameter2);
                    command.Parameters.Add(oracleParameter3);
                    command.Parameters.Add(oracleParameter4);
                    command.Parameters.Add(oracleParameter5);

                    command.Parameters[1].Value     = _rquId;
                    command.Parameters[2].Value     = type;
                    command.Parameters[3].Value     = TimeStamp;
                    command.Parameters[4].Direction = ParameterDirection.Input;
                    command.Parameters[4].Size      = clob.Length;
                    command.Parameters[4].Value     = clob;

                    conn.Open();
                    command.ExecuteNonQuery();

                    results = Convert.ToInt32(command.Parameters[0].Value.ToString());
                }
            }
            catch (Exception ex)
            {
                LastErrorMessage = ex.Message;
                GeneralUtility.DebugLog(LastErrorMessage, Name);
            }
            return(results);
        }
示例#2
0
        /// <summary>
        /// Sets the source.
        /// </summary>
        public int SetSource(string source)
        {
            try
            {
                using (var conn = new OracleConnection(GeneralUtility.GetConnectStringFromInstance(Instance)))
                {
                    var command = new OracleCommand("DBCLASSLIBRARY.CreateUpdateEntities", conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    var parameters = new[]
                    {
                        new OracleParameter
                        {
                            Direction     = ParameterDirection.Output,
                            OracleDbType  = OracleDbType.Decimal,
                            ParameterName = "P_ID"
                        },
                        new OracleParameter
                        {
                            Direction     = ParameterDirection.Input,
                            OracleDbType  = OracleDbType.Varchar2,
                            ParameterName = "P_RQUID",
                            Value         = RquId
                        },
                        new OracleParameter
                        {
                            Direction     = ParameterDirection.Input,
                            OracleDbType  = OracleDbType.Clob,
                            ParameterName = "p_SOURCEDATA",
                            Value         = source,
                            Size          = source.Length
                        }
                    };

                    foreach (var parameter in parameters)
                    {
                        command.Parameters.Add(parameter);
                    }

                    conn.Open();
                    command.ExecuteNonQuery();

                    return(Convert.ToInt32(command.Parameters[0].Value.ToString()));
                }
            }
            catch (Exception ex)
            {
                LastError = ex.Message;
                GeneralUtility.DebugLog(LastError, ToString());
                return(-1);
            }
        }
示例#3
0
        /// <summary>
        /// Processes the delimited CSR string.
        /// </summary>
        /// <param name="callId">The call id.</param>
        /// <param name="csrIds">The CSR ids.</param>
        /// <returns></returns>
        static public bool ProcessDelimitedCsrString(string callId, string csrIds)
        {
            bool results;

            try
            {
                var reset = new ResetClaimCms {
                    CallId = callId
                };

                reset.Execute();

                var test = new ClaimCsrId();

                var names = csrIds.Split(';');

                foreach (var t in names)
                {
                    var namesId = t.Split(',');
                    if (namesId.Length < 2)
                    {
                        continue;
                    }
                    var csrIdname = namesId[0].Split(' ');
                    if (csrIdname.Length <= 1)
                    {
                        continue;
                    }
                    test.Reset();
                    test.CallId    = callId;
                    test.CsrId     = csrIdname[0].Trim();
                    test.LastName  = csrIdname[csrIdname.Length - 1].Trim();
                    test.FirstName = namesId[1].Trim();
                    if (namesId.Length == 3)
                    {
                        test.FirstName = namesId[2].Trim();
                        test.LastName += " " + namesId[1].Trim();
                    }
                    if (!test.Execute())
                    {
                        throw new ApplicationException(test.LastError);
                    }
                }
                results = true;
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "ProcessDelimitedCsrString");
                results = false;
            }
            return(results);
        }
示例#4
0
        /// <summary>
        /// Gets the record.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <returns></returns>
        private string GetRecord(string type)
        {
            var results = String.Empty;

            try
            {
                using (var conn = new OracleConnection(GeneralUtility.GetConnectStringFromInstance(_instance)))
                {
                    var command = new OracleCommand("DBCLASSLIBRARY.GetClaimSubLogData", conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    var oracleParameter1 = new OracleParameter();
                    var oracleParameter2 = new OracleParameter();
                    var oracleParameter3 = new OracleParameter();

                    oracleParameter1.OracleDbType  = OracleDbType.Varchar2;
                    oracleParameter1.ParameterName = "P_RQUID";
                    oracleParameter2.OracleDbType  = OracleDbType.Varchar2;
                    oracleParameter2.ParameterName = "P_REQUESTTYPE";
                    oracleParameter3.OracleDbType  = OracleDbType.Clob;
                    oracleParameter3.ParameterName = "CLOBDATA";

                    command.Parameters.Add(oracleParameter1);
                    command.Parameters.Add(oracleParameter2);
                    command.Parameters.Add(oracleParameter3);

                    command.Parameters[0].Value     = _rquId;
                    command.Parameters[1].Value     = type;
                    command.Parameters[2].Direction = ParameterDirection.Output;

                    conn.Open();
                    command.ExecuteNonQuery();

                    var clobResults = (OracleClob)command.Parameters[2].Value;
                    results = clobResults.Value;
                }
            }
            catch (Exception ex)
            {
                LastErrorMessage = ex.Message;
                GeneralUtility.DebugLog(LastErrorMessage, Name);
            }

            return(results);
        }
示例#5
0
        /// <summary>
        /// Gets the source.
        /// </summary>
        public string GetSource()
        {
            try
            {
                using (var conn = new OracleConnection(GeneralUtility.GetConnectStringFromInstance(Instance)))
                {
                    var command = new OracleCommand("DBCLASSLIBRARY.GetEntity", conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    var parameters = new[]
                    {
                        new OracleParameter
                        {
                            Direction     = ParameterDirection.Input,
                            OracleDbType  = OracleDbType.Varchar2,
                            ParameterName = "P_RQUID",
                            Value         = RquId
                        },
                        new OracleParameter
                        {
                            Direction     = ParameterDirection.Output,
                            OracleDbType  = OracleDbType.Clob,
                            ParameterName = "p_SOURCEDATA",
                        }
                    };

                    foreach (var parameter in parameters)
                    {
                        command.Parameters.Add(parameter);
                    }

                    conn.Open();
                    command.ExecuteNonQuery();

                    var clobResults = (OracleClob)command.Parameters[1].Value;
                    return(clobResults.Value);
                }
            }
            catch (Exception ex)
            {
                LastError = ex.Message;
                GeneralUtility.DebugLog(LastError, ToString());
                return(string.Empty);
            }
        }
示例#6
0
        public static void InitializeConfiguration()
        {
            if (_initialized)
            {
                return;
            }
            _initialized = true;
            var appConfig = GeneralUtility.GetFnsRegistryKeyString("", "FnsBinDir") + "app.config";
            var current   = AppDomain.CurrentDomain.GetData("APP_CONFIG_FILE");

            if (current != null && AppDomain.CurrentDomain.BaseDirectory.ToLower().Contains("fnsnet\\bin"))
            {
                GeneralUtility.DebugLog("configuration data for: " + AppDomain.CurrentDomain.FriendlyName + " at " + AppDomain.CurrentDomain.BaseDirectory, "FNSDispatch.ApplicationConfiguration");
                return;
            }
            GeneralUtility.DebugLog("Setting configuration data to " + appConfig, "ApConfigBase.ApplicationConfiguration");
            AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", appConfig);
        }
示例#7
0
 private static string InstanceFromRegistry(bool useCache)
 {
     GeneralUtility.DebugLog("InstanceFromRegistry entered.", "DatabaseInstance");
     if (useCache && !string.IsNullOrEmpty(_instanceFromRegistry))
     {
         return(_instanceFromRegistry);
     }
     using (var rkFns = Registry.LocalMachine.OpenSubKey("Software\\Edgewater\\FNS\\"))
     {
         lock (SynchLock)
         {
             OdbcDsn dsn = null;
             if (rkFns == null)
             {
                 return(string.Empty);
             }
             var results = rkFns.GetValue("ConnectString").ToString();
             GeneralUtility.DebugLog("results = " + results, "DatabaseInstance");
             try
             {
                 dsn = OdbcDsn.CreateFromEncypted(results);
             }
             catch (Exception ex)
             {
                 GeneralUtility.DebugLog("Error: " + ex.Message, "InstanceFromRegistry");
             }
             if (dsn == null)
             {
                 GeneralUtility.LogError(string.Format("Error decrypting registry value={0}", results),
                                         "InstanceFromRegistry");
                 return(results.Length == 0
       ? results
       : new OdbcDsn(results).Server);
             }
             GeneralUtility.DebugLog("Decrypted results = " + dsn.ToDisplayString(), "DatabaseInstance");
             var instance = dsn.Server;
             if (useCache)
             {
                 _instanceFromRegistry = instance;
             }
             return(instance);
         }
     }
 }
示例#8
0
        /// <summary>
        /// Gets the fraud language by state code.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="stateCode">The state code.</param>
        /// <returns></returns>
        public static string GetFraudLanguageByStateCode(string stateCode, string instance)
        {
            string results = String.Empty;

            try
            {
                FraudLanguage fraud = new FraudLanguage(instance);
                fraud.StateCode = stateCode;
                if (fraud.Execute())
                {
                    results = fraud.FraudText;
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetFraudLanguageByStateCode");
            }
            return(results);
        }
示例#9
0
        /// <summary>
        /// Gets the ahs ID.
        /// </summary>
        /// <value>The ahsid Id.</value>
        public static string GetLOCATIONAHSID(string instance, string locationcode)
        {
            string results = String.Empty;

            try
            {
                GetAHSID AHS = new GetAHSID(instance);
                AHS.Locationcode = locationcode;
                if (AHS.Execute())
                {
                    results = AHS.Ahsid;
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetLOCATIONAHSID");
            }
            return(results);
        }
示例#10
0
        /// <summary>
        /// Gets the fips from zip.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="Zip">The zip.</param>
        /// <returns></returns>
        public static string GetCountyFromZipCode(string instance, string Zip)
        {
            string results = String.Empty;

            try
            {
                GetCountyFromZip Location = new GetCountyFromZip(instance);
                Location.Zip = Zip;
                if (Location.Execute())
                {
                    results = Location.County;
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetCountyFromZip");
            }
            return(results);
        }
示例#11
0
        /// <summary>
        /// Gets the User ID.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="username">The User name.</param>
        /// <returns></returns>
        public static string GetUserID(string instance, string username)
        {
            string results = String.Empty;

            try
            {
                GetuserIDfromUserName users = new GetuserIDfromUserName(instance);
                users.UserName = username;
                if (users.Execute())
                {
                    results = users.UserId;
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetUserID");
            }
            return(results);
        }
示例#12
0
        /// <summary>
        /// Gets the State from zip override instance (FIRST for backward compatible).
        /// </summary>
        public static string GetStateFromZip(string instance, string zip)
        {
            string results = String.Empty;

            try
            {
                LocationStateFromZip location = new LocationStateFromZip(instance);
                location.ZipCode = zip;
                if (location.Execute())
                {
                    results = location.State.Trim();
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetStateFromZip");
            }
            return(results);
        }
示例#13
0
 /// <summary>
 /// Gets the next claim number.
 /// </summary>
 /// <param name="ruleId">The rule identifier.</param>
 /// <param name="max">The maximum.</param>
 /// <returns></returns>
 public static int GetNextClaimNumber(string ruleId, string max)
 {
     try
     {
         var claimAssignment = new ClaimAssignment
         {
             ClaimNumberAssignmentRuleId = ruleId,
             Maximum = max
         };
         if (claimAssignment.Execute())
         {
             return(claimAssignment.ClaimNumber);
         }
     }
     catch (Exception ex)
     {
         GeneralUtility.DebugLog(ex.Message, "GetNextClaimNumber");
     }
     return(0);
 }
示例#14
0
        /// <summary>
        /// Gets the city from zip.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="zip">The zip.</param>
        /// <returns></returns>
        public static string GetCityFromZip(string instance, string zip)
        {
            var results = String.Empty;

            try
            {
                var location = new LocationCityFromZip(instance)
                {
                    ZipCode = zip
                };
                if (location.Execute())
                {
                    results = location.City;
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetCityFromZip");
            }
            return(results);
        }
示例#15
0
        /// <summary>
        /// Resets the response.
        /// </summary>
        /// <returns></returns>
        public bool ResetResponse()
        {
            var results = false;

            try
            {
                using (var conn = new OracleConnection(GeneralUtility.GetConnectStringFromInstance(_instance)))
                {
                    var command = new OracleCommand("DBCLASSLIBRARY.ResetClaimLogResponse", conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    var oracleParameter1 = new OracleParameter();
                    var oracleParameter2 = new OracleParameter();

                    oracleParameter1.OracleDbType  = OracleDbType.Varchar2;
                    oracleParameter1.ParameterName = "P_RQUID";
                    oracleParameter2.OracleDbType  = OracleDbType.Int32;
                    oracleParameter2.ParameterName = "P_RESULTS";

                    command.Parameters.Add(oracleParameter1);
                    command.Parameters.Add(oracleParameter2);

                    command.Parameters[0].Value     = _rquId;
                    command.Parameters[1].Direction = ParameterDirection.Output;

                    conn.Open();
                    command.ExecuteNonQuery();

                    results = 1 <= Convert.ToInt32(command.Parameters[1].Value);
                }
            }
            catch (Exception ex)
            {
                LastErrorMessage = ex.Message;
                GeneralUtility.DebugLog(LastErrorMessage, Name);
            }
            return(results);
        }
示例#16
0
        /// <summary>
        /// Gets the config setting.
        /// </summary>
        /// <param name="instance">The instance.</param>
        /// <param name="application">The application.</param>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        public static string GetConfigSetting(string instance, string application, string key)
        {
            var results = String.Empty;

            try
            {
                GeneralUtility.DebugLog(string.Format("Retrieving {0} for {1}", key, instance), "GetConfigSetting");
                var config = new ConfigSettings(instance)
                {
                    Application = application, Key = key
                };
                if (config.Execute())
                {
                    results = config.Value;
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetConfigSetting");
            }
            return(results);
        }
示例#17
0
        /// <summary>
        /// Executes this instance.
        /// </summary>
        /// <returns></returns>
        public bool Execute()
        {
            try
            {
                _records.Clear();
                if (_dbInstance.Length == 0)
                {
                    _dbInstance = ApplicationConfiguration.Instance.DefaultInstance;
                }

                GeneralUtility.DebugLog("Execute entered", _activeRecordType);
                var db = new OracleDatabase(GeneralUtility.GetConnectStringFromInstance(_dbInstance));

                GeneralUtility.DebugLog("Database created", _activeRecordType);
                return(ExecuteReader(db));
            }
            catch (Exception ex)
            {
                _lastErrorMessage = ex.Message;
                GeneralUtility.LogError(_lastErrorMessage, _activeRecordType);
            }
            return(false);
        }
示例#18
0
        /// <summary>
        /// Commits this instance.
        /// </summary>
        /// <returns></returns>
        public virtual bool Commit()
        {
            bool results;

            try
            {
                GeneralUtility.DebugLog("Transaction started", ToString());
                using (var oTranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
                {
                    if (DbInstance.Length == 0)
                    {
                        DbInstance = ApplicationConfiguration.Instance.DefaultInstance;
                    }
                    GeneralUtility.DebugLog("Execute entered", ToString());
                    var db = new Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase(GeneralUtility.GetConnectStringFromInstance(DbInstance));
                    GeneralUtility.DebugLog("Database created", ToString());

                    results = CommitInserted(db);
                    if (results)
                    {
                        if (CommitUpdated(db))
                        {
                            oTranScope.Complete();
                            GeneralUtility.DebugLog("Transaction complete ", ToString());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LastError = ex.Message;
                GeneralUtility.LogError(LastError, ToString());
                results = false;
            }
            ClearAll();
            return(results);
        }
示例#19
0
        /// <summary>
        /// Gets the zip from city state instance.
        /// </summary>
        /// <param name="city">The city.</param>
        /// <param name="state">The state.</param>
        /// <param name="instance">The instance.</param>
        /// <returns></returns>
        public static string GetZipFromCityStateInstance(string city, string state, string instance)
        {
            string results = String.Empty;

            try
            {
                if (city.Length > 0 && state.Length == 2)
                {
                    GetZipFromCityState location = new GetZipFromCityState(instance);
                    location.City  = city.ToUpper();
                    location.State = state.ToUpper();

                    if (location.Execute())
                    {
                        results = location.Zip;
                    }
                }
            }
            catch (Exception ex)
            {
                GeneralUtility.DebugLog(ex.Message, "GetZipFromCityStateInstance");
            }
            return(results);
        }
示例#20
0
        /// <summary>
        /// Execute stored procedure as defined by derived classes
        /// </summary>
        /// <returns>true if no errors</returns>
        /// <remarks>submits parameters and executes target procedure</remarks>
        /// <exception cref="FormatException"><c>FormatException</c>.</exception>
        public bool Execute()
        {
            try
            {
                GeneralUtility.DebugLog("Execute entered", _name);
                if (_databaseInstance.Length == 0)
                {
                    _databaseInstance = ApplicationConfiguration.Instance.DefaultInstance;
                }

                var db = new OracleDatabase(GeneralUtility.GetConnectStringFromInstance(_databaseInstance));
                GeneralUtility.DebugLog("Database created", _name);
                var cmd = (OracleCommand)db.GetStoredProcCommand(_name);
                if (_alParameters.Count > 0)
                {
                    for (var i = 0; i < _alParameters.Count; i++)
                    {
                        var paramList = (SpParameters)_alParameters[_alParamNames[i]];
                        if (paramList.Direction == ParameterDirection.Input)
                        {
                            if (string.IsNullOrEmpty(paramList.Value))
                            {
                                db.AddInParameter(cmd, paramList.Name, paramList.DataType);
                            }
                            else
                            {
                                try
                                {
                                    switch (paramList.DataType)
                                    {
                                    case DbType.Date:
                                        GeneralUtility.DebugLog("converting date " + paramList.Value, _name);
                                        var myDateParm = Convert.ToDateTime(paramList.Value);
                                        db.AddInParameter(cmd, paramList.Name, paramList.DataType, myDateParm);
                                        break;

                                    case DbType.Int32:
                                        var myInt32Parm = Convert.ToInt32(paramList.Value);
                                        db.AddInParameter(cmd, paramList.Name, paramList.DataType, myInt32Parm);
                                        break;

                                    case DbType.Double:
                                        var myDoubleParm = Convert.ToDouble(paramList.Value);
                                        db.AddInParameter(cmd, paramList.Name, paramList.DataType, myDoubleParm);
                                        break;

                                    case DbType.Byte:
                                        var val = Convert.ToByte(paramList.Value[0]);
                                        db.AddInParameter(cmd, paramList.Name, paramList.DataType, val);
                                        break;

                                    default:
                                        db.AddInParameter(cmd, paramList.Name, paramList.DataType, paramList.Value);
                                        break;
                                    }
                                }
                                catch (FormatException formatException)
                                {
                                    throw new FormatException(string.Format("{0}'s value \"{1}\" is not of type {2}.", paramList.Name, paramList.Value, paramList.DataType), formatException);
                                }
                            }
                        }
                        else
                        {
                            if (paramList.DataType == DbType.Object)
                            {
                                _hasCursor = true;
                                db.AddParameter(cmd, paramList.Name, OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);
                            }
                            else if (paramList.Direction == ParameterDirection.ReturnValue)
                            {
                                db.AddParameter(cmd, paramList.Name, paramList.DataType, 4000, ParameterDirection.ReturnValue, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);
                            }
                            else
                            {
                                db.AddOutParameter(cmd, paramList.Name, paramList.DataType, 4000);
                            }
                        }
                    }
                    if (_hasCursor == false)
                    {
                        GeneralUtility.DebugLog("ExecuteNonQuery -start", _name);
                        db.ExecuteNonQuery(cmd);
                        GeneralUtility.DebugLog("ExecuteNonQuery -finish", _name);

                        for (var i = 0; i < _alParameters.Count; i++)
                        {
                            var paramList = (SpParameters)_alParameters[_alParamNames[i]];
                            if (paramList.Direction != ParameterDirection.Input)
                            {
                                paramList.Value = db.GetParameterValue(cmd, paramList.Name).ToString();
                            }
                        }
                    }
                    else
                    {
                        if (_data != null)
                        {
                            _data.Dispose();
                            _data = null;
                            GeneralUtility.DebugLog("Dataset reset", _name);
                        }
                        GeneralUtility.DebugLog("ExecuteDataSet -start", _name);
                        _data = db.ExecuteDataSet(cmd);
                        GeneralUtility.DebugLog("ExecuteDataSet -finish", _name);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                _lastErrorMessage = ex.Message;
                GeneralUtility.DebugLog(_lastErrorMessage, _name);
                return(false);
            }
        }