public ErrorditeAuthorisationException(IOrganisationEntity entity, User user)
 {
     Data.Add("UserId", user.Id);
     Data.Add("OrganisationId", user.OrganisationId);
     Data.Add("OrganisationEntity-Name", entity.GetType().Name);
     Data.Add("OrganisationEntity-OrganisationId", entity.OrganisationId);
 }
        public void Authorise(IOrganisationEntity entity, User currentUser)
        {
            if (ReferenceEquals(currentUser, User.System()))
            {
                return;
            }

            if (!entity.OrganisationId.ToLowerInvariant().Equals(currentUser.OrganisationId.ToLowerInvariant()))
            {
                throw new ErrorditeAuthorisationException(entity, currentUser);
            }
        }