public override IEnumerable <Team> Execute(GetUserTeamsQuery query, ICommandAndQueryDispatcher dispatcher) { return(db.Teams .Include(x => x.Owner) .Include(x => x.Members.Select(m => m.User)) .Where(x => x.Owner.Id == query.UserId || x.Members.Select(m => m.User.Id) .Contains(query.UserId)).ToList()); }
public void ThenUserShouldBeFullMemberOfTeamBlah(string userId, int teamId) { var userTeamsQuery = new GetUserTeamsQuery(userId); IEnumerable <Team> teams = context.Dispatcher.ExecuteQuery(userTeamsQuery); teams.Should() .Contain( t => t.Members.SingleOrDefault(m => m.User.Id == userId && m.Status == MembershipStatus.Confimed) != null); }
public UserTeamsController(TeamCommunicationDbContext context) { _context = context; this.factory = new DbContextFactory(); this.repo = new UserTeamRepository(factory); this.query = new GetUserTeamsQuery(factory.CreateDbContext); this.facade = new UserTeamFacade(repo, query); this.teamRepo = new TeamRepository(factory); this.teamQuery = new GetTeamsQuery(factory.CreateDbContext); this.teamFacade = new TeamFacade(teamRepo, teamQuery); this.userRepo = new UserRepository(factory); this.usersQuery = new GetUsersQuery(factory.CreateDbContext); this.userFacade = new UserFacade(userRepo, usersQuery); }
// // GET: /Team/ public ActionResult Index() { IQuery <IEnumerable <Team> > command = new GetUserTeamsQuery(HttpContext.User.Identity.GetUserId()); IEnumerable <Team> teams = dispatcher.ExecuteQuery(command).ToList(); if (teams.Any()) { List <TeamDetailsViewModel> teamDetailsViewModels = Mapper.Map <IEnumerable <Team>, List <TeamDetailsViewModel> >(teams); ApplicationUser currentUser = dispatcher.ExecuteQuery(new GetUserByIdQuery(HttpContext.User.Identity.GetUserId())); foreach (TeamDetailsViewModel team in teamDetailsViewModels) { team.IsEditable = CurrentUserIsOwnerOrTeamManager(currentUser, team); } return(View(teamDetailsViewModels)); } ViewBag.Message = "Welcome " + ControllerContext.HttpContext.User.Identity.Name; return(View("IndexNoTeams")); }
public UserTeamFacade(UserTeamRepository repository, GetUserTeamsQuery query) { this.repository = repository; this.query = query; }