Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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;
 }