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)); }
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)); }