public NewtonsoftJsonResult UsersJson(string id)
        {
            var allowed = (userContext.ContextName == UserContext.UserContextName.Administration &&
                           Permission.HasPermission(true, true, Permission.PermissionName.CanViewAdminUsers))
                          ||
                          (userContext.ContextName == UserContext.UserContextName.Organisation &&
                           Permission.HasPermission(true, true, Permission.PermissionName.CanViewOrganisationUsers))
                          ||
                          (userContext.ContextName == UserContext.UserContextName.Provider &&
                           Permission.HasPermission(true, true, Permission.PermissionName.CanViewProviderUsers));
            // If we reach here the above didn't throw an exception
            var model = new ManageUsersViewModel(id);

            model.Populate(db, userContext, false /*deferredLoad*/);
            return(model.ToJsonResult());
        }