public WizardContext() { _support_fields = new ImportFieldCollection(); _conditions = new List <ImportCondition>(); _selected_fields = new List <string>(); _exts = new Dictionary <string, object>(); }
public ImportCondition(string name, string uniqueGroup, bool emptySkipValidate) { _fields = new ImportFieldCollection(); _name = name; _unique_group = uniqueGroup; _empty_skip_validate = emptySkipValidate; }
public static ImportFieldCollection CreateFieldsFromXml(XmlElement fieldData) { ImportFieldCollection fields = new ImportFieldCollection(); foreach (XmlElement each in fieldData.SelectNodes("Field")) { fields.AddField(new ImportField(each)); } return(fields); }
/// <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); }
public ImportFieldCollection GetByNameList(params string[] names) { ImportFieldCollection fields = new ImportFieldCollection(); foreach (string each in names) { if (Contains(each)) { fields.AddField(this[each]); } } return(fields); }
public ImportFieldCollection GetByUniqueGroup(string name) { ImportFieldCollection fields = new ImportFieldCollection(); foreach (ImportField each in this) { if (each.UniqueGroup == name) { fields.AddField(each); } } return(fields); }
public ImportFieldCollection GetByNamePrefix(string prefix) { ImportFieldCollection fields = new ImportFieldCollection(); foreach (ImportField each in this) { if (each.FieldName.StartsWith(prefix)) { fields.AddField(each); } } return(fields); }
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); }