/// <summary>
        /// Convert a web factor field enumeration into
        /// an factor field enumeration instance.
        /// </summary>
        /// <param name="userContext">
        /// Information about the user that makes this method call.
        /// </param>
        /// <param name="factorFieldEnum">The enumeration value belongs to this enumeration.</param>
        /// <param name="webFactorFieldEnumValue">A web factor field enumeration instance.</param>
        /// <returns>A factor field enumeration instance.</returns>
        private IFactorFieldEnumValue GetFactorFieldEnumValue(IUserContext userContext,
                                                              IFactorFieldEnum factorFieldEnum,
                                                              WebFactorFieldEnumValue webFactorFieldEnumValue)
        {
            IFactorFieldEnumValue factorFieldEnumValue;

            factorFieldEnumValue             = new FactorFieldEnumValue();
            factorFieldEnumValue.DataContext = GetDataContext(userContext);
            factorFieldEnumValue.Enum        = factorFieldEnum;
            factorFieldEnumValue.Id          = webFactorFieldEnumValue.Id;
            factorFieldEnumValue.Information = webFactorFieldEnumValue.Information;
            if (webFactorFieldEnumValue.IsKeyIntegerSpecified)
            {
                factorFieldEnumValue.KeyInt = webFactorFieldEnumValue.KeyInteger;
            }

            factorFieldEnumValue.KeyText = webFactorFieldEnumValue.KeyText;
            factorFieldEnumValue.Label   = (webFactorFieldEnumValue.IsKeyIntegerSpecified
                                              ? "[" + webFactorFieldEnumValue.KeyInteger + "] "
                                              : "[" + webFactorFieldEnumValue.KeyText + "] ")
                                           + webFactorFieldEnumValue.Label;
            factorFieldEnumValue.OriginalLabel = webFactorFieldEnumValue.Label;
            factorFieldEnumValue.ShouldBeSaved = webFactorFieldEnumValue.ShouldBeSaved;
            factorFieldEnumValue.SortOrder     = webFactorFieldEnumValue.SortOrder;
            return(factorFieldEnumValue);
        }
示例#2
0
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        public WebFactorFieldEnumValue GetFactorFieldEnumValue()
        {
            if (_factorFieldEnumValue.IsNull())
            {
                _factorFieldEnumValue = FactorManagerTest.GetOneFactorFieldEnumValue(GetContext());
            }
            return(_factorFieldEnumValue);
        }
 /// <summary>
 /// Load data into the WebFactorFieldType instance.
 /// </summary>
 /// <param name="factorFieldEnumValue">The factor field enumeration value instance.</param>
 /// <param name='dataReader'>An open data reader.</param>
 public static void LoadData(this WebFactorFieldEnumValue factorFieldEnumValue, DataReader dataReader)
 {
     factorFieldEnumValue.EnumId = dataReader.GetInt32(FactorFieldEnumValueData.FACTOR_FIELD_ENUM_ID);
     factorFieldEnumValue.Id     = dataReader.GetInt32(FactorFieldEnumValueData.ID);
     factorFieldEnumValue.IsKeyIntegerSpecified = dataReader.IsNotDbNull(FactorFieldEnumValueData.KEY_INT);
     factorFieldEnumValue.KeyText       = dataReader.GetString(FactorFieldEnumValueData.KEY_TEXT);
     factorFieldEnumValue.KeyInteger    = factorFieldEnumValue.IsKeyIntegerSpecified ? dataReader.GetInt32(FactorFieldEnumValueData.KEY_INT) : -999;
     factorFieldEnumValue.Information   = dataReader.GetString(FactorFieldEnumValueData.INFORMATION);
     factorFieldEnumValue.Label         = dataReader.GetString(FactorFieldEnumValueData.LABEL);
     factorFieldEnumValue.ShouldBeSaved = dataReader.GetBoolean(FactorFieldEnumValueData.SHOULD_BE_SAVED);
     factorFieldEnumValue.SortOrder     = dataReader.GetInt32(FactorFieldEnumValueData.SORT_ORDER);
 }
示例#4
0
        /// <summary>
        /// Get all factor field enumerations.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <returns>Factor field enumerations.</returns>
        public static List <WebFactorFieldEnum> GetFactorFieldEnums(WebServiceContext context)
        {
            Int32 factorFieldEnumId;
            List <WebFactorFieldEnum> factorFieldEnums;
            String                  cacheKey;
            WebFactorFieldEnum      factorFieldEnum;
            WebFactorFieldEnumValue factorFieldEnumValue;

            // Get cached information.
            factorFieldEnums = null;
            cacheKey         = Settings.Default.FactorFieldEnumCacheKey;
            if (!context.IsInTransaction())
            {
                factorFieldEnums = (List <WebFactorFieldEnum>)context.GetCachedObject(cacheKey);
            }

            if (factorFieldEnums.IsNull())
            {
                // Get information from database.
                factorFieldEnums = new List <WebFactorFieldEnum>();
                using (DataReader dataReader = context.GetTaxonAttributeDatabase().GetFactorFieldEnums())
                {
                    while (dataReader.Read())
                    {
                        // Get factor field enum.
                        factorFieldEnum   = null;
                        factorFieldEnumId = dataReader.GetInt32(FactorFieldEnumValueData.FACTOR_FIELD_ENUM_ID);
                        foreach (WebFactorFieldEnum tempFactorFieldEnum in factorFieldEnums)
                        {
                            if (factorFieldEnumId == tempFactorFieldEnum.Id)
                            {
                                factorFieldEnum = tempFactorFieldEnum;
                            }
                        }

                        if (factorFieldEnum.IsNull())
                        {
                            dataReader.ColumnNamePrefix = FactorFieldEnumData.COLUMN_NAME_PREFIX;
                            factorFieldEnum             = new WebFactorFieldEnum();
                            factorFieldEnum.LoadData(dataReader);
                            factorFieldEnums.Add(factorFieldEnum);
                            dataReader.ColumnNamePrefix = null;
                        }

                        // Add enum value.
                        factorFieldEnumValue = new WebFactorFieldEnumValue();
                        factorFieldEnumValue.LoadData(dataReader);
                        // ReSharper disable once PossibleNullReferenceException
                        factorFieldEnum.Values.Add(factorFieldEnumValue);
                    }

                    if (!context.IsInTransaction())
                    {
                        // Add information to cache.
                        context.AddCachedObject(cacheKey, factorFieldEnums, DateTime.Now + new TimeSpan(12, 0, 0), CacheItemPriority.AboveNormal);
                    }
                }
            }

            return(factorFieldEnums);
        }
示例#5
0
 public WebFactorFieldEnumValueTest()
 {
     _factorFieldEnumValue = null;
 }