public void CollectionWithAnyValuesLessThanOrEqualTo_WhenCollectionContainsMinValue_ShouldThrow()
        {
            // Arrange
            const int MustBeGreaterThan = 1;
            var       obj = new[] { 1, 2, 3, 4, 5, 6 };

            var expectedMessage =
                $"All collection values must be greater than {MustBeGreaterThan}.\r\nParameter name: {nameof(obj)}";

            // Act
            Action act = () => Prevent.CollectionWithAnyValuesLessThanOrEqualTo(obj, MustBeGreaterThan, nameof(obj));

            // Assert
            act.Should().Throw <ArgumentOutOfRangeException>()
            .WithMessage(expectedMessage)
            .And.ParamName.Should().Be(nameof(obj));
        }
        /// <inheritdoc />
        public void Publish <TMessage>(TMessage message)
        {
            Prevent.ParameterNull(message, nameof(message));

            var messageType = typeof(TMessage);

            if (_subscriptions.ContainsKey(messageType))
            {
                lock (SyncLock) {
                    foreach (var subscription in _subscriptions[messageType].OfType <ISubscription <TMessage> >())
                    {
                        var handler = subscription.CreateHandler();
                        if (handler == null)
                        {
                            continue;
                        }
                        handler(message);
                    }
                }
            }
        }
Example #3
0
        /// <summary>
        /// Registers all required DB contexts.
        /// </summary>
        /// <param name="services">
        /// The services collection.
        /// </param>
        /// <param name="configuration">
        /// The configuration.
        /// </param>
        /// <returns>
        /// The <see cref="IServiceCollection"/>.
        /// </returns>
        public static IServiceCollection AddDbContexts(
            this IServiceCollection services,
            IConfiguration configuration)
        {
            Prevent.NullObject(configuration, nameof(configuration));

            // Add querying DB context
            services.AddDbContext <QueryingContext>(
                options => options.UseSqlServer(configuration.GetConnectionString("VMS")),
                ServiceLifetime.Transient);

            services.AddTransient <IQueryingContext, QueryingContext>();

            // Add domain process event store DB context
            services.AddDbContext <ProcessEventStoreContext>(
                options => options.UseNpgsql(configuration.GetConnectionString("VMS.Requisitons")),
                ServiceLifetime.Transient);

            services.AddTransient <IProcessEventStoreContext, ProcessEventStoreContext>();

            return(services);
        }
        /// <inheritdoc />
        public ISubscription <TMessage> Subscribe <TMessage>(Action <TMessage> handler)
        {
            Prevent.ParameterNull(handler, nameof(handler));

            var messageType = typeof(TMessage);
            var action      = new Subscription <TMessage>(handler, this);

            lock (SyncLock) {
                IList list = null;
                if (!_subscriptions.TryGetValue(messageType, out list))
                {
                    _subscriptions.Add(messageType, new List <ISubscription <TMessage> > {
                        action
                    });
                }
                else
                {
                    _subscriptions[messageType].Add(action);
                }
            }
            return(action);
        }
        /// <inheritdoc />
        public ISearchBuilder Parse(string query, bool escape = true, params string[] defaultFields)
        {
            Prevent.ParameterNullOrWhiteSpace(query, nameof(query));
            Prevent.ParameterNull(defaultFields, nameof(defaultFields));
            if (defaultFields.Length == 0)
            {
                throw new ArgumentException("Default fields can't be empty.");
            }

            if (escape)
            {
                query = QueryParserBase.Escape(query);
            }

            foreach (var defaultField in defaultFields)
            {
                CreatePendingClause();
                _query = new QueryParser(IndexProvider.Version, defaultField, _analyzer).Parse(query);
            }

            return(this);
        }
Example #6
0
        public CreateMigrationTableSchemaCommandHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
        public ListDocumentDirectoriesQueryHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
        /// <summary>
        /// Initializes a new instance of <see cref="AnalyzerProvider"/>.
        /// </summary>
        /// <param name="selectors">A collection of <see cref="IAnalyzerSelector"/>.</param>
        public AnalyzerProvider(params IAnalyzerSelector[] selectors)
        {
            Prevent.ParameterNull(selectors, nameof(selectors));

            _selectors = selectors;
        }
Example #9
0
        public MicrosoftWordDocument(MicrosoftDocument document)
        {
            Prevent.ParameterNull(document, nameof(document));

            _document = document;
        }
Example #10
0
        /// <inheritdoc />
        public DbProviderFactory GetFactory(Type providerFactoryType)
        {
            Prevent.ParameterNull(providerFactoryType, nameof(providerFactoryType));

            return(GetFactory(providerFactoryType.Name));
        }
Example #11
0
        public Mediator(IResolver resolver)
        {
            Prevent.ParameterNull(resolver, nameof(resolver));

            _resolver = resolver;
        }
Example #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="WidgetsController"/> class.
 /// </summary>
 /// <param name="widgetService">
 /// The widget service.
 /// </param>
 public WidgetsController(IWidgetService widgetService)
 {
     Prevent.NullObject(widgetService, nameof(widgetService));
     this.widgetService = widgetService;
 }
Example #13
0
        /// <summary>
        /// Initializes a new instance of <see cref="SearchBit"/>.
        /// </summary>
        /// <param name="openBitSet">The open bit set.</param>
        public SearchBit(OpenBitSet openBitSet)
        {
            Prevent.ParameterNull(openBitSet, nameof(openBitSet));

            _openBitSet = openBitSet;
        }
        public SearchService(IIndexProvider indexProvider)
        {
            Prevent.ParameterNull(indexProvider, nameof(indexProvider));

            _indexProvider = indexProvider;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="RequisitionService"/> class.
 /// </summary>
 /// <param name="serviceProvider">
 /// The service provider.
 /// </param>
 public RequisitionService(IServiceProvider serviceProvider)
 {
     Prevent.NullObject(serviceProvider, nameof(serviceProvider));
     this.serviceProvider = serviceProvider;
     this.logger          = serviceProvider.GetRequiredService <ILogger <RequisitionService> >();
 }
Example #16
0
        public GetDocumentQueryHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
Example #17
0
        public SaveDocumentDirectoryCommandHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
        public ApplyMigrationCommandHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
Example #19
0
        public NetOfficeWordDocument(NetOfficeDocument document)
        {
            Prevent.ParameterNull(document, nameof(document));

            _document = document;
        }
Example #20
0
        public Resolver(ILifetimeScope scope)
        {
            Prevent.ParameterNull(scope, nameof(scope));

            _scope = scope;
        }
        public DatabaseCleanUpCommandHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
        public ExecuteDatabaseMigrationsAction(IMediator mediator)
        {
            Prevent.ParameterNull(mediator, nameof(mediator));

            _mediator = mediator;
        }
Example #23
0
        public FormManager(IResolver resolver)
        {
            Prevent.ParameterNull(resolver, nameof(resolver));

            _resolver = resolver;
        }
Example #24
0
        public ListAppliedMigrationsQueryHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
Example #25
0
 public Weight(double grams)
 {
     Prevent.ValueLessThanOrEqualTo(grams, 0, nameof(grams));
     this.Grams = grams;
 }
Example #26
0
        public ObjectExistsQueryHandler(IDatabase database)
        {
            Prevent.ParameterNull(database, nameof(database));

            _database = database;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="WidgetService"/> class.
 /// </summary>
 /// <param name="widgetRepository">
 /// The widget repository.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// if widgetRepository is NULL.
 /// </exception>
 public WidgetService(IWidgetRepository widgetRepository)
 {
     Prevent.NullObject(widgetRepository, nameof(widgetRepository));
     this.widgetRepository = widgetRepository;
 }
Example #28
0
        /// <summary>
        /// Initalizes a new instance of <see cref="Logger"/>
        /// </summary>
        /// <param name="log"></param>
        public Logger(ILog log)
        {
            Prevent.ParameterNull(log, nameof(log));

            _log = log;
        }