private void ReportDomainElementFields(Tab tab, Model model, IProgressMessage progress, IProgressIndicator hmProgress) { DomainElementTypeCollection types = model.DomainDataSet.DomainDataSetType().DomainElementTypes(); FieldTypeReporter reporter; string message = "Working with the domain elements..."; hmProgress.AddTask(message).Steps = types.Count; hmProgress.IncrementTask(); hmProgress.BeginTask(types.Count); foreach (IDomainElementType itemType in types) { hmProgress.IncrementStep(); reporter = new FieldTypeReporter(itemType.Name, itemType.Label, "domainElementType", itemType.Id, "", itemType.ParentID.ToString()); tab.Chidren.Add(reporter.ToJson()); progress.Message = reporter.ToString(); foreach (IFieldType fieldType in itemType.FieldTypes()) { ReportCollecionFieldTypes(progress, tab, fieldType); } } hmProgress.EndTask(); }
public List <Tab> GenerateByUI(Model model, IProgressMessage progress, IProgressIndicator hmProgress, bool showResultFields) { List <Tab> tabs = new List <Tab>(); try { DomainElementTypeCollection items = model.DomainDataSet.DomainDataSetType().DomainElementTypes(false); foreach (IDomainElementType domainElementType in items) { string name = domainElementType.ToString(); progress.Message = $"\n\n------------------------------------\nDomain element type: {name.ToUpper()}...\n\n"; Tab tab = new Tab("Element-" + model.DomainDataSet.DomainDataSetType().DomainElementType(domainElementType.Id).Label); tabs.Add(tab); FieldCollection fields = model.DomainDataSet.DomainElementManager(domainElementType.Id).SupportedFields(); if (showResultFields) { fields.AddRange(model.DomainDataSet.DomainElementManager(domainElementType.Id).SupportedResultFields()); } FieldTypeReporter reporter; string message = $"Working with the {name}..."; hmProgress.AddTask(message).Steps = fields.Count; hmProgress.IncrementTask(); hmProgress.BeginTask(fields.Count); foreach (IField field in fields) { hmProgress.IncrementStep(); reporter = new FieldTypeReporter(field); tab.Chidren.Add(reporter.ToJson()); progress.Message = reporter.ToString(); } hmProgress.EndTask(); } foreach (IdahoSupportElementTypes supportElementType in Enum.GetValues(typeof(IdahoSupportElementTypes))) { string name = supportElementType.ToString(); progress.Message = $"\n\n------------------------------------\nSupport element type: {name.ToUpper()}...\n\n"; Tab tab = new Tab("Support-" + model.DomainDataSet.DomainDataSetType().SupportElementType((int)supportElementType).Label); tabs.Add(tab); FieldCollection fields = model.DomainDataSet.SupportElementManager((int)supportElementType).SupportedFields(); FieldTypeReporter reporter; string message = $"Working with the {name}..."; hmProgress.AddTask(message).Steps = fields.Count; hmProgress.IncrementTask(); hmProgress.BeginTask(fields.Count); foreach (IField field in fields) { hmProgress.IncrementStep(); reporter = new FieldTypeReporter(field); tab.Chidren.Add(reporter.ToJson()); progress.Message = reporter.ToString(); } hmProgress.EndTask(); } /*foreach (IdahoAlternativeTypes alternativeType in Enum.GetValues(typeof(IdahoAlternativeTypes))) * { * * try * { * Tab tab = new Tab("Alternative-" + model.DomainDataSet.DomainDataSetType().AlternativeType((int)alternativeType).Label); * FieldCollection fields = model.DomainDataSet.AlternativeManager((int)alternativeType).SupportedFields(); * * string name = alternativeType.ToString(); * progress.Message = $"\n\n------------------------------------\nAlternative type: {name.ToUpper()}...\n\n"; * * tabs.Add(tab); * FieldTypeReporter reporter; * * string message = $"Working with the {name}..."; * hmProgress.AddTask(message).Steps = fields.Count; * hmProgress.IncrementTask(); * hmProgress.BeginTask(fields.Count); * * foreach (IField field in fields) * { * hmProgress.IncrementStep(); * reporter = new FieldTypeReporter(field); * tab.Chidren.Add(reporter.ToJson()); * progress.Message = reporter.ToString(); * } * hmProgress.EndTask(); * } * catch{} * * }*/ } finally { hmProgress.Done(); } return(tabs); }