Exemplo n.º 1
0
 public GetSpecs()
 {
     _fixture = new Fixture();
     _logger = Substitute.For<ILogger<ProjectsController>>();
     _readModelFacade = Substitute.For<IReadModelFacade>();
     _controller = new ProjectsController(_logger, _readModelFacade);
 }
Exemplo n.º 2
0
 public GetSpecs()
 {
     _fixture         = new Fixture();
     _readModelFacade = Substitute.For <IReadModelFacade>();
     _controller      = new ClientEnvironmentStatesController(_readModelFacade);
     _projectId       = _fixture.Create <Guid>();
 }
Exemplo n.º 3
0
 public GetDefinitionSpecs()
 {
     _fixture         = new Fixture();
     _readModelFacade = Substitute.For <IReadModelFacade>();
     _controller      = new TogglesController(_readModelFacade);
     _projectId       = _fixture.Create <Guid>();
 }
Exemplo n.º 4
0
 public ProjectController(
     IApplicationService service, 
     IReadModelFacade facade)
 {
     _service = service;
     _facade = facade;
 }
Exemplo n.º 5
0
        public CatalogServices(IReadModelFacade readModelFacade)
        {
            Contract.Requires <ArgumentNullException>(readModelFacade != null, "readModelFacade");
            Contract.Ensures(this.ReadModelFacade == readModelFacade, "readModelFacade");

            this.ReadModelFacade = readModelFacade;
        }
Exemplo n.º 6
0
        private static void ApplicationSetup()
        {
            // Autofac
            var builder = new ContainerBuilder();

            builder.RegisterModule(new AutofacModule());

            // ReadModel Persistence
            builder.RegisterType <InMemoryReadModelStorage>()
            .As <IReadModelFacade>()
            .As <IReadModelPersistence>()
            .SingleInstance();

            // Agggregate Command/Event Persistence
            builder.RegisterType <AggregateRepository>().As <IAggregateRepository>().SingleInstance();
            builder.RegisterType <InMemoryCommandRepository>().As <ICommandRepository>().SingleInstance();
            builder.RegisterType <InMemoryEventDescriptorStorage>().As <IEventDescriptorStorage>().SingleInstance();
            builder.RegisterType <EventStore>().As <IEventStore>().SingleInstance();

            // Command/Event Handling
            builder.RegisterType <CommandHandlerFactory>().As <ICommandHandlerFactory>().SingleInstance();
            builder.RegisterType <EventHandlerFactory>().As <IEventHandlerFactory>().SingleInstance();

            // MessageBus (shared)
            builder.RegisterType <MessageBus>()
            .As <ICommandSender>()
            .As <IEventPublisher>()
            .SingleInstance();

            _services = new AutofacServiceProvider(builder.Build());

            _commandBus = _services.GetRequiredService <ICommandSender>();
            _read       = _services.GetRequiredService <IReadModelFacade>();
        }
Exemplo n.º 7
0
        public ImageController(IReadModelFacade database)
        {
            Contract.Requires <ArgumentNullException>(database != null, "database");
            Contract.Ensures(this.Database != null, "database");
            Contract.Ensures(this.Database == database, "database");

            Database = database;
        }
Exemplo n.º 8
0
        public MainPageViewModel(IReadModelFacade readmodel)
        {
            _readmodel = readmodel;

            this.AddCommand = new RelayCommand(() => Messenger.Default.Send(_addPageUri, "NavigationRequest"));

            Messenger.Default.Register<object>(this, "RefreshInventoryItems", RefreshInventoryItems);
        }
        public HomeControllerWorkerServices(ICatalogServices catalogServices, IReadModelFacade readModelFacade)
        {
            Contract.Requires <ArgumentNullException>(catalogServices != null, "catalogServices");
            Contract.Requires <ArgumentNullException>(readModelFacade != null, "readModelFacade");

            this.CatalogServices = catalogServices;
            this.ReadModelFacade = readModelFacade;
        }
 public RetrospectivesController(IAggregateRepository agRepository,
                                 IReadModelFacade readModel,
                                 ICommandSender cmdSender)
 {
     _aggRepo   = agRepository;
     _read      = readModel;
     _cmdSender = cmdSender;
 }
Exemplo n.º 11
0
        public ReadModelView(IDtoManager manager, IReadModelFacade readModel)
        {
            Argument.ExpectNotNull(() => manager);
            Argument.ExpectNotNull(() => readModel);

            _manager = manager;
            _readModel = readModel;
        }
Exemplo n.º 12
0
        public MockController(IBusControl bus, IEventStore store, ILogger <TempSensorsController> logger)
        {
            _bus         = bus;
            this._store  = store;
            this._logger = logger;

            _readmodel = new ReadModelMock();
        }
Exemplo n.º 13
0
        public CheckInPageViewModel(IReadModelFacade readModel, ICommandSender commandSender)
        {
            _readModel = readModel;
            _commandSender = commandSender;

            this.SaveCommand = new RelayCommand(ExecuteSave);

            Messenger.Default.Register<Guid>(this, "RefreshPage", RefreshPage);
        }
Exemplo n.º 14
0
        public CatalogControllerWorkerServices(IReadModelFacade readModelFacade, ICatalogServices catalogServices)
        {
            Contract.Requires <ArgumentNullException>(catalogServices != null, "catalogServices");
            Contract.Requires <ArgumentNullException>(readModelFacade != null, "readModelFacade");
            Contract.Ensures(this.CatalogServices == catalogServices);
            Contract.Ensures(this.ReadModelFacade == readModelFacade);

            this.ReadModelFacade = readModelFacade;
            this.CatalogServices = catalogServices;
        }
Exemplo n.º 15
0
        public CatalogServices(IReadModelFacade database, Nsk.Domain.Services.ICatalogServices catalogServices)
        {
            Contract.Requires <ArgumentNullException>(catalogServices != null, "catalogServices");
            Contract.Requires <ArgumentNullException>(database != null, "database");
            Contract.Ensures(this.CatalogSvc == catalogServices);
            Contract.Ensures(this.Database == database);

            this.Database   = database;
            this.CatalogSvc = catalogServices;
        }
Exemplo n.º 16
0
        public CatalogController(IReadModelFacade database, ICatalogServices catalogServices)
        {
            Contract.Requires <ArgumentNullException>(database != null, "database");
            Contract.Requires <ArgumentNullException>(catalogServices != null, "catalogServices");
            Contract.Ensures(this.Database == database, "database");
            Contract.Ensures(this.CatalogServices == catalogServices, "catalogServices");

            Database        = database;
            CatalogServices = catalogServices;
        }
 public TransactionController(ILogger <TransactionController> logger,
                              IHttpContextAccessor httpContextAccessor,
                              ICommandSender commandSender,
                              IReadModelFacade readmodel)
 {
     _logger = logger;
     _httpContextAccessor = httpContextAccessor;
     _readmodel           = readmodel;
     _commandSender       = commandSender;
 }
        public TransactionController(ILogger<TransactionController> logger,
                                        IOptions<AppConfig> optionsAccessor,
                                        ICommandSender commandSender,
                                        IReadModelFacade readmodel)
        {
            _logger = logger;
            _optionsAccessor = optionsAccessor.Value;
            _readmodel = readmodel;
            _commandSender = commandSender;

            string conn = _optionsAccessor.MONGOLAB_URI;
        }
Exemplo n.º 19
0
 public PageController(IReadModelFacade readModelFacade, ILocalizator localizator)
 {
     _readModelFacade = readModelFacade;
     _localizator     = localizator;
     _localizator.SetCulture();
 }
Exemplo n.º 20
0
 public EnvironmentsController(IReadModelFacade readModelFacade)
 {
     _readModelFacade = readModelFacade;
 }
 public static void RegisterEventHandlers(IEnumerable<Assembly> eventHndlrsAssemblies, Bus.Bus bus, IDtoManager manager, IReadModelFacade readModel)
 {
     RegisterHandlersInAssembly(eventHndlrsAssemblies, typeof(IEvent), bus, new[] { typeof(IDtoManager), typeof(IReadModelFacade) }, new object[] { manager, readModel });
 }
Exemplo n.º 22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InventoryController" /> class.
 /// </summary>
 /// <param name="commandSender">The command sender.</param>
 /// <param name="readModelFacade">The read model facade.</param>
 public InventoryController(ICommandSender commandSender, IReadModelFacade readModelFacade)
 {
     _commandSender   = commandSender;
     _readModelFacade = readModelFacade;
 }
Exemplo n.º 23
0
 public HomeController(ICommandSender commandSender, IReadModelFacade readmodel)
 {
     _readmodel = readmodel;
     _commandSender = commandSender;
 }
Exemplo n.º 24
0
 public HomeController(ILogger <HomeController> logger)
 {
     _logger    = logger;
     _bus       = ServiceLocator.Bus;
     _readmodel = new ReadModelFacade();
 }
 public GameEventHandler(IReadModelFacade read, IReadModelPersistence save)
 {
     _read = read;
     _save = save;
 }
Exemplo n.º 26
0
 public HomeController()
 {
     _bus       = ServiceLocator.Bus;
     _readmodel = new MemoryReadModelFacade();
 }
Exemplo n.º 27
0
 public ShoppingCartController(ICommandSender commandSender,IReadModelFacade readModel)
 {
     _commandSender = commandSender;
     _readModel = readModel;
 }
Exemplo n.º 28
0
 public TogglesController(IReadModelFacade readModelFacade)
 {
     _readModelFacade = readModelFacade;
 }
Exemplo n.º 29
0
 public ProjectsController(ILogger <ProjectsController> logger, IReadModelFacade readModelFacade)
     : base(logger)
 {
     _readModelFacade = readModelFacade;
 }
Exemplo n.º 30
0
        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);
        }
Exemplo n.º 31
0
 public HomeController()
 {
     _bus = ServiceLocator.Bus;
     _readmodel = ServiceLocator.ReadModel;
 }
Exemplo n.º 32
0
 public InventoryController(ICommandSender bus, IReadModelFacade readModel)
 {
     _bus = bus;
     _readModel = readModel;
 }
Exemplo n.º 33
0
 public HomeController()
 {
     _bus = ServiceLocator.Bus;
     _readmodel = new MemoryReadModelFacade();
 }
Exemplo n.º 34
0
 public HomeController(ICommandPublisher <ISingleSignOnToken> commandSender, IReadModelFacade readmodel)
 {
     _readmodel     = readmodel;
     _commandSender = commandSender;
 }
Exemplo n.º 35
0
 public HomeController(ICommandSender bus, IReadModelFacade readModel)
 {
     _bus = bus;
     _readModel = readModel;
 }
 public HomeController(ILogger <HomeController> logger, IReadModelFacade readmodel)
 {
     _logger    = logger;
     _readmodel = readmodel;
     _bus       = ServiceLocator.Bus;
 }
 public GetInventoryItemsQueryHandler(IReadModelFacade readModelFacade)
 {
     _readModelFacade = readModelFacade;
 }
Exemplo n.º 38
0
 public InventoryController(ICommandSender bus, IReadModelFacade readModel)
 {
     _bus       = bus;
     _readModel = readModel;
 }
Exemplo n.º 39
0
 public HomeController(ICommandSender commandSender, IReadModelFacade readmodel)
 {
     _readmodel     = readmodel;
     _commandSender = commandSender;
 }
Exemplo n.º 40
0
 public InventoryForm()
 {
     readmodel  = ServiceLocator.GetInstance <IReadModelFacade>();
     commandBus = ServiceLocator.GetInstance <ICommandBus>();
     InitializeComponent();
 }
 public RetrospectivesEventHandler(IReadModelFacade read, IReadModelPersistence save)
 {
     _read = read;
     _save = save;
 }
 public GamesController(ICommandSender bus, IReadModelFacade read, IAggregateRepository aggRepo)
 {
     _bus     = bus;
     _read    = read;
     _aggRepo = aggRepo;
 }
Exemplo n.º 43
0
 public HomeController(ICommandSender bus, IReadModelFacade readModel)
 {
     _bus       = bus;
     _readModel = readModel;
 }
        //private readonly IDispatchCommandsAndWaitForResponse m_commandDispatcher;

        public ElectionModule(IReadModelFacade readModel) 
            : base("/elections")
        {
            //initialize stuff
            //m_commandDispatcher = commandDispatcher;
            var bus = ServiceBusFactory.New(configurator =>
            {
                configurator.UseRabbitMq();
                configurator.ReceiveFrom("rabbitmq://localhost/command_request_queue");
            });

            //define routes
            Get["/"] = parameters =>
                                    {
                                        //get non-terminated elections for this participant from our read model
                                        //note: we can filter (only get un-terminated elections) on the read model side so that we do not send back
                                        //a load of election records that we discard here
                                        var elections = readModel.GetElectionsForParticipant(Participantid)
                                            .Where(election => election.IsTerminated == false)
                                            .ToList();

                                        var electionsModel = new ElectionsModel
                                                                 {
                                                                     Elections = elections,
                                                                     ShowElectionDetail = false,
                                                                     SelectedElection = null,
                                                                 };

                                        return View["Elections", electionsModel];
                                    };

            Get["/{electionid}"] = parameters =>
                                       {

                                           var elections = readModel.GetElectionsForParticipant(Participantid)
                                               .Where(election => election.IsTerminated == false)
                                               .ToList();
                                           var selectedElection =
                                               elections.FirstOrDefault(election => election.Id == parameters.electionid);

                                           var electionsModel = new ElectionsModel
                                           {
                                               Elections = elections,
                                               ShowElectionDetail = selectedElection != null,
                                               SelectedElection = selectedElection,
                                           };

                                           return View["Elections", electionsModel];
                                       };

            Get["/newelection"] = paramerters => View["NewElection"];

            Post["/newelection"] = parameters =>
                            {
                                MakeAnElection command = this.Bind();
                                command.PlanYearBenefitId = Guid.NewGuid().ToString();
                                command.Id = Guid.NewGuid().ToString();
                                bool commandFailed = false;
                                var model = new ErrorModel { LinkAddress = "/elections/newelection" };
                                bus.PublishRequest(command,
                                                   configurator =>
                                                       {
                                                           configurator.Handle<CommandResponse>(
                                                               cmdResponse =>
                                                                   {
                                                                       if (cmdResponse.CommandStatus !=
                                                                           CommandStatusEnum.Succeeded)
                                                                       {
                                                                           model.HasError = true;
                                                                           model.ErrorMessage = cmdResponse.Message;
                                                                           commandFailed = true;
                                                                       }
                                                                   });
                                                           configurator.HandleTimeout(TimeSpan.FromSeconds(30),
                                                                () =>
                                                                    {
                                                                        model.HasError = true;
                                                                        model.ErrorMessage = "Your request timed out.";
                                                                        commandFailed = true;
                                                                    });
                                                       });

                                //m_commandDispatcher.Dispatch(command,
                                //                             cmdResponse =>
                                //                                 {
                                //                                     if (cmdResponse.CommandStatus !=
                                //                                         CommandStatusEnum.Succeeded)
                                //                                     {
                                //                                         model.HasError = true;
                                //                                         model.ErrorMessage = cmdResponse.Message;
                                //                                         commandFailed = true;
                                //                                     }
                                //                                 },
                                //                             () =>
                                //                                 {
                                //                                     model.HasError = true;
                                //                                     model.ErrorMessage = "Your request timed out.";
                                //                                     commandFailed = true;
                                //                                 });

                                
                                if (commandFailed)
                                    return View["/errorview", model];

                                return Response.AsRedirect("/elections"); //why cant i just return a View here? Why redirect?
                            };

            Get["/terminate/{electionid}"] = parameters =>
                                                 {
                                                     var terminateCommand = new TerminateElection
                                                                                {
                                                                                    ElectionId = parameters.electionid,
                                                                                    TerminationDate = DateTime.Now,
                                                                                };
                                                     bool commandFailed = false;
                                                     var model = new ErrorModel{LinkAddress = "/elections"};

                                                     bus.PublishRequest(terminateCommand,
                                                        configurator =>
                                                            {
                                                                configurator.Handle<CommandResponse>(
                                                                    cmdResponse =>
                                                                        {
                                                                            if (cmdResponse.CommandStatus != CommandStatusEnum.Succeeded)
                                                                            {
                                                                                model.HasError = true;
                                                                                model.ErrorMessage = cmdResponse.Message;
                                                                                commandFailed = true;
                                                                            }
                                                                        });
                                                                configurator.HandleTimeout(
                                                                    TimeSpan.FromSeconds(30),
                                                                    () =>
                                                                        {
                                                                            model.HasError = true;
                                                                            model.ErrorMessage = "Your request timed out.";
                                                                            commandFailed = true;
                                                                        });
                                                            });

                                                     //m_commandDispatcher.Dispatch(terminateCommand, 
                                                     //    response =>
                                                     //        {
                                                     //            if (response.CommandStatus != CommandStatusEnum.Succeeded)
                                                     //            {
                                                     //                model.HasError = true;
                                                     //                model.ErrorMessage = response.Message;
                                                     //                commandFailed = true;
                                                     //            }
                                                     //        }, 
                                                     //    () =>
                                                     //        {
                                                     //            model.HasError = true;
                                                     //            model.ErrorMessage = "Your request timed out.";
                                                     //            commandFailed = true;
                                                     //        });

                                                     //return Response.AsRedirect("/elections");
                                                     
                                                     if (commandFailed)
                                                         return View["/errorview", model];

                                                     return Response.AsRedirect("/elections"); //why cant i just return a View here? Why redirect?
                                                 };
        }