Ejemplo n.º 1
0
        public IHttpActionResult Leave(int id)
        {
            var household = HouseholdHelper.GetByIdWithJoinedUsers(id);

            if (household == null)
            {
                return(NotFound());
            }

            var currentUserId = User.Identity.GetUserId();
            var IsOwner       = household.OwnerId == currentUserId;
            var isJoined      = household.IsJoinedById(currentUserId);

            if (IsOwner || !isJoined)
            {
                return(Unauthorized());
            }

            var user = UserHelper.GetUserById(currentUserId);

            if (user == null)
            {
                return(NotFound());
            }

            household.JoinedUsers.Remove(user);
            DbContext.SaveChanges();


            return(Ok());
        }