Beispiel #1
0
        // GET: Admin/AdminActivities
        public async Task <IActionResult> Index()
        {
            //var res = _context.Activities.Zip(userManager.Users, (a, u) => new { Activty = a, User = u });

            var model = new AdminActivityViewModel();

            foreach (var activity in _context.Activities)
            {
                var adminActivityViewModel = new AdminActivityViewModel
                {
                    ActivityId   = activity.ActivityId,
                    ActivityName = activity.ActivityName,
                    CreationDate = activity.CreationDate,
                    VoteCount    = activity.VoteCount
                };

                model.Activities.Add(adminActivityViewModel);
            }

            foreach (var user in userManager.Users.Where(u => !_context.UserActivities.Select(ua => ua.UserId).Contains(u.Id)).OrderBy(u => u.UserName))
            {
                if (await userManager.IsInRoleAsync(user, "Bruger"))
                {
                    var adminActivityViewModel = new AdminActivityViewModel
                    {
                        UserName = user.UserName
                    };

                    model.Users.Add(adminActivityViewModel);
                }
            }
            return(View(model));
        }
        public async Task <IActionResult> Details(int id)
        {
            var activity = await Task.Run(() => _dataAccess.GetActivity(id));

            if (activity == null)
            {
                return(new HttpStatusCodeResult(404));
            }

            var avm = new AdminActivityViewModel
            {
                Id            = activity.Id,
                CampaignName  = activity.Campaign.Name,
                CampaignId    = activity.Campaign.Id,
                Title         = activity.Name,
                Description   = activity.Description,
                StartDateTime = activity.StartDateTimeUtc,
                EndDateTime   = activity.EndDateTimeUtc,
                Volunteers    = _dataAccess.ActivitySignups.Where(asup => asup.Activity.Id == id).Select(u => u.User.UserName).ToList(),
                Tasks         = activity.Tasks.Select(t => new TaskViewModel
                {
                    Id          = t.Id,
                    ActivityId  = id,
                    Name        = t.Name,
                    Description = t.Description
                })
                                .OrderBy(t => t.StartDateTime).ThenBy(t => t.Name).ToList(),
                ImageUrl = activity.ImageUrl
            };

            return(View(avm));
        }
        public IActionResult Details(int id)
        {
            var activity = _dataAccess.GetActivity(id);

            if (activity == null)
            {
                return new HttpStatusCodeResult(404);
            }

            var avm = new AdminActivityViewModel
            {
                Id = activity.Id,
                CampaignName = activity.Campaign.Name,
                CampaignId = activity.Campaign.Id,
                Title = activity.Name,
                Description = activity.Description,
                StartDateTime = activity.StartDateTimeUtc,
                EndDateTime = activity.EndDateTimeUtc,
                Volunteers = _dataAccess.ActivitySignups.Where(asup => asup.Activity.Id == id).Select(u => u.User.UserName).ToList(),
                Tasks = activity.Tasks.Select(t => new TaskViewModel
                { Id = t.Id,
                    ActivityId =id,
                    Name = t.Name,
                    Description = t.Description })
                    .OrderBy(t => t.StartDateTime).ThenBy(t=> t.Name).ToList(),
                ImageUrl = activity.ImageUrl
            };

            return View(avm);
        }