// This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();

            services.AddTransient <IUnitOfWork, UnitOfWork>(sp =>
            {
                Data.Tools.Options options =
                    new Data.Tools.Options
                {
                    Provider =
                        (Data.Tools.Enums.Provider)
                        System.Convert.ToInt32(Configuration.GetSection(key: "databaseProvider").Value),

                    //using Microsoft.EntityFrameworkCore;
                    //ConnectionString =
                    //	Configuration.GetConnectionString().GetSection(key: "MyConnectionString").Value,

                    ConnectionString =
                        Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString").Value,
                };

                return(new UnitOfWork(options: options));
            });

            //services.AddDbContext<DatabaseContext>(options =>
            //        options.UseSqlServer(Configuration.GetConnectionString("MyConnectionString")));
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews()
            .AddRazorRuntimeCompilation()
            .AddFluentValidation();

            #region Fluent Validation
            services.AddTransient <IValidator <LegalPersonViewModel>, LegalPersonValidation>();
            services.AddTransient <IValidator <NaturalPersonViewModel>, NaturalPersonValidation>();
            services.AddTransient <IValidator <ReplacementHeaterViewModel>, ReplacementHeaterValidation>();
            services.AddTransient <IValidator <ViewModels.Installer.InstallerViewModel>, InstallerValidation>();
            #endregion

            services.AddTransient <Data.IUnitOfWork, Data.UnitOfWork>(sp =>
            {
                Data.Tools.Options options =
                    new Data.Tools.Options
                {
                    Provider =
                        (Data.Tools.Enums.Provider)
                        System.Convert.ToInt32(Configuration.GetSection(key: "databaseProvider").Value),

                    //using Microsoft.EntityFrameworkCore;
                    //ConnectionString =
                    //	Configuration.GetConnectionString().GetSection(key: "MyConnectionString").Value,

                    ConnectionString =
                        Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString").Value,
                };

                return(new Data.UnitOfWork(options: options));
            });

            #region Db Context
            services.AddDbContext <DatabaseContext>(options =>
                                                    options.UseSqlServer(Configuration.GetConnectionString("MyConnectionString")));
            #endregion


            #region Identity Setting
            // Identity Setting
            services.AddIdentity <IdentityUser, IdentityRole>(options =>
            {
                #region User
                // Require Unique Email
                options.User.RequireUniqueEmail = true;
                // Allowed UserName Characters
                options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                #endregion

                #region SignIn
                // Require Confirmed Email
                options.SignIn.RequireConfirmedEmail = true;
                //Require Confirmed Account
                options.SignIn.RequireConfirmedAccount = false;
                // Require Confirmed PhoneNumber
                options.SignIn.RequireConfirmedPhoneNumber = false;
                #endregion

                #region Password
                // Required Length
                options.Password.RequiredLength = 8;
                // Require Digit
                options.Password.RequireDigit = true;
                // Required Unique Chars
                options.Password.RequiredUniqueChars = 0;
                // Require Uppercase
                options.Password.RequireUppercase = true;
                // Require Lowercase
                options.Password.RequireLowercase = true;
                // Require Non Alphanumeric
                options.Password.RequireNonAlphanumeric = true;
                #endregion

                #region LockOut
                // Allowed For NewUsers
                options.Lockout.AllowedForNewUsers = true;
                // Max Failed Access Attempts
                options.Lockout.MaxFailedAccessAttempts = 5;
                // Default Lockout TimeSpan
                options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(10);
                #endregion
            })
            #endregion

            // Token Error Message
            .AddEntityFrameworkStores <DatabaseContext>()
            .AddDefaultTokenProviders();

            services.Configure <DataProtectionTokenProviderOptions>(options =>
            {
                options.TokenLifespan = TimeSpan.FromMinutes(10);
            });

            // Message Sender
            services.AddScoped <IMessageSender, MessageSender>();
        }
Beispiel #3
0
        public void ConfigureServices
            (Microsoft.Extensions.DependencyInjection.IServiceCollection services)
        {
            // Cross-Origin Resource Sharing (CORS)
            services.AddCors(options =>
            {
                options.AddPolicy(AdminCorsPolicy,
                                  builder =>
                {
                    builder
                    .WithOrigins("http://localhost:1220")
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    //.AllowCredentials()
                    ;
                });

                options.AddPolicy(OthersCorsPolicy,
                                  builder =>
                {
                    builder
                    .AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    //.AllowCredentials()
                    ;
                });
            });

            //services.AddControllers();

            services.AddControllers().AddJsonOptions(options =>
            {
                options.JsonSerializerOptions.MaxDepth             = 5;
                options.JsonSerializerOptions.PropertyNamingPolicy = null;
            });

            //services.AddDbContext<Data.DatabaseContext>(options =>
            //{
            //	options.UseSqlServer
            //		(connectionString: "Password=1234512345;Persist Security Info=True;User ID=SA;Initial Catalog=DtxSecurity;Data Source=.");
            //});

            //services.AddDbContext<Data.DatabaseContext>(options =>
            //{
            //	options.UseSqlServer
            //		(connectionString: Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString");
            //});

            //services.AddTransient<Data.IUnitOfWork, Data.UnitOfWork>();

            services.AddTransient <Data.IUnitOfWork, Data.UnitOfWork>(sp =>
            {
                Data.Tools.Options options =
                    new Data.Tools.Options
                {
                    InMemoryDatabase = false,
                    ConnectionString =
                        Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString").Value,
                };

                return(new Data.UnitOfWork(options: options));
            });
        }
Beispiel #4
0
        public void ConfigureServices
            (Microsoft.Extensions.DependencyInjection.IServiceCollection services)
        {
            // Cross-Origin Resource Sharing (CORS)
            services.AddCors(options =>
            {
                options.AddPolicy(ADMIN_CORS_POLICY,
                                  builder =>
                {
                    builder
                    .WithOrigins("http://localhost:5001")
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    //.AllowCredentials()
                    ;
                });

                options.AddPolicy(OTHERS_CORS_POLICY,
                                  builder =>
                {
                    builder
                    .AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    //.AllowCredentials()
                    ;
                });
            });

            //services.AddControllers();

            services.AddControllers().AddJsonOptions(options =>
            {
                options.JsonSerializerOptions.MaxDepth             = 5;
                options.JsonSerializerOptions.PropertyNamingPolicy = null;
            });

            //services.AddDbContext<Data.DatabaseContext>(options =>
            //{
            //	options.UseSqlServer
            //		(connectionString: "Password=1234512345;Persist Security Info=True;User ID=SA;Initial Catalog=DtxSecurity;Data Source=.");
            //});

            //services.AddDbContext<Data.DatabaseContext>(options =>
            //{
            //	options.UseSqlServer
            //		(connectionString: Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString");
            //});

            //services.AddTransient<Data.IUnitOfWork, Data.UnitOfWork>();

            services.AddTransient <Data.IUnitOfWork, Data.UnitOfWork>(sp =>
            {
                Data.Tools.Options options =
                    new Data.Tools.Options
                {
                    Provider =
                        (Data.Tools.Enums.Provider)
                        System.Convert.ToInt32(Configuration.GetSection(key: "databaseProvider").Value),

                    //using Microsoft.EntityFrameworkCore;
                    //ConnectionString =
                    //	Configuration.GetConnectionString().GetSection(key: "MyConnectionString").Value,

                    ConnectionString =
                        Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString").Value,
                };

                return(new Data.UnitOfWork(options: options));
            });

            //services.AddTransient<Dtx.ILogger, Dtx.Logger>();
        }