Esempio n. 1
0
        /// <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);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="OrganisationManager"/> class.
 /// </summary>
 /// <param name="dataAccess">Provides access to the data layer.</param>
 /// <param name="workbenchGateway">Provides access to the workbench layer.</param>
 public OrganisationManager(IDataAccess dataAccess, IWorkbenchServiceGateway workbenchGateway)
     : base(dataAccess)
 {
     this.workbenchGateway = workbenchGateway;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="WrappedWorkbenchServiceGateway"/> class.
 /// </summary>
 /// <param name="wrappedGateway">The wrapped gateway instance.</param>
 protected WrappedWorkbenchServiceGateway(IWorkbenchServiceGateway wrappedGateway)
 {
     this.WrappedGateway = wrappedGateway;
 }