public ReadModelView(IDtoManager manager, IReadModelFacade readModel)
        {
            Argument.ExpectNotNull(() => manager);
            Argument.ExpectNotNull(() => readModel);

            _manager = manager;
            _readModel = readModel;
        }
 public static void RegisterEventHandlers(IEnumerable<Assembly> eventHndlrsAssemblies, Bus.Bus bus, IDtoManager manager)
 {
     RegisterHandlersInAssembly(eventHndlrsAssemblies, typeof(IEvent), bus, new[] { typeof(IDtoManager) }, new object[] { manager });
 }
        public ReadModelView(IDtoManager manager)
        {
            Argument.ExpectNotNull(() => manager);

            _manager = manager;
        }
        private static void RegisterEventHandlers(Bus.Bus bus, IReadModelFacade readModel, IDtoManager dtoManager)
        {
            var eventHandlersAssemblies = new[] { Assembly.Load(new AssemblyName("ECom.ReadModel")) };

            MessageHandlersRegister.RegisterEventHandlers(eventHandlersAssemblies, bus, dtoManager, readModel);

            var mailSender = new MailGunEmailSender(ConfigurationManager.AppSettings["MailGunApiKey"], ConfigurationManager.AppSettings["MailGunAppDomain"]);
            var mailBodyGenerator = new RazorMessageBodyGenerator();
            var emailService = new EmailService(mailSender, readModel, mailBodyGenerator);

            bus.RegisterHandler<OrderSubmited>(emailService.Handle);
        }
        private static void RegisterEventHandlers(Bus.Bus bus, IDtoManager dtoManager)
        {
            var eventHandlersAssemblies = new[] { Assembly.Load(new AssemblyName("ECom.ReadModel")) };
            MessageHandlersRegister.RegisterEventHandlers(eventHandlersAssemblies, bus, dtoManager);

            var mailSender = new MailGunEmailSender(ConfigurationManager.AppSettings["MailGunApiKey"], ConfigurationManager.AppSettings["MailGunAppDomain"]);
            var mailBodyGenerator = new RazorMessageBodyGenerator();
            var emailService = new EmailService(mailSender, new UserDetailsView(dtoManager), mailBodyGenerator);

            bus.RegisterHandler<OrderSubmited>(e => Task.Factory.StartNew(() => emailService.Handle(e)));
        }