public void Register() { var workbook = new CategoryAttribute(WORKBOOK); ActivitiesAttributesBuilder.Build(Resources.ResourceManager, builder => { builder.SetDefaultCategories( Resources.Input_Category, Resources.Output_Category, Resources.InputOutput_Category, Resources.Options_Category); builder.Register <GetSheetName, GetSheetNameDesigner>(workbook) .Register <GetSheetNames, GetSheetNamesDesigner>(workbook) .Register <GetHyperlinks, GetHyperlinksDesigner>(workbook) .Register <InsertHyperlink, InsertHyperlinkDesigner>(workbook) .Register <RemoveHyperlinks, RemoveHyperlinksDesigner>(workbook) .Register <WorkbookScope, WorkbookScopeDesigner>(workbook); builder.RegisterToMember( new DescriptionAttribute(Resources.ScopeAwareCodeActivity_UseScope), nameof(ScopeAwareCodeActivity <object, object> .UseScope), typeof(ScopeAwareCodeActivity <,>).GetDerivedTypes()); }); }
public void Register() { var configuration = new CategoryAttribute(CONFIGURATION_CATEGORY); var adapters = new CategoryAttribute(CONFIGURATION_ADAPTERS_CATEGORY); ActivitiesAttributesBuilder.Build(Resources.ResourceManager, builder => { builder.SetDefaultCategories( Resources.Input_Category, Resources.Output_Category, Resources.InputOutput_Category, Resources.Options_Category); builder.Register <ReadConfigFile, ReadConfigFileDesigner>(configuration); builder.Register <MergeConfig, MergeConfigDesigner>(configuration); builder.Register <DataTableToConfig, DataTableToConfigDesigner>(adapters); builder.Register <DictionaryToConfig, DictionaryToConfigDesigner>(adapters); }); }
public void Register() { var dataTable = new CategoryAttribute(DATA_CATEGORY); var workflow = new CategoryAttribute(WORKFLOW_CATEGORY); var file = new CategoryAttribute(FILE_CATEGORY); var fileCompression = new CategoryAttribute(FILE_COMPRESSION_CATEGORY); var programming = new CategoryAttribute(PROGRAMMING_CATEGORY); var security = new CategoryAttribute(SECURITY_CATEGORY); var securityAlgorithms = new CategoryAttribute(SECURITY_ALGORITHMS_CATEGORY); var diagnostics = new CategoryAttribute(DIAGNOSTICS_CATEGORY); ActivitiesAttributesBuilder.Build(Resources.ResourceManager, builder => { builder.SetDefaultCategories( Resources.Input_Category, Resources.Output_Category, Resources.InputOutput_Category, Resources.Options_Category); // DATA TABLE builder .Register <DataTableToText, DataTableToTextDesigner>(dataTable) .Register <TransposeData, TransposeDataDesigner>(dataTable) .Register <Aggregate, AggregateDesigner>(dataTable, m => { //m.Register(new CategoryAttribute(Resources.Output_Category), p => p.Detached); m.Register(new CategoryAttribute(Resources.Options_Category), p => p.Columns); }) .Register <DataRowToDictionary, DataRowToDictionaryDesigner>(dataTable) .Register <DictionaryToDataTable, DictionaryToDataTableDesigner>(dataTable) .Register <RemoveEmptyRows, RemoveEmptyRowsDesigner>(dataTable, m => { m.Register(new CategoryAttribute(Resources.RemoveEmptyRows_CustomOptions_Category), p => p.Columns, p => p.Operator); }) .Register <RemoveDataColumns, RemoveDataColumnsDesigner>(dataTable) .Register <RemoveDuplicateRows, RemoveDuplicateRowsDesigner>(dataTable, m => m.Register(p => p.Columns, new CategoryAttribute(Resources.Options_Category))) .Register <PromoteHeaders, PromoteHeadersDesigner>(dataTable, m => m.Register(p => p.EmptyColumnName, new CategoryAttribute(Resources.Options_Category))) .Register(typeof(ExtractDataColumnValues <>), typeof(ExtractDataColumnValuesDesigner), new Attribute[] { dataTable, new DefaultTypeArgumentAttribute(typeof(object)) }); // FILE builder .Register <CleanUpFolder, CleanUpFolderDesigner>(file, m => { m.Register(new CategoryAttribute(Resources.Options_Category), p => p.LastWriteTime, p => p.SearchPattern); }) .Register <EnumerateFiles, EnumerateFilesDesigner>(file, m => m.Register(new CategoryAttribute(Resources.Options_Category), p => p.SearchPattern)) .Register <WaitFile, WaitFileDesigner>(file) .Register <WaitDynamicFile, WaitDynamicFileDesigner>(file); // FILE COMPRESSION builder .Register <Zip, ZipDesigner>(fileCompression) .Register <ZipEntriesCount, ZipEntriesCountDesigner>(fileCompression) .Register <Unzip, UnzipDesigner>(fileCompression); // WORKFLOW builder .Register <CheckPoint, CheckPointDesigner>(workflow, m => m.Register(new EditorAttribute(typeof(ArgumentDictionaryPropertyEditor), typeof(DialogPropertyValueEditor)), p => p.Data)) .Register <Container, ContainerDesigner>(workflow) .Register <Exit, ExitDesigner>(workflow) .Register <Next, NextDesigner>(workflow) .Register <Iterate, IterateDesigner>(workflow, m => m.Register(new CategoryAttribute(Resources.Options_Category), p => p.Reverse)) .Register <WhenDo, WhenDoDesigner>(workflow); // PROGRAMMING builder .Register(typeof(AddRangeToCollection <>), typeof(AddRangeToCollectionDesigner), new Attribute[] { programming, new DefaultTypeArgumentAttribute(typeof(object)) }) .Register <CultureScope, CultureScopeDesigner>(programming) .Register <Decrement, DecrementDesigner>(programming) .Register <Increment, IncrementDesigner>(programming) .Register <IsTrue, IsTrueDesigner>(programming); // SECURITY builder .Register <TextEncryption, EncryptionDesigner>(security) .Register <DataTableEncryption, EncryptionDesigner>(security) .Register <AesAlgorithmEncryption, CryptoAlgorithmDesigner>(securityAlgorithms) .Register <DESAlgorithmEncryption, CryptoAlgorithmDesigner>(securityAlgorithms) .Register <RC2AlgorithmEncryption, CryptoAlgorithmDesigner>(securityAlgorithms) .Register <RijndaelAlgorithmEncryption, CryptoAlgorithmDesigner>(securityAlgorithms) .Register <TripleDESAlgorithmEncryption, CryptoAlgorithmDesigner>(securityAlgorithms); var encryptionTypes = typeof(SymmetricAlgorithmEncryptionBase <>).GetDerivedTypes().ToArray(); builder .RegisterToMember(new DescriptionAttribute(Resources.SymmetricAlgorithmEncryptionBase_Iterations_Description), "Iterations", encryptionTypes) .RegisterToMember(new BrowsableAttribute(false), "Result", encryptionTypes); #if NET5_0 builder .Register <AesGcmAlgorithmEncryption, CryptoAlgorithmDesigner>(securityAlgorithms, m => { m.Register <SymmetricAlgorithmEncryptionBase <AesGcmEncryption> >(new DescriptionAttribute(Resources.SymmetricAlgorithmEncryptionBase_Iterations_Description), p => p.Iterations); m.Register <SymmetricAlgorithmEncryptionBase <AesGcmEncryption> >(new BrowsableAttribute(false), p => p.Result); }); #endif // DIAGNOSTICS builder .Register <Stopwatch, StopwatchDesigner>(diagnostics); }); }