public static EventViewModel WithUserInfo(this EventViewModel viewModel, Event campaignEvent, ClaimsPrincipal user, IAllReadyDataAccess dataAccess) { if (user.IsSignedIn()) { var userId = user.GetUserId(); var appUser = dataAccess.GetUser(userId); viewModel.UserId = userId; viewModel.UserSkills = appUser?.AssociatedSkills?.Select(us => us.Skill).ToList(); viewModel.IsUserVolunteeredForEvent = dataAccess.GetEventSignups(viewModel.Id, userId).Any(); var assignedTasks = campaignEvent.Tasks.Where(t => t.AssignedVolunteers.Any(au => au.User.Id == userId)).ToList(); viewModel.UserTasks = new List <TaskViewModel>(assignedTasks.Select(data => new TaskViewModel(data, userId)).OrderBy(task => task.StartDateTime)); var unassignedTasks = campaignEvent.Tasks.Where(t => t.AssignedVolunteers.All(au => au.User.Id != userId)).ToList(); viewModel.Tasks = new List <TaskViewModel>(unassignedTasks.Select(data => new TaskViewModel(data, userId)).OrderBy(task => task.StartDateTime)); viewModel.SignupModel = new EventSignupViewModel() { EventId = viewModel.Id, UserId = userId, Name = appUser.Name, PreferredEmail = appUser.Email, PreferredPhoneNumber = appUser.PhoneNumber }; } else { viewModel.UserTasks = new List <TaskViewModel>(); } return(viewModel); }
public MyEventsResultsScreenViewModel Handle(GetMyEventsQuery message) { var myEvents = _allReadyDataAccess.GetEventSignups(message.UserId).Where(a => !a.Event.Campaign.Locked); var signedUp = myEvents.Select(a => new EventViewModel(a.Event)).ToList(); return(new MyEventsResultsScreenViewModel("My Events", signedUp)); }
public EventViewModel Handle(ShowEventQuery message) { var @event = _dataAccess.GetEvent(message.EventId); if (@event == null || @event.Campaign.Locked) { return(null); } var eventViewModel = new EventViewModel(@event); var userId = _userManager.GetUserId(message.User); var appUser = _dataAccess.GetUser(userId); eventViewModel.UserId = userId; eventViewModel.UserSkills = appUser?.AssociatedSkills?.Select(us => new SkillViewModel(us.Skill)).ToList(); eventViewModel.IsUserVolunteeredForEvent = _dataAccess.GetEventSignups(eventViewModel.Id, userId).Any(); var assignedTasks = @event.Tasks.Where(t => t.AssignedVolunteers.Any(au => au.User.Id == userId)).ToList(); eventViewModel.UserTasks = new List <TaskViewModel>(assignedTasks.Select(data => new TaskViewModel(data, userId)).OrderBy(task => task.StartDateTime)); var unassignedTasks = @event.Tasks.Where(t => t.AssignedVolunteers.All(au => au.User.Id != userId)).ToList(); eventViewModel.Tasks = new List <TaskViewModel>(unassignedTasks.Select(data => new TaskViewModel(data, userId)).OrderBy(task => task.StartDateTime)); eventViewModel.SignupModel = new EventSignupViewModel { EventId = eventViewModel.Id, UserId = userId, Name = appUser?.Name, PreferredEmail = appUser?.Email, PreferredPhoneNumber = appUser?.PhoneNumber }; return(eventViewModel); }
public static EventViewModel WithUserInfo(this EventViewModel viewModel, Models.Event campaignEvent, ClaimsPrincipal user, IAllReadyDataAccess dataAccess, UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signedInManager) { if (signedInManager.IsSignedIn(user)) { var userId = userManager.GetUserId(user); var appUser = dataAccess.GetUser(userId); viewModel.UserId = userId; viewModel.UserSkills = appUser?.AssociatedSkills?.Select(us => new SkillViewModel(us.Skill)).ToList(); viewModel.IsUserVolunteeredForEvent = dataAccess.GetEventSignups(viewModel.Id, userId).Any(); var assignedTasks = campaignEvent.Tasks.Where(t => t.AssignedVolunteers.Any(au => au.User.Id == userId)).ToList(); viewModel.UserTasks = new List<TaskViewModel>(assignedTasks.Select(data => new TaskViewModel(data, userId)).OrderBy(task => task.StartDateTime)); var unassignedTasks = campaignEvent.Tasks.Where(t => t.AssignedVolunteers.All(au => au.User.Id != userId)).ToList(); viewModel.Tasks = new List<TaskViewModel>(unassignedTasks.Select(data => new TaskViewModel(data, userId)).OrderBy(task => task.StartDateTime)); viewModel.SignupModel = new EventSignupViewModel() { EventId = viewModel.Id, UserId = userId, Name = appUser.Name, PreferredEmail = appUser.Email, PreferredPhoneNumber = appUser.PhoneNumber }; } else { viewModel.UserTasks = new List<TaskViewModel>(); } return viewModel; }