Esempio n. 1
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 WebFactorDataType GetFactorDataType()
        {
            if (_factorDataType.IsNull())
            {
                _factorDataType = FactorManagerTest.GetOneFactorDataType(GetContext());
            }
            return(_factorDataType);
        }
 /// <summary>
 /// Load data into the WebFactorDataType instance.
 /// </summary>
 /// <param name="factorDataType">The factor data type instance.</param>
 /// <param name='dataReader'>An open data reader.</param>
 public static void LoadData(this WebFactorDataType factorDataType,
                             DataReader dataReader)
 {
     factorDataType.Definition = dataReader.GetString(FactorDataTypeData.DEFINITION);
     factorDataType.Fields     = new List <WebFactorField>();
     factorDataType.Id         = dataReader.GetInt32(FactorDataTypeData.ID);
     factorDataType.Name       = dataReader.GetString(FactorDataTypeData.NAME);
 }
        public static WebFactorField GetOneFactorFieldString(WebServiceContext context)
        {
            List <WebFactorDataType> factorDataTypes;
            WebFactorDataType        factorDataType = null;
            WebFactorField           factorField    = null;

            factorDataTypes = FactorManager.GetFactorDataTypes(context);
            foreach (WebFactorDataType tempFactorDataType in factorDataTypes)
            {
                if (tempFactorDataType.Id == 15)
                {
                    factorDataType = tempFactorDataType;
                }
            }
            foreach (WebFactorField tempFactorField in factorDataType.Fields)
            {
                if (tempFactorField.DatabaseFieldName == "text1")
                {
                    factorField = tempFactorField;
                }
            }
            return(factorField);
        }
        /// <summary>
        /// Convert a WebFactorDataType instance into
        /// an IFactorDataType instance.
        /// </summary>
        /// <param name="userContext">
        /// Information about the user that makes this method call.
        /// </param>
        /// <param name="webFactorDataType">A WebFactorDataType instance.</param>
        /// <param name="factorFieldEnumerations">List of factor field enumerations.</param>
        /// <returns>An IFactorDataType instance.</returns>
        private IFactorDataType GetFactorDataType(IUserContext userContext,
                                                  WebFactorDataType webFactorDataType,
                                                  FactorFieldEnumList factorFieldEnumerations)
        {
            IFactorDataType factorDataType = new FactorDataType
            {
                DataContext = GetDataContext(userContext),
                Definition  = webFactorDataType.Definition,
                Id          = webFactorDataType.Id,
                Name        = webFactorDataType.Name
            };

            FactorFieldList fields = new FactorFieldList();

            foreach (WebFactorField webFactorField in webFactorDataType.Fields)
            {
                fields.Add(GetFactorField(userContext, factorDataType, webFactorField, factorFieldEnumerations));
            }

            factorDataType.Fields = fields;

            int factorFieldMaxCount = CoreData.FactorManager.GetFactorFieldMaxCount();

            factorDataType.FieldArray = new IFactorField[factorFieldMaxCount];
            for (int i = 0; i < factorFieldMaxCount; i++)
            {
                factorDataType.FieldArray[i] = null;
            }

            foreach (IFactorField field in factorDataType.Fields)
            {
                factorDataType.FieldArray[field.Index] = field;
            }

            return(factorDataType);
        }
Esempio n. 5
0
        /// <summary>
        /// Get all factor data types.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <returns>Factor data types.</returns>
        public static List <WebFactorDataType> GetFactorDataTypes(WebServiceContext context)
        {
            Int32 factorDataTypeId;
            List <WebFactorDataType> factorDataTypes;
            String            cacheKey;
            WebFactorDataType factorDataType;
            WebFactorField    factorField;

            // Get cached information.
            factorDataTypes = null;
            cacheKey        = Settings.Default.FactorDataTypeCacheKey;
            if (!context.IsInTransaction())
            {
                factorDataTypes = (List <WebFactorDataType>)context.GetCachedObject(cacheKey);
            }

            if (factorDataTypes.IsNull())
            {
                // Get information from database.
                factorDataTypes = new List <WebFactorDataType>();
                using (DataReader dataReader = context.GetTaxonAttributeDatabase().GetFactorFields())
                {
                    while (dataReader.Read())
                    {
                        // Get factor data type.
                        factorDataType   = null;
                        factorDataTypeId = dataReader.GetInt32(FactorFieldData.FACTOR_DATA_TYPE_ID);
                        foreach (WebFactorDataType tempFactorDataType in factorDataTypes)
                        {
                            if (factorDataTypeId == tempFactorDataType.Id)
                            {
                                factorDataType = tempFactorDataType;
                            }
                        }

                        if (factorDataType.IsNull())
                        {
                            dataReader.ColumnNamePrefix = FactorDataTypeData.COLUMN_NAME_PREFIX;
                            factorDataType = new WebFactorDataType();
                            factorDataType.LoadData(dataReader);
                            factorDataTypes.Add(factorDataType);
                            dataReader.ColumnNamePrefix = null;
                        }

                        // Add field.
                        factorField = new WebFactorField();
                        factorField.LoadData(dataReader);

                        // ReSharper disable once PossibleNullReferenceException
                        factorDataType.Fields.Add(factorField);
                    }

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

            return(factorDataTypes);
        }
Esempio n. 6
0
 public WebFactorDataTypeTest()
 {
     _factorDataType = null;
 }