Пример #1
0
 public LkpLeadStatusRepository(IConnectionFactory connectionFactory,
                                LoggingCommandHandlerDecorator <LogCommand> loghandler)
 {
     _connectionFactory = connectionFactory;
     _logHandler        = loghandler ?? throw new ArgumentNullException(nameof(loghandler),
                                                                        "logging commandhandlerDecorator instance is null");
 }
Пример #2
0
        //private readonly HttpContextBase _httpContextBase;

        //private Guid UserGuid { get; set; }

        /// <summary>
        /// CustomerController constructor with dependencies (params) shown below
        /// </summary>
        /// <param name="CustomerService"></param>
        /// <param name="loggingInstance"></param>
        /// <param name="loghandler"></param>
        public CustomerController(ICustomerService CustomerService, ILog loggingInstance,
                                  LoggingCommandHandlerDecorator <LogCommand> loghandler)
        {
            _CustomerService = CustomerService;
            _loggingInstance = loggingInstance;
            _logHandler      = loghandler;
        }
Пример #3
0
        //private Guid UserGuid { get; set; }

        /// <summary>
        /// LeadController constructor with dependencies (params) shown below
        /// </summary>
        /// <param name="leadService"></param>
        /// <param name="loggingInstance"></param>
        /// <param name="loghandler"></param>
        public LeadController(ILeadService leadService, ILog loggingInstance,
                              LoggingCommandHandlerDecorator <LogCommand> loghandler)
        {
            _leadService     = leadService;
            _loggingInstance = loggingInstance;
            _logHandler      = loghandler;
        }
Пример #4
0
 /// <param name="SchedulingService"></param>
 /// <param name="loggingInstance"></param>
 /// <param name="loghandler"></param>
 public SchedulingController(ISchedulingService SchedulingService, ILog loggingInstance,
                             LoggingCommandHandlerDecorator <LogCommand> loghandler)
 {
     _SchedulingService = SchedulingService;
     _loggingInstance   = loggingInstance;
     _logHandler        = loghandler;
 }
Пример #5
0
 public SchedulingService(
     ISchedulingRepository schedulingRepository
     , IProgramRepository programRepository
     , ICustomerRepository customerRepository
     , ICdcRepository cdcRepository
     , ILog loggingInstance, LoggingCommandHandlerDecorator <LogCommand> loghandler
     )
 {
     _schedulingRepository = schedulingRepository ?? throw new ArgumentNullException($"schedulingRepository repository instance is null");
     _programRepository    = programRepository ?? throw new ArgumentNullException($"programRepository repository instance is null");
     _customerRepository   = customerRepository ?? throw new ArgumentNullException($"customerRepository repository instance is null");
     _cdcRepository        = cdcRepository ?? throw new ArgumentNullException($"cdcRepository repository instance is null");
     _loggingInstance      = loggingInstance ?? throw new ArgumentNullException($"logging instance is null");
     _logHandler           = loghandler ?? throw new ArgumentNullException($"logging commandhandlerDecorator instance is null");
 }
Пример #6
0
 public LeadService(
     ILeadRepository leadRepository
     , IERMSRepository ermsRepository
     , IContactRepository contactRepository
     , IAddressRepository addressRepository
     , IUsageRepository usageRepository
     , IProgramRepository programRepository
     , ICustomerRepository customerRepository
     , ICdcRepository cdcRepository
     , ILog loggingInstance, LoggingCommandHandlerDecorator <LogCommand> loghandler
     )
 {
     _leadRepository     = leadRepository ?? throw new ArgumentNullException($"lead repository instance is null");
     _contactRepository  = contactRepository ?? throw new ArgumentNullException($"ContactRepository repository instance is null");
     _ermsRepository     = ermsRepository ?? throw new ArgumentNullException($"ermsRepository repository instance is null");
     _addressRepository  = addressRepository ?? throw new ArgumentNullException($"AddressRepository repository instance is null");
     _usageRepository    = usageRepository ?? throw new ArgumentNullException($"UsageRepository repository instance is null");
     _customerRepository = customerRepository ?? throw new ArgumentNullException($"customerRepository repository instance is null");
     _cdcRepository      = cdcRepository ?? throw new ArgumentNullException($"cdcRepository instance is null");
     _programRepository  = programRepository ?? throw new ArgumentNullException($"programRepository repository instance is null");
     _loggingInstance    = loggingInstance ?? throw new ArgumentNullException($"logging instance is null");
     _logHandler         = loghandler ?? throw new ArgumentNullException($"logging commandhandlerDecorator instance is null");
 }
Пример #7
0
        private static void WorkWithCommandsWithoutIoc()
        {
            System.Console.WriteLine("\n-- No IoC --");

            // Line up some commands to execute
            var itemToCreateThenChange = new Todo {
                Caption = "Feed cat", Category = "Etc"
            };
            var cmd1 = new CreateTodoCommand {
                Data = new Todo {
                    Caption = "I SHOULD BE DELETED", Category = "Etc"
                }
            };                                                                                                          // id will become 1
            var cmd2 = new CreateTodoCommand {
                Data = itemToCreateThenChange
            };                                                                  // id will become 2
            var cmd3 = new CreateTodoCommand {
                Data = new Todo {
                    Caption = "Pay bills", Category = "Etc"
                }
            };                                                                                                // id will become 3
            var cmd4 = new CreateTodoCommand {
                Data = new Todo {
                    Caption = "I DO NOT PASS THE FILTER", Category = "Uncategorized"
                }
            };                                                                                                                        // id will become 3
            var updateCommand = new UpdateTodoCommand {
                Data = new Todo {
                    Id = itemToCreateThenChange.Id, Category = itemToCreateThenChange.Category, Caption = "Feed BOTH cats"
                }
            };
            var deleteCommand = new DeleteTodoCommand {
                Id = 1
            };                                                    // delete milk

            // Prepare the handlers
            var createHandler = new CreateTodoCommandHandler(new CachedRepository <Todo>());
            var updateHandler = new UpdateTodoCommandHandler(new CachedRepository <Todo>());
            var deleteHandler = new DeleteTodoCommandHandler(new CachedRepository <Todo>());
            // Example using a decorator. We're instantiating the decorator manually here but the idea is to it with IoC.
            // This decorator outputs some logging to to Console.Out.
            var decorating_deleteHandler = new LoggingCommandHandlerDecorator <DeleteTodoCommand>(deleteHandler, (ILogger) new ConsoleLogger());

            // Create something then queue it for deletion
            createHandler.Handle(cmd1).Wait();
            deleteCommand.Id = cmd1.Output;

            Task.WaitAll(
                createHandler.Handle(cmd2)
                , createHandler.Handle(cmd3)
                , createHandler.Handle(cmd4)
                );

            updateHandler.Handle(updateCommand).Wait();
            decorating_deleteHandler.Handle(deleteCommand).Wait();

            // Example using a queryhandler to deliver results
            var qhandler = new FindTodosByCategoryQueryHandler(new CachedRepository <Todo>());
            var query    = new FindTodosByCategoryQuery {
                Category = "Etc"
            };
            var queryResult = qhandler.Handle(query);

            // Only two items should show up since we deleted one, and one doesn't match the query.
            PrintResults(queryResult.Result);
        }