Exemplo n.º 1
0
 /// <summary>
 /// Adds xamarin forms services with specified
 /// app-specific configuration and returns <see cref="NinjectApplicationBuilderWithXFormsServices"/>
 /// which is capable of starting xamarin forms application
 /// </summary>
 /// <typeparam name="TBuilder"></typeparam>
 /// <param name="builder"></param>
 /// <param name="servicesConfiguration"></param>
 /// <returns></returns>
 public static NinjectApplicationBuilderWithXFormsServices AddXamarinFormsServices <TBuilder>
     (this NinjectedApplicationBuilder <TBuilder> builder,
     IXFormsServicesConfiguration servicesConfiguration)
     where TBuilder : NinjectedApplicationBuilder <TBuilder>
 {
     builder.Add(new XFormsServicesNinjectModule(servicesConfiguration));
     return(builder.UseSubcontractor(turn => new NinjectApplicationBuilderWithXFormsServices(turn)));
 }
Exemplo n.º 2
0
        /// <summary>
        /// Calls <see cref="Use{TDbContext, TBuilder}(NinjectedApplicationBuilder{TBuilder}, Func{DbContextOptionsBuilder{TDbContext}, DbContextOptionsBuilder{TDbContext}})"/>
        /// And than migrated resolved context
        /// </summary>
        /// <typeparam name="TDbContext"></typeparam>
        /// <typeparam name="TBuilder"></typeparam>
        /// <param name="builder"></param>
        /// <param name="optionsConfiguration"></param>
        /// <returns></returns>
        public static NinjectedApplicationBuilder <TBuilder> UseAndMigrate <TDbContext, TBuilder>
            (this NinjectedApplicationBuilder <TBuilder> builder
            , Func <DbContextOptionsBuilder <TDbContext>, DbContextOptionsBuilder <TDbContext> > optionsConfiguration)
            where TBuilder : NinjectedApplicationBuilder <TBuilder>
            where TDbContext : DbContext
        {
            builder = Use(builder, optionsConfiguration);
            builder.Kernel.Get <TDbContext>().Database.Migrate();

            return(builder);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Injects specified <see cref="DbContext"/> with configured <see cref="DbContextOptions"/>
        /// </summary>
        /// <typeparam name="TDbContext"></typeparam>
        /// <typeparam name="TBuilder"></typeparam>
        /// <param name="builder"></param>
        /// <param name="optionsConfiguration"></param>
        /// <returns></returns>
        public static NinjectedApplicationBuilder <TBuilder> Use <TDbContext, TBuilder>
            (this NinjectedApplicationBuilder <TBuilder> builder
            , Func <DbContextOptionsBuilder <TDbContext>, DbContextOptionsBuilder <TDbContext> > optionsConfiguration)
            where TBuilder : NinjectedApplicationBuilder <TBuilder>
            where TDbContext : DbContext
        {
            var options = optionsConfiguration(new DbContextOptionsBuilder <TDbContext>()).Options;

            builder.Kernel.Bind <TDbContext>().ToSelf().WithConstructorArgument(options);

            return(builder);
        }