示例#1
0
        public async Task <IActionResult> Details(Guid id)
        {
            var ev = _context.Events
                     .Include(e => e.Promotor)
                     .SingleOrDefault(e => e.Id == id);

            var acts = _context.EventActs
                       .Where(ea => ea.EventId == ev.Id)
                       .Include(ea => ea.Event)
                       .Select(ea => _context.Acts
                               .SingleOrDefault(a => a.Id == ea.ActId))
                       .ToList();

            var model = new EventsDetailsVM()
            {
                Id             = ev.Id,
                Name           = ev.Name,
                AddressLine    = ev.AddressLine,
                PostalCode     = ev.PostalCode,
                City           = ev.City,
                Start          = $"{ev.StartDate.ToShortDateString()} {string.Format("{0:00}:{1:00}", ev.StartTime.Hours, ev.StartTime.Minutes)}",
                End            = $"{ev.EndDate.ToShortDateString()} {string.Format("{0:00}:{1:00}", ev.EndTime.Hours, ev.EndTime.Minutes)}",
                Promotor       = ev.Promotor?.Email ?? "",
                PromotorId     = ev.Promotor?.Id ?? "",
                LoggedInUserId = (await GetCurrentUserAsync()).Id,
                Acts           = acts
            };

            ViewBag.Title = "Event details";

            return(View(model));
        }
示例#2
0
        public async Task <IActionResult> ConfirmDeleteEvent(Guid id)
        {
            var ev = _context.Events
                     .Include(e => e.Promotor)
                     .SingleOrDefault(e => e.Id == id);

            if (ev == null)
            {
                TempData["EventNotFound"] = $"Event with id {id} does not exist.";

                return(RedirectToAction("Overview"));
            }

            if ((await GetCurrentUserAsync()).Id != ev.Promotor.Id && !await _userManager.IsInRoleAsync(await GetCurrentUserAsync(), "Admin"))
            {
                TempData["NoPermission"] = $"You have no permission to delete this event.";

                return(RedirectToAction("Overview"));
            }

            var acts = _context.EventActs
                       .Where(ea => ea.EventId == ev.Id)
                       .Include(ea => ea.Event)
                       .Select(ea => _context.Acts
                               .SingleOrDefault(a => a.Id == ea.ActId))
                       .ToList();

            var model = new EventsDetailsVM()
            {
                Id          = ev.Id,
                Name        = ev.Name,
                AddressLine = ev.AddressLine,
                PostalCode  = ev.PostalCode,
                City        = ev.City,
                Start       = $"{ev.StartDate.ToShortDateString()} {string.Format("{0:00}:{1:00}", ev.StartTime.Hours, ev.StartTime.Minutes)}",
                End         = $"{ev.EndDate.ToShortDateString()} {string.Format("{0:00}:{1:00}", ev.EndTime.Hours, ev.EndTime.Minutes)}",
                Promotor    = ev.Promotor?.Email ?? "",
                Acts        = acts
            };

            ViewBag.Title = "Delete event";

            return(View(model));
        }