// retrieves event and related EventUserPhotos, UserIdToVote, UserIdToVoterName to represent to whom logged in user voted. public async Task <IActionResult> Details(int?eventId) { if (eventId == null) { return(NotFound()); } var prevEvent = await _context.Events.FirstOrDefaultAsync(e => e.EventId == eventId); IEnumerable <EventUserPhotos> evtUserPhoto = _context.EventUserPhotos.Include(e => e.User).Where(e => e.EventId == eventId); var userIdToVote = evtUserPhoto.FirstOrDefault(ev => ev.UserId == User.Identity.Name)?.UserIdToVote; // just gets user's first name string userIdToVoteName = _context.Users.SingleOrDefault(u => u.UserId == userIdToVote)?.FirstName; if (prevEvent == null) { return(NotFound()); } EventPhotoModel epModel = new EventPhotoModel { Events = prevEvent, EventUserPhotos = evtUserPhoto, UserIdToVote = userIdToVote, UserIdToVoteName = userIdToVoteName }; return(View(epModel)); }
public IActionResult EditEvent(int eventId) { Events selectedEvent = _context.Events.SingleOrDefault(e => e.EventId == eventId); IEnumerable <EventUserPhotos> selectedUserPhotos = _context.EventUserPhotos.Include(e => e.User).Where(e => e.EventId == eventId).AsQueryable <EventUserPhotos>(); EventPhotoModel editingModel = new EventPhotoModel { Events = selectedEvent, EventUserPhotos = selectedUserPhotos }; return(View(editingModel)); }
public ViewResult CurrentEvent() { Events curEvent = _context.Events.SingleOrDefault(e => e.IsClosed == false); if (curEvent == null) { return(View(new EventPhotoModel())); } IEnumerable <EventUserPhotos> evtUserPhoto = _context.EventUserPhotos.Include(e => e.User).Where(e => e.EventId == curEvent.EventId); var userIdToVote = evtUserPhoto?.FirstOrDefault(ev => ev.UserId == User.Identity.Name)?.UserIdToVote; string userIdToVoteName = _context.Users.SingleOrDefault(u => u.UserId == userIdToVote)?.FirstName; EventPhotoModel epModel = new EventPhotoModel { Events = curEvent, EventUserPhotos = evtUserPhoto, UserIdToVote = userIdToVote, UserIdToVoteName = userIdToVoteName }; return(View(epModel)); }
public IActionResult EditEvent(IFormFile introPicture, EventPhotoModel editingEvent) { if (ModelState.IsValid) { // save new event if (editingEvent.Events.EventId == 0) { _context.Events.Add(editingEvent.Events); } else { // replace existing data to new input data Events savingEvent = _context.Events.SingleOrDefault(e => e.EventId == editingEvent.Events.EventId); if (savingEvent != null) { savingEvent.EventName = editingEvent.Events.EventName; savingEvent.EventRule = editingEvent.Events.EventRule; savingEvent.IsClosed = editingEvent.Events.IsClosed; savingEvent.StartDate = editingEvent.Events.StartDate; savingEvent.EndDate = editingEvent.Events.EndDate; if (introPicture != null && introPicture.Length > 0) { // when change to new Intro picture using (MemoryStream ms = new MemoryStream()) { introPicture.CopyTo(ms); byte[] imageBytes = ms.ToArray(); savingEvent.IntroImage = imageBytes; } } } } _context.SaveChanges(); // TempData is used in _AdminLayout to show what have chagned TempData["actionresult"] = $"{editingEvent.Events.EventName} has been saved"; return(RedirectToAction("Index")); } else { var returnData = _context.Events.FirstOrDefault(e => e.EventId == editingEvent.Events.EventId); return(View(returnData)); } }