public static IResponsiveBuilder AddCoreServices(this IResponsiveBuilder builder)
    {
        // Add core to services
        builder.Services.AddDetection();

        return(builder);
    }
Example #2
0
        public static IResponsiveBuilder AddViewSubfolder(this IResponsiveBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(AddViewLocation(builder, ResponsiveViewLocationFormat.Subfolder));
        }
Example #3
0
        private static IResponsiveBuilder AddViewLocation(this IResponsiveBuilder builder, ResponsiveViewLocationFormat format)
        {
            builder.Services.Configure <RazorViewEngineOptions>(
                options =>
            {
                options.ViewLocationExpanders.Add(new ResponsiveViewLocationExpander(format));
            });

            return(builder);
        }
    public static IResponsiveBuilder AddResponsiveService(this IResponsiveBuilder builder)
    {
        Check.NotNull(builder);

        builder.AddSessionServices();
        builder.Services.TryAddTransient <IResponsiveService, ResponsiveService>();
        builder.Services.AddRazorViewLocation();
        builder.Services.AddRazorPagesConventions();

        return(builder);
    }
    public static IResponsiveBuilder AddRequiredPlatformServices(this IResponsiveBuilder builder)
    {
        Check.NotNull(builder);

        // Hosting doesn't add IHttpContextAccessor by default
        builder.Services.AddHttpContextAccessor();

        // Add Detection Options
        builder.Services.AddOptions();
        builder.Services.TryAddSingleton(provider => provider.GetRequiredService <IOptions <ResponsiveOptions> >().Value);

        return(builder);
    }
    public static IResponsiveBuilder AddSessionServices(this IResponsiveBuilder builder)
    {
        // Add Session to services
        builder.Services.AddDistributedMemoryCache();
        builder.Services.AddSession(
            options =>
        {
            options.Cookie.Name        = "Responsive";
            options.IdleTimeout        = TimeSpan.FromSeconds(10);
            options.Cookie.IsEssential = true;
        });

        return(builder);
    }