//
        // 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 WebFactorFieldEnum GetFactorFieldEnum()
        {
            if (_factorFieldEnum.IsNull())
            {
                _factorFieldEnum = FactorManagerTest.GetOneFactorFieldEnum(GetContext());
            }
            return(_factorFieldEnum);
        }
        /// <summary>
        /// Convert a web factor field enumeration instance into
        /// a factor field enumeration instance.
        /// </summary>
        /// <param name="userContext">
        /// Information about the user that makes this method call.
        /// </param>
        /// <param name="webFactorFieldEnum">A web factor field enumeration instance.</param>
        /// <returns>A factor field enumeration instance.</returns>
        private IFactorFieldEnum GetFactorFieldEnum(IUserContext userContext,
                                                    WebFactorFieldEnum webFactorFieldEnum)
        {
            IFactorFieldEnum         factorFieldEnum;
            FactorFieldEnumValueList values;

            factorFieldEnum             = new FactorFieldEnum();
            factorFieldEnum.DataContext = GetDataContext(userContext);
            factorFieldEnum.Id          = webFactorFieldEnum.Id;
            values = new FactorFieldEnumValueList();
            foreach (WebFactorFieldEnumValue webFactorFieldEnumValue in webFactorFieldEnum.Values)
            {
                values.Add(GetFactorFieldEnumValue(userContext, factorFieldEnum, webFactorFieldEnumValue));
            }

            factorFieldEnum.Values = values;
            return(factorFieldEnum);
        }
Exemple #3
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);
        }
 /// <summary>
 /// Load data into the factor field enumeration instance.
 /// </summary>
 /// <param name="factorFieldEnum">The factor field enumeration instance.</param>
 /// <param name='dataReader'>An open data reader.</param>
 public static void LoadData(this WebFactorFieldEnum factorFieldEnum, DataReader dataReader)
 {
     factorFieldEnum.Id     = dataReader.GetInt32(FactorFieldEnumData.ID);
     factorFieldEnum.Values = new List <WebFactorFieldEnumValue>();
 }
 public WebFactorFieldEnumTest()
 {
     _factorFieldEnum = null;
 }