예제 #1
0
        /*==================================================================================================================================
        * Private Methods
        *=================================================================================================================================*/
        private questStatus initialize()
        {
            // Initialize
            questStatus status = null;

            try
            {
                _dbTypeListsMgr = new DbTypeListsMgr(this.UserSession);
            }
            catch (System.Exception ex)
            {
                status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}",
                                                                       this.GetType().ToString(), MethodInfo.GetCurrentMethod().Name, ex.Message));
                throw new System.Exception(status.Message, ex);
            }
            return(new questStatus(Severity.Success));
        }
예제 #2
0
        /*==================================================================================================================================
        * Properties
        *=================================================================================================================================*/
        #endregion


        #region Public Methods

        /*==================================================================================================================================
        * Public Methods
        *=================================================================================================================================*/
        public questStatus GetTypeListOptions(TypeListId typeListId, List <TypeListArgument> typeListArgumentList, out List <OptionValuePair> typeListOptionList)
        {
            // Initialize
            questStatus status = null;

            typeListOptionList = null;


            // Get the typeList.
            TypeList       typeList       = null;
            DbTypeListsMgr dbTypeListsMgr = new DbTypeListsMgr(this.UserSession);

            status = dbTypeListsMgr.Read(typeListId, out typeList);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Get the database.
            DatabaseId databaseId = new DatabaseId(typeList.DatabaseId);

            Quest.Functional.MasterPricing.Database database = null;
            DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this.UserSession);

            status = dbDatabasesMgr.Read(databaseId, out database);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            // Apply typeList arguments.
            if (typeListArgumentList == null)
            {
                typeListArgumentList = new List <TypeListArgument>();
            }
            string sql = typeList.SQL;

            foreach (TypeListArgument typeListArgument in typeListArgumentList)
            {
                sql = sql.Replace(typeListArgument.Name, typeListArgument.Value);
            }

            try
            {
                using (SqlConnection conn = new SqlConnection(database.ConnectionString))
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand(null, conn))
                    {
                        cmd.CommandType = CommandType.Text;
                        cmd.CommandText = sql;
                        using (SqlDataReader rdr = cmd.ExecuteReader())
                        {
                            typeListOptionList = new List <OptionValuePair>();
                            while (rdr.Read())
                            {
                                OptionValuePair optionValuePair = new OptionValuePair();
                                optionValuePair.Id    = rdr[0].ToString();
                                optionValuePair.Label = rdr[0].ToString();
                                typeListOptionList.Add(optionValuePair);
                            }
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}",
                                                                       this.GetType().ToString(), MethodInfo.GetCurrentMethod().Name, ex.Message));
                return(status);
            }
            return(new questStatus(Severity.Success));
        }