/// <summary> /// Crea un connettore per accesso ai dati su db /// </summary> /// <param name="database">Nome database a cui ci si deve connettere</param> /// <returns>Gestore comandi su db creato</returns> private IDatabaseActions CreateDbEngine(string database) { if (string.IsNullOrWhiteSpace(database)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(database)); } var sqlSettings = new SqlConnectionSettings() { ServerOrInstanceName = this._SqlInstanceName, Database = database, UserName = this._UserName, Password = this._Password, UseIntegratedSecurity = false, }; /* * SqlDatabaseActions è una classe utility fornita nella DLL Atys.PowerMES.Support.dll * che quindi deve essere referenziata. * Fornisce metodi standard per query e comandi di vario tipo * */ var result = new SqlDatabaseActions(sqlSettings, this._Logger); return(result); }
//init public SqlSignalDispatchQueries(SqlConnectionSettings connectionSettings , ISenderDbContextFactory dbContextFactory, INotificationsMapperFactory mapperFactory) { _connectionSettings = connectionSettings; _dbContextFactory = dbContextFactory; _mapper = mapperFactory.GetMapper(); }
//methods public override void SpecInit(INeedDbContext instance) { dynamic specsDynamic = instance; AutoMockedContainer autoMockContainer = specsDynamic.Mocker.MoqAutoMocker.Container; string connectionString = @"Data Source=.\;Initial Catalog=SanatanaNotificationsSpecs;integrated security=true;MultipleActiveResultSets=True;"; var connection = new SqlConnectionSettings { ConnectionString = connectionString, Schema = "dbo" }; autoMockContainer.Configure(cfg => { cfg.For <SqlConnectionSettings>().Use(connection); cfg.For <ISenderDbContextFactory>().Use <SenderDbContextFactory>(); cfg.For <INotificationsMapperFactory>().Use <NotificationsMapperFactory>(); cfg.For <IDispatchTemplateQueries <long> >().Use <SqlDispatchTemplateQueries>(); cfg.For <SqlDispatchTemplateQueries>().Use <SqlDispatchTemplateQueries>(); cfg.For <SqlEventSettingsQueries>().Use <SqlEventSettingsQueries>(); cfg.For <SqlSignalBounceQueries>().Use <SqlSignalBounceQueries>(); cfg.For <SqlSignalDispatchQueries>().Use <SqlSignalDispatchQueries>(); cfg.For <SqlSignalEventQueries>().Use <SqlSignalEventQueries>(); cfg.For <SqlStoredNotificationQueries>().Use <SqlStoredNotificationQueries>(); cfg.For <SqlSubscriberCategorySettingsQueries>().Use <SqlSubscriberCategorySettingsQueries>(); cfg.For <SqlSubscriberDeliveryTypeSettingsQueries>().Use <SqlSubscriberDeliveryTypeSettingsQueries>(); cfg.For <SqlSubscriberQueries>().Use <SqlSubscriberQueries>(); cfg.For <SqlSubscriberScheduleSettingsQueries>().Use <SqlSubscriberScheduleSettingsQueries>(); cfg.For <SqlSubscriberTopicSettingsQueries>().Use <SqlSubscriberTopicSettingsQueries>(); }); ISenderDbContextFactory factory = autoMockContainer.GetInstance <ISenderDbContextFactory>(); instance.DbContext = factory.GetDbContext(); instance.DbContext.ChangeTracker.QueryTrackingBehavior = Microsoft.EntityFrameworkCore.QueryTrackingBehavior.NoTracking; }
private static ISender CreateSenderWithMsSql() { bool initDatabase = true; var connection = new SqlConnectionSettings { Schema = "msg", ConnectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString }; var builder = new ContainerBuilder(); builder.RegisterModule(new NotificationsCoreAutofacModule <long>()); builder.RegisterModule(new InMemoryEventSettingsAutofacModule <long>(GetEventSettings())); builder.RegisterModule(new EntityFrameworkCoreSenderAutofacModule(connection)); builder.RegisterInstance(new DispatchChannel <long>() { Dispatcher = new ConsoleDispatcher <long>(), DeliveryType = (int)Model.DeliveryTypes.Email }).AsSelf().SingleInstance(); builder.RegisterType <StoredNotificationsDispatchChannel <long> >().As <DispatchChannel <long> >().SingleInstance(); builder.RegisterModule(new WcfSignalEndpointAutofacModule <long>()); ILogger logger = new ConsoleLogger("DemoLogger", (input, level) => true, true); builder.RegisterInstance(logger).As <ILogger>().SingleInstance(); IContainer container = builder.Build(); if (initDatabase) { InitDatabase(container); } ISender sender = container.Resolve <ISender>(); return(sender); }
public SignalEventMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public EventSettingsMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
//init public SqlSubscriberTopicSettingsQueries(SqlConnectionSettings connectionSettings, ISenderDbContextFactory dbContextFactory) { _connectionSettings = connectionSettings; _dbContextFactory = dbContextFactory; }
public SubscriberTopicSettingsMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
//init public CustomDbContextFactory(SqlConnectionSettings connectionSettings) : base(connectionSettings) { }
//init public SenderDbContext(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public SubscriberScheduleSettingsMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public SignalBounceMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public StoredNotificationMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public DispatchTemplateMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public SubscriberDeliveryTypeSettingsMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public SignalDispatchMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
//init public SqlSubscriberCategorySettingsQueries(ISenderDbContextFactory dbContextFactory, SqlConnectionSettings connectionSettings) { _dbContextFactory = dbContextFactory; _connectionSettings = connectionSettings; }
public SubscriberCategorySettingsMap(SqlConnectionSettings connectionSettings) { _connectionSettings = connectionSettings; }
public EntityFrameworkCoreSenderAutofacModule(SqlConnectionSettings connectionSettings = null) { _connectionSettings = connectionSettings; }