kidroca

ASP NET Users Without Repository

Feb 17th, 2016
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.73 KB | None | 0 0
  1. // Service that will use users
  2.  public class QuizesService : IQuizesService
  3. {
  4.     private readonly IDbRepository<Quiz> quizzes;
  5.     private readonly UserManager<ApplicationUser> manager;
  6.     private readonly IIdentifierProvider identifierProvider;
  7.  
  8.     public QuizesService(
  9.         IDbRepository<Quiz> quizzes,
  10.         IIdentifierProvider identifierProviders,
  11.         UserManager<ApplicationUser> manager)
  12.     {
  13.         this.quizzes = quizzes;
  14.         this.identifierProvider = identifierProviders;
  15.         this.manager = manager;
  16.  
  17.         // Now you can access users
  18.         var user = this.manager.Users.FirstOrDefault(u => u.Email == "nesthosi");
  19.         this.manager.Delete(user);
  20.     }
  21. }
  22.  
  23. // In Autofac
  24. private static void RegisterServices(ContainerBuilder builder)
  25. {
  26.     builder.Register(x => new ApplicationDbContext())
  27.         .As<DbContext>()
  28.         .InstancePerRequest();
  29.     builder.Register(x => new HttpCacheService())
  30.         .As<ICacheService>()
  31.         .InstancePerRequest();
  32.     builder.Register(x => new IdentifierProvider())
  33.         .As<IIdentifierProvider>()
  34.         .InstancePerRequest();
  35.  
  36.     // Add This
  37.     builder.RegisterType<UserStore<ApplicationUser>>()
  38.         .As<IUserStore<ApplicationUser>>();
  39.     builder.RegisterType<UserManager<ApplicationUser>>();
  40.     // Up to here
  41.  
  42.     var servicesAssembly = Assembly.GetAssembly(typeof(IQuizesService));
  43.     builder.RegisterAssemblyTypes(servicesAssembly)
  44.         .AsImplementedInterfaces();
  45.  
  46.     builder.RegisterGeneric(typeof(DbRepository<>))
  47.         .As(typeof(IDbRepository<>))
  48.         .InstancePerRequest();
  49.  
  50.     builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
  51.         .AssignableTo<BaseController>().PropertiesAutowired();
  52. }
Add Comment
Please, Sign In to add comment