Esempio n. 1
0
        public async Task <ActionResult> DeleteEvent(long groupId, long eventId)
        {
            GroupUser groupUser = await repository.GetGroupUser(groupId, UserId);

            if (groupUser.Role == Role.user || groupUser.Role == Role.creator)
            {
                if (!await repository.HostMatchesCurrentById(groupId, UserId, eventId))
                {
                    return(Unauthorized("Error: Only the creator of this event or a group admin can delete it."));
                }
            }

            bool didUpdate = await repository.DeleteIndividualEventAsync(groupId, eventId);

            if (didUpdate == true)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest("Error: Event did not update."));
            }
        }