private void PopulateDb(PickMeAppContext context)
    {
      this.CreateTestUsers();
      context.Groups.AddRange(BuildGroupList());
      context.Clients.AddRange(BuildClientsList());
      context.SaveChanges();

      this.AddUsersToGroup(context);
    }
 public async void Seed(PickMeAppContext context)
 {
   if (!context.Database.Exists() || context.ChangeTracker.HasChanges())
   {
     this.AuthRepository = new AuthRepository(context);
     this.TestUsers = this.BuildTestUserList();
     this.PopulateDb(context);
   }
 }
    private void AddUserToGroup(Group group, string userEmail, string tags, PickMeAppContext context)
    {
      var user = context.Users.FirstOrDefault(u => u.Email == userEmail);

      if (user != null)
      {
        user.UserGroupInfos = user.UserGroupInfos ?? new List<UserGroupInfo>();
        user.UserGroupInfos.Add(new UserGroupInfo { GroupId = group.Id, UserId = user.Id, Tags = tags, Group = group });
      }
    }
    private void AddUsersToGroup(PickMeAppContext context)
    {
      var infos = this.GetUserGroupInfo();
      var targetGroup = context.Groups.FirstOrDefault(g => g.Name == "Epam Systems Inc");
      var targetInfos = infos.Where(i => i.Value.GroupId == targetGroup.Id);

      if(targetGroup == null) return;

      this.TestUsers.ForEach(u =>
        {
          var userGroupTags = targetInfos.First(i => i.Key == u.Email).Value.Tags;
          this.AddUserToGroup(targetGroup, u.Email, userGroupTags, context);
        });

      context.SaveChanges();
    }
 public ProfileController(PickMeAppContext _db) : base(_db)
 {
     db = _db;
 }
 public RideController(PickMeAppContext _db)
     : base(_db)
 {
     db = _db;
 }
 public AuthController(PickMeAppContext _db) : base(_db)
 {
     db = _db;
 }
 public BaseRepository()
 {
   this.DbContext = new PickMeAppContext();
 }
 public AuthRepository(PickMeAppContext context)
 {
   this._ctx = context;
   this._userManager = new UserManager<User>(new UserStore<User>(this._ctx));
 }
 public BaseController(PickMeAppContext _db)
 {
     db = _db;
 }