예제 #1
0
        public static void RegisterServices(IKernel kernel)
        {
            kernel.Bind <IMapper>().ToMethod(k =>
            {
                Mapper.Initialize(cfg => {
                    cfg.CreateMap <Bug, BugEntity>(MemberList.Source);
                    cfg.CreateMap <BugEntity, Bug>(MemberList.Source);
                });

                return(Mapper.Instance);
            }).InSingletonScope();

            kernel.Bind <IBugRepository>().To <BugRepository>().InSingletonScope();
            kernel.Bind <IDbContextFactory>().ToMethod(k =>
            {
                var connectionOptions = new SqlConnectionOptions
                {
                    DataSource               = WebConfigurationManager.AppSettings["SqlConnection.DataSource"],
                    InitialCatalog           = WebConfigurationManager.AppSettings["SqlConnection.InitialCatalog"],
                    UseWindowsAuthentication = true
                };

                return(new DbContextFactory(connectionOptions));
            }).InSingletonScope();
        }
        /// <inheritdoc/>
        public override void UseMicrosoft(IConfiguration configuration)
        {
            var connectionString = configuration
                                   .GetConnectionString(this.ConnectionString);

            var connection = new SqlConnectionOptions(connectionString)
            {
                ValidateSchema = true
            };

            this.Container.RegisterAbbotwareContext <TContext>(connection, new SqlOptionsAdapter <TContext>());
        }
        /// <summary>
        /// Use the Microsoft.Extensions.Configuration as a source for connection string
        /// </summary>
        /// <param name="configuration">configuration</param>
        public virtual void UseMicrosoft(IConfiguration configuration)
        {
            Arguments.NotNull(configuration, nameof(configuration));

            var connectionString = configuration
                                   .GetConnectionString(this.ConnectionString);

            var connection = new SqlConnectionOptions(connectionString)
            {
                ValidateSchema = true
            };

            this.Container.RegisterDbContext <TContext>(connection, new SqlOptionsAdapter <TContext>());
        }
예제 #4
0
        public void StartTestVoid()
        {
            var sqlConnection = new SqlConnectionOptions {
                ConnectionString = @"Server=(localdb)\mssqllocaldb;Database=EFProviders.InMemory;Trusted_Connection=True;ConnectRetryCount=3"
            };

            _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.EntityFramework",
                                                                    new ConnectionOptions
            {
                Provider         = "ECommerce.Data.EntityFramework.InMemory",
                ConnectionString = JsonConvert.SerializeObject(sqlConnection)
            },
                                                                    _loggerFactory, new MyDiagnosticSource());
        }
        public void StartTestVoid()
        {
            var sqlConnection = new SqlConnectionOptions {
                ConnectionString = $"Data Source={new FileInfo("data\\data.db").FullName}"
            };

            _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.EntityFramework",
                                                                    new ConnectionOptions
            {
                Provider         = "ECommerce.Data.EntityFramework.SqlLite",
                ConnectionString = JsonConvert.SerializeObject(sqlConnection)
            },
                                                                    _loggerFactory, new MyDiagnosticSource());
        }
예제 #6
0
        public IActionResult Index(MigrateModel model)
        {
            SqlConnectionOptions con = new SqlConnectionOptions();

            con.DataSource     = model.DataSource;
            con.InitialCatalog = model.InitialCatalog;
            con.UserID         = model.UserID;
            con.Password       = model.Password;

            if (String.IsNullOrWhiteSpace(con.InitialCatalog))
            {
                con.InitialCatalog = "DESAFIO";
            }

            try
            {
                if (RepositoryBase.IsValidServer(con))
                {
                    if (!RepositoryBase.IsValidOptions(con))
                    {
                        RepositoryBase.CriarBanco(con);
                    }

                    this._configuration.Value.InitialCatalog = con.InitialCatalog;
                    this._configuration.Value.DataSource     = con.DataSource;
                    this._configuration.Value.UserID         = con.UserID;
                    this._configuration.Value.Password       = con.Password;

                    return(RedirectToAction(nameof(LoginController.Index), "Login"));
                }
                else
                {
                    model.Mensagem = "Configurações do banco incorretas";
                }
            }
            catch (Exception ex)
            {
                model.Mensagem = "Erro: " + ex.Message;
            }

            return(View(model));
        }
예제 #7
0
 public static string Create(SqlConnectionOptions sqlConnectionOptions)
 {
     return(sqlConnectionOptions.UseWindowsAuthentication
 ? CreateWithWindowsAuthentication(sqlConnectionOptions)
 : CreateWithUserCredentials(sqlConnectionOptions));
 }
예제 #8
0
 private static string CreateWithWindowsAuthentication(SqlConnectionOptions sqlConnectionOptions)
 {
     return($"Persist Security Info=False;Data Source={sqlConnectionOptions.DataSource};Initial Catalog={sqlConnectionOptions.InitialCatalog};Integrated Security=True");
 }
예제 #9
0
 private static string CreateWithUserCredentials(SqlConnectionOptions sqlConnectionOptions)
 {
     return($"Persist Security Info=False;Data Source={sqlConnectionOptions.DataSource};Initial Catalog={sqlConnectionOptions.InitialCatalog};User ID={sqlConnectionOptions.User};Password={sqlConnectionOptions.Password};Application Name=BugHub");
 }
 public CadastroAmigoController(
     IOptions <SqlConnectionOptions> configuration)
 {
     _configuration = configuration.Value;
 }
 public LoginStore(IOptions <SqlConnectionOptions> configuration)
 {
     _connectionOpt = configuration.Value;
 }
예제 #12
0
 public DbContextFactory(SqlConnectionOptions sqlConnectionOptions)
 {
     _sqlConnectionOptions = sqlConnectionOptions;
 }
 public HomeController(
     IOptions <SqlConnectionOptions> configuration)
 {
     _configuration = configuration.Value;
 }