public async Task <IActionResult> PutUser(int id, User user)
        {
            if (id != user.Id)
            {
                return(BadRequest());
            }

            _context.Entry(user).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        private void LoadChildrenRecursive(SecurableItem securableItem)
        {
            AuthorizationDbContext.Entry(securableItem)
            .Collection(s => s.SecurableItems)
            .Load();

            foreach (var childSecurableItem in securableItem.SecurableItems)
            {
                LoadChildrenRecursive(childSecurableItem);
            }
        }
Exemple #3
0
        private void LoadChildrenRecursive(SecurableItem securableItem)
        {
            if (securableItem.IsDeleted)
            {
                return;
            }

            AuthorizationDbContext.Entry(securableItem)
            .Collection(s => s.SecurableItems)
            .Load();

            foreach (var childSecurableItem in securableItem.SecurableItems.Where(p => !p.IsDeleted))
            {
                LoadChildrenRecursive(childSecurableItem);
            }
        }
        public IActionResult Delete(String eventId)
        {
            int   id = int.Parse(eventId);
            Event e  = DbContext
                       .Events
                       .Include(e => e.Creator)
                       .Where(e => e.EventId == id)
                       .FirstOrDefault();

            if (e == null)
            {
                return(NotFound(
                           new CRUDResponse
                {
                    IsSuccess = false,
                    Message = "Event with ID " + eventId + " was not found"
                }));
            }
            DbContext.Entry(e).Reference(p => p.Creator).Load();
            var currentUser = GetCurrentUser();

            if (
                // creator of this event has been deleted from the db
                e.Creator == null
                // user which is trying to deleted the event does not have permissions
                || e.Creator.Id != currentUser.Id)
            {
                return(Unauthorized(
                           new CRUDResponse
                {
                    IsSuccess = false,
                    Message = "You do not have permissions to delete event with id " + eventId
                }));
            }
            DbContext.Events.Remove(e);
            DbContext.SaveChanges();
            return(Ok(new CRUDResponse
            {
                IsSuccess = true,
                Message = "Event has been deleted"
            }));
        }