コード例 #1
0
        //Is called by the URL ~/Browse/Details?id=<id>
        public async Task <IActionResult> Details(Guid id)
        {
            //Getting data from db
            var eventUsers = await _eventUserService.GetEvent_UsersAsync();

            var eventOwners = await _eventOwnerService.GetEvent_OwnersAsync();

            var events = await _eventService.GetEventsAsync();

            var applicationUsers = await _applicationUserService.GetApplicationUsersAsync();

            //Selecting the owner of the event with id == id
            var eventOwner = eventOwners.Where(x => x.Event == id).First();

            //Sending data to view
            ViewData["Event"]      = events.Where(x => x.Id == id).First();
            ViewData["EventUsers"] = eventUsers.Where(x => x.Event == id);
            ViewData["Owner"]      = applicationUsers.Where(x => x.Email == eventOwner.Owner).First();

            return(View());
        }
コード例 #2
0
        //----------------------------------------------Project-Made Methods

        //Used to list all the events the user has created, similar to "~/Browse"
        //Select the specific events for the user in the view.
        public async Task <IActionResult> Delete(Guid eventId, string userId)
        {
            //Error checking
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            int success = 0;

            //Gets the specific event to delete
            var allEvents = await _eventService.GetEventsAsync();

            var events = allEvents.Where(x => x.Id == eventId);

            if (events.Count() != 1)
            {
                ViewData["Success"] = success == 1 ? "true" : "false";
                return(View());
            }
            var eventToDelete = events.First();

            //Gets the user who is trying to delete the event
            var allUsers = await _applicationUserService.GetApplicationUsersAsync();

            var users = allUsers.Where(x => x.Id == userId);

            if (users.Count() != 1)
            {
                ViewData["Success"] = success == 1 ? "true" : "false";
                return(View());
            }
            var user = users.First();

            //Gets the Event_Owner of the event
            var allEventOwners = await _event_OwnerService.GetEvent_OwnersAsync();

            var eventOwners = allEventOwners.Where(x => x.Owner == user.Email && x.Event == eventId);

            if (eventOwners.Count() != 1)
            {
                ViewData["Success"] = success == 1 ? "true" : "false";
                return(View());
            }
            var eventOwner = eventOwners.First();

            //Removes all the Event_Users fromthe event
            var allEventUsers = await _event_UserService.GetEvent_UsersAsync();

            var eventUsers = allEventUsers.Where(x => x.Event == eventId);

            foreach (Event_User eventUser in eventUsers)
            {
                _context.Event_Users.Remove(eventUser);
                success = await _context.SaveChangesAsync();
            }

            //Deletes the event
            _context.Events.Remove(eventToDelete);
            success = await _context.SaveChangesAsync();

            ViewData["Success"]      = success == 1 ? "true" : "false";
            ViewData["DeletedEvent"] = eventToDelete;

            return(View());
        }