// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Settings settings = new Settings(Configuration); services.AddSingleton <IDalSettings>(settings); DalModule.Register(services); BlModule.Register(services); services .AddAuthentication(options => { options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie(options => { options.LoginPath = "/api/account/LogIn"; options.LogoutPath = "/api/account/LogOff"; }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddSpaStaticFiles(configuration => { configuration.RootPath = "wwwroot"; }); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); }
public static QuickSearchResult LoadSingle(long userId, string entity, string id, string parameters = "") { var item = new DdlVm.DdlOption(); switch (entity) { //case "LOCATION": item = BlLocation.LoadQs(userId, Convert.ToInt64(id)); break; //case "LOCATIONEMPLOYEE": item = BlLocation.LoadLocationEmployeeQs(userId, id); break; case "EMPLOYEE": item = BlEmployee.LoadQs(userId, Convert.ToInt64(id), parameters); break; //case "PRODUCT": item = BlProduct.LoadQs(userId, Convert.ToInt64(id)); break; //case "SUPPLIER": item = BlSupplier.LoadQs(userId, Convert.ToInt64(id)); break; case "USER": item = BlUser.LoadQs(userId, Convert.ToInt64(id)); break; case "MODULE": item = BlModule.LoadQs(userId, id); break; case "CODE": item = BlCode.LoadQs(userId, id, parameters); break; //case "WAREHOUSE": item = BlWarehouse.LoadQs(userId, Convert.ToInt64(id), parameters); break; //case "LOCATIONMORAL": item = BlLocationMoral.LoadQs(userId, Convert.ToInt64(id), parameters); break; //case "STOCK": item = BlStock.LoadQs(userId, Convert.ToInt64(id)); break; } var toRet = new QuickSearchResult { id = item.value, text = item.label }; return(toRet); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Settings settings = new Settings(Configuration); services.AddSingleton <IDalSettings>(settings); services.AddSingleton <IWebApiSettings>(settings); DalModule.Register(services); BlModule.Register(services); WebApiModule.Register(services); Mapper.Initialize(config => { DalMappings.Initialize(config); BlMappings.Initialize(config); WebApiMappings.Initialize(config); }); // ===== Add Jwt Authentication ======== JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); // => remove default claims services .AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(cfg => { cfg.RequireHttpsMetadata = false; cfg.SaveToken = true; cfg.TokenValidationParameters = new TokenValidationParameters { ValidIssuer = settings.JwtIssuer, ValidAudience = settings.JwtIssuer, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(settings.JwtKey)), ClockSkew = TimeSpan.Zero // remove delay of token when expire }; }); services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials()); }); services.AddMvc(); services.AddSingleton <BackgroundJobsRegistry>(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); MapperConfig.Initialize(); BundleConfig.RegisterBundles(BundleTable.Bundles); NinjectModule orderModule = new UiModule(); NinjectModule serviceModule = new BlModule(); var kernel = new StandardKernel(orderModule, serviceModule); kernel.Unbind <ModelValidatorProvider>(); DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel)); }
public static QuickSearchPagedResult LoadSearch(long userId, string entity, string parameters, string searchTerm, int pageSize, int pageNum) { List <DdlVm.DdlOption> items = null; long count = 0; switch (entity) { //case "LOCATION": items = BlLocation.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; //case "LOCATIONEMPLOYEE": items = BlLocation.LoadLocationEmployeeQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; case "EMPLOYEE": items = BlEmployee.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; //case "PRODUCT": items = BlProduct.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; //case "SUPPLIER": items = BlSupplier.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; case "USER": items = BlUser.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; case "MODULE": items = BlModule.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; case "CODE": items = BlCode.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; //case "WAREHOUSE": items = BlWarehouse.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; //case "LOCATIONMORAL": items = BlLocationMoral.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; //case "STOCK": items = BlStock.LoadQs(userId, parameters, searchTerm, pageSize, pageNum, out count); break; } var toRet = new QuickSearchPagedResult { total = count }; if (items != null) { foreach (var item in items) { toRet.results.Add(new QuickSearchResult { id = item.value, text = item.label }); } } return(toRet); }
public static void Log(long userId, string moduleId, string action, string text, object[] args = null) { //Leave if module logging not enabled var module = BlModule.LoadSingle(userId, moduleId); if (module != null) { if (!module.EnableLogging) { return; } } var log = new Log { Module = module, Action = action, Text = BlDescription.GetDescription(Enumerations.DescriptionResources.Exceptions, text, 1, true) ?? text }; if (args != null) { try { log.Text = string.Format(log.Text, args); } catch (Exception) { // ignored } } var blLog = new BlLog(); blLog.Create(userId, log); }
public void ConfigureServices(IServiceCollection services) { services.AddSingleton <IDalSettings, DalSettings>(); services.AddSingleton <IBookingSettings, BookingSettings>(); services.AddTransient <IUserInfo, UserInfo>(); services.AddSingleton <IAccountUpdatingSettings, AccountUpdatingSettings>(); services.AddSingleton <IProfileCachingSettings, ProfileCachingSettings>(); FrontendFilesSettings frontendFilesSettings = new FrontendFilesSettings(Configuration); services.AddSingleton <IFrontendFilesSettings>(frontendFilesSettings); FilesUploadingSettings filesUploadingSettings = new FilesUploadingSettings(Configuration); services.AddSingleton <IFilesUploadingSettings, FilesUploadingSettings>(); services.AddSingleton <IPaginationSettings, PaginationSettings>(); CorsSettings corsSettings = new CorsSettings(Configuration); services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => { builder.WithOrigins(corsSettings.AllowedOrigins) .AllowAnyHeader() .AllowAnyMethod(); }); }); MapperConfiguration mappingConfig = new MapperConfiguration(config => { WebAPIMapping.Initialize(config); BlMapping.Initialize(config); DalMapping.Initialize(config); }); mappingConfig.CompileMappings(); services.AddSingleton <IMapper>(mappingConfig.CreateMapper()); services.AddControllers(); DalModule.Register(services); BlModule.Register(services); WebAPIModule.Register(services); Serilog.ILogger logger = new LoggerConfiguration() .ReadFrom.Configuration(Configuration) .CreateLogger(); services.AddLogging((builder) => { builder.AddSerilog(logger, dispose: true); }); JwtSettings jwtSettings = new JwtSettings(Configuration); services.AddSingleton <IJwtSettings>(jwtSettings); byte[] key = Encoding.UTF8.GetBytes(jwtSettings.Secret); services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(x => { x.RequireHttpsMetadata = false; x.SaveToken = false; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = true, ValidIssuer = jwtSettings.Issuer, ValidateAudience = true, ValidAudiences = corsSettings.AllowedOrigins }; }); services.AddHttpContextAccessor(); services.Configure <FormOptions>(options => { // converting to bytes options.MultipartBodyLengthLimit = filesUploadingSettings.MaxMbSize * 1024 * 1024; }); services.AddMemoryCache(); services.AddSpaStaticFiles(configuration => { configuration.RootPath = Path.Combine(frontendFilesSettings.StoragePath); }); }