Esempio n. 1
0
 public WizardContext()
 {
     _support_fields  = new ImportFieldCollection();
     _conditions      = new List <ImportCondition>();
     _selected_fields = new List <string>();
     _exts            = new Dictionary <string, object>();
 }
Esempio n. 2
0
 public ImportCondition(string name, string uniqueGroup, bool emptySkipValidate)
 {
     _fields              = new ImportFieldCollection();
     _name                = name;
     _unique_group        = uniqueGroup;
     _empty_skip_validate = emptySkipValidate;
 }
Esempio n. 3
0
        public static ImportFieldCollection CreateFieldsFromXml(XmlElement fieldData)
        {
            ImportFieldCollection fields = new ImportFieldCollection();

            foreach (XmlElement each in fieldData.SelectNodes("Field"))
            {
                fields.AddField(new ImportField(each));
            }

            return(fields);
        }
Esempio n. 4
0
        /// <summary>
        /// 回傳與特定欄位的交集。
        /// </summary>
        /// <param name="fields"></param>
        /// <returns></returns>
        public ImportFieldCollection Intersect(IEnumerable <string> fields)
        {
            ImportFieldCollection objFields = new ImportFieldCollection();

            foreach (string each in fields)
            {
                if (Contains(each))
                {
                    objFields.AddField(this[each]);
                }
            }
            return(objFields);
        }
Esempio n. 5
0
        public ImportFieldCollection GetByNameList(params string[] names)
        {
            ImportFieldCollection fields = new ImportFieldCollection();

            foreach (string each in names)
            {
                if (Contains(each))
                {
                    fields.AddField(this[each]);
                }
            }

            return(fields);
        }
Esempio n. 6
0
        public ImportFieldCollection GetByUniqueGroup(string name)
        {
            ImportFieldCollection fields = new ImportFieldCollection();

            foreach (ImportField each in this)
            {
                if (each.UniqueGroup == name)
                {
                    fields.AddField(each);
                }
            }

            return(fields);
        }
Esempio n. 7
0
        public ImportFieldCollection GetByNamePrefix(string prefix)
        {
            ImportFieldCollection fields = new ImportFieldCollection();

            foreach (ImportField each in this)
            {
                if (each.FieldName.StartsWith(prefix))
                {
                    fields.AddField(each);
                }
            }

            return(fields);
        }
Esempio n. 8
0
        public static List <ImportCondition> CreateConditionFromXml(XmlElement fieldData, ImportFieldCollection supportFields)
        {
            List <ImportCondition> conditions = new List <ImportCondition>();

            foreach (XmlElement each in fieldData.SelectNodes("UpdateCondition/Condition"))
            {
                string name        = each.GetAttribute("Name");
                string uniqueGroup = each.GetAttribute("UniqueGroup");
                bool   emptySkip;

                if (!bool.TryParse(each.GetAttribute("EmptySkipValidate"), out emptySkip))
                {
                    emptySkip = false;
                }

                ImportCondition condition = new ImportCondition(name, uniqueGroup, emptySkip);
                condition._fields = supportFields.GetByUniqueGroup(uniqueGroup);
                conditions.Add(condition);
            }

            return(conditions);
        }