Exemple #1
0
 public IdempotentMessageConsumer(ZaminConfigurations zaminConfigurations, IEventDispatcher eventDispatcher, IJsonSerializer jsonSerializer, ICommandDispatcher commandDispatcher, IMessageInboxItemRepository messageInboxItemRepository)
 {
     _zaminConfigurations        = zaminConfigurations;
     _eventDispatcher            = eventDispatcher;
     _jsonSerializer             = jsonSerializer;
     _commandDispatcher          = commandDispatcher;
     _messageInboxItemRepository = messageInboxItemRepository;
     LoadMessageMap();
 }
        public ParrotTranslator(ZaminConfigurations configuration)
        {
#if NET451
            _currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
#elif NET46
            _currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
#else
            _currentCulture = CultureInfo.CurrentCulture.ToString();
#endif
            _localizer = new ParrotDataWrapper(configuration);
        }
        public RabbitMqMessageBus(ZaminConfigurations configuration, IJsonSerializer jsonSerializer, IMessageConsumer messageConsumer)
        {
            _configuration   = configuration;
            _jsonSerializer  = jsonSerializer;
            _messageConsumer = messageConsumer;
            var connectionFactory = new ConnectionFactory
            {
                Uri = configuration.MessageBus.RabbitMq.Uri
            };

            _connection = connectionFactory.CreateConnection();
            var channel = _connection.CreateModel();

            channel.ExchangeDeclare(configuration.MessageBus.RabbitMq.ExchangeName, ExchangeType.Topic, configuration.MessageBus.RabbitMq.ExchangeDurable, configuration.MessageBus.RabbitMq.ExchangeAutoDeleted);
            ReveiveMessages();
        }
        public static void UseEveApiConfigure(this IApplicationBuilder app, ZaminConfigurations configuration, IWebHostEnvironment env)
        {
            app.UseApiExceptionHandler(options =>
            {
                options.AddResponseDetails = (context, ex, error) =>
                {
                    if (ex.GetType().Name == typeof(SqlException).Name)
                    {
                        error.Detail = "Exception was a database exception!";
                    }
                };
                options.DetermineLogLevel = ex =>
                {
                    if (ex.Message.StartsWith("cannot open database", StringComparison.InvariantCultureIgnoreCase) ||
                        ex.Message.StartsWith("a network-related", StringComparison.InvariantCultureIgnoreCase))
                    {
                        return(LogLevel.Critical);
                    }
                    return(LogLevel.Error);
                };
            });

            app.UseStatusCodePages();
            if (configuration.Swagger != null && configuration.Swagger.SwaggerDoc != null)
            {
                app.UseSwagger();
                app.UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint(configuration.Swagger.SwaggerDoc.URL, configuration.Swagger.SwaggerDoc.Title);
                    c.RoutePrefix = string.Empty;
                });
            }

            app.UseCors(builder =>
            {
                builder.AllowAnyOrigin();
                builder.AllowAnyHeader();
                builder.AllowAnyMethod();
            });
            app.UseHttpsRedirection();
            app.UseRouting();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
Exemple #5
0
        public static IServiceCollection AddZaminApiServices(this IServiceCollection services,
                                                             IConfiguration configuration)
        {
            var _zaminConfigurations = new ZaminConfigurations();

            configuration.GetSection(nameof(ZaminConfigurations)).Bind(_zaminConfigurations);
            services.AddSingleton(_zaminConfigurations);
            services.AddScoped <ValidateModelStateAttribute>();
            services.AddControllers(options =>
            {
                options.Filters.AddService <ValidateModelStateAttribute>();
                options.Filters.Add(typeof(TrackActionPerformanceFilter));
            }).AddFluentValidation();

            services.AddEveCoreDependencies(_zaminConfigurations.AssmblyNameForLoad.Split(','));

            AddSwagger(services);
            return(services);
        }
Exemple #6
0
        public static IServiceCollection ZaminConfigureMvcServices <TResourceType>(
            this IServiceCollection services,
            IConfiguration configuration)
        {
            var _zaminConfigurations = new ZaminConfigurations();

            configuration.GetSection(nameof(ZaminConfigurations)).Bind(_zaminConfigurations);
            services.AddSingleton(_zaminConfigurations);


            services.AddControllersWithViews(options =>
            {
                options.Filters.AddService <ValidateModelStateAttribute>();
                options.Filters.Add(typeof(TrackActionPerformanceFilter));
            })

            .AddDataAnnotationsLocalization(options => options.DataAnnotationLocalizerProvider = (t, f) => f.Create(typeof(TResourceType)));
            services.AddZaminDependencies(_zaminConfigurations.AssmblyNameForLoad);

            return(services);
        }
Exemple #7
0
 public static void EveMvcConfigure(this IApplicationBuilder app, Action <IEndpointRouteBuilder> configur, ZaminConfigurations configuration)
 {
     app.UseApiExceptionHandler(options =>
     {
         options.AddResponseDetails = (context, ex, error) =>
         {
             if (ex.GetType().Name == typeof(SqlException).Name)
             {
                 error.Detail = "Exception was a database exception!";
             }
         };
         options.DetermineLogLevel = ex =>
         {
             if (ex.Message.StartsWith("cannot open database", StringComparison.InvariantCultureIgnoreCase) ||
                 ex.Message.StartsWith("a network-related", StringComparison.InvariantCultureIgnoreCase))
             {
                 return(LogLevel.Critical);
             }
             return(LogLevel.Error);
         };
     });
     app.UseStatusCodePages();
     app.UseHttpsRedirection();
     app.UseStaticFiles();
     app.UseRouting();
     app.UseAuthorization();
     app.UseEndpoints(configur);
 }
 public ParrotDataWrapper(ZaminConfigurations configuration)
 {
     _configuration       = configuration;
     _dbConnection        = new SqlConnection(configuration.Translator.Parrottranslator.ConnectionString);
     _localizationRecords = _dbConnection.Query <LocalizationRecord>(configuration.Translator.Parrottranslator.SelectCommand, commandType: CommandType.Text).ToList();
 }
Exemple #9
0
 public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ZaminConfigurations zaminConfigurations)
 {
     app.UseZaminApiConfigure(zaminConfigurations, env);
 }
 public SqlMessageInboxItemRepository(ZaminConfigurations configurations)
 {
     _connectionString = configurations.Messageconsumer.SqlMessageInboxStore.ConnectionString;
 }
 public PoolingPublisherHostedService(ZaminConfigurations configuration, IOutBoxEventItemRepository outBoxEventItemRepository, IMessageBus messageBus)
 {
     _configuration             = configuration;
     _outBoxEventItemRepository = outBoxEventItemRepository;
     _messageBus = messageBus;
 }
Exemple #12
0
 public SqlOutBoxEventItemRepository(ZaminConfigurations configurations)
 {
     _configurations = configurations;
 }