コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SystemWorkflowManager" /> class.
 /// </summary>
 /// <param name="workflowService">Gateway into the workflow subsystem.</param>
 /// <param name="formServiceGateway">Gateway into the forms subsystem.</param>
 /// <param name="dataAccess">The data access.</param>
 public SystemWorkflowManager(IWorkflowService workflowService, IFormServiceGateway formServiceGateway, IDataAccess dataAccess)
 {
     this.workflowService = workflowService;
     this.formServiceGateway = formServiceGateway;
     this.dataAccess = dataAccess;
     this.productCache = new Dictionary<string, ProductVersionList>();
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: cgavieta/WORKPAC2016-poc
        /// <summary>
        /// Sets up the dependencies.
        /// </summary>
        private static void SetupDependencies()
        {
            IConfigurationSource config = ConfigurationSourceFactory.Create();
            Logger.SetLogWriter(new LogWriterFactory(config).Create());
            ExceptionPolicy.SetExceptionManager(new ExceptionPolicyFactory(config).CreateManager());

            JsonConvert.DefaultSettings = () => new JsonSerializerSettings
            {
                Formatting = Formatting.None,
                Converters = new JsonConverter[] { new JsonKnownTypeConverter() }
            };

            try
            {
                var container = new UnityContainer().LoadConfiguration();
                container.AddNewExtension<SecurityDependencyContainer>();
                container.AddNewExtension<WorflowDependencyContainer>();

                var configuration = container.Resolve<EventHandlerConfiguration>();
                dataAccess = container.Resolve<IDataAccess>();
                formServiceGateway = container.Resolve<IFormServiceGateway>();
                workbenchServiceGateway = container.Resolve<IWorkbenchServiceGateway>();
                var securityServiceGateway = container.Resolve<ISecurityService>();
                entitlementProvider = container.Resolve<IApplicationEntitlementProvider>();
                workflowService = container.Resolve<IWorkflowService>();
                evaluatorFactory = new TruthConditionEvaluatorFactory();

                session = securityServiceGateway.CreateSession(configuration.EventHandlerServiceUser, configuration.EventHandlerServicePassword);
                SystemSettings settings = workbenchServiceGateway.GetSystemSettings(session.Token);
                container.RegisterInstance(settings);
                events = dataAccess.GetNewEvents();
                container.RegisterInstance(workbenchServiceGateway.GetRoleList(session.Token));
                container.RegisterInstance<Func<UserSearchCriteria, UserList>>(usc => workbenchServiceGateway.GetUserList(session.Token, usc));
                container.RegisterInstance(workbenchServiceGateway.GetServiceEndpointList(session.Token, true));

                responseHandlers = container.ResolveAll<IEventActionResponseHandler>();
            }
            catch (Exception e)
            {
                bool rethrow = ExceptionPolicy.HandleException(e, "Default");
                if (rethrow)
                {
                    throw;
                }

                Console.WriteLine(ExceptionMessages.Generic);
                Environment.Exit(1);
            }
        }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ApiManager" /> class.
 /// </summary>
 /// <param name="securityService">A gateway into the Security subsystem.</param>
 /// <param name="formGateway">A gateway into the Forms subsystem.</param>
 /// <param name="workbenchManager">An instance that manages Workbench operations.</param>
 /// <param name="migrationDataImporter">A data importer.</param>
 /// <param name="migrationDataValidator">An import data validator.</param>
 /// <param name="apiDataAccess">The API data access layer.</param>
 /// <param name="pdfWriterSettings">A PDF writer settings object.</param>
 /// <param name="pdfFilenameFormat">The PDF filename format.</param>
 /// <param name="stringFormatter">A string formatter.</param>
 public ApiManager(
     ISecurityService securityService,
     IFormServiceGateway formGateway,
     WorkbenchManager workbenchManager,
     MigrationDataImporter migrationDataImporter,
     MigrationDataValidator migrationDataValidator,
     IDataAccess apiDataAccess,
     PdfWriterSettings pdfWriterSettings,
     string pdfFilenameFormat,
     StringFormatter stringFormatter)
 {
     this.securityService = securityService;
     this.formGateway = formGateway;
     this.workbenchManager = workbenchManager;
     this.migrationDataImporter = migrationDataImporter;
     this.migrationDataValidator = migrationDataValidator;
     this.apiDataAccess = apiDataAccess;
     this.pdfWriterSettings = pdfWriterSettings;
     this.pdfFilenameFormat = pdfFilenameFormat;
     this.stringFormatter = stringFormatter;
 }