public static string Delete(SiteSettings ss, int groupId)
        {
            var groupModel = new GroupModel(ss, groupId);
            var invalid    = GroupValidators.OnDeleting(ss, groupModel);

            switch (invalid)
            {
            case Error.Types.None: break;

            default: return(invalid.MessageJson());
            }
            var error = groupModel.Delete(ss);

            if (error.Has())
            {
                return(error.MessageJson());
            }
            else
            {
                Sessions.Set("Message", Messages.Deleted(groupModel.Title.Value).Html);
                var res = new GroupsResponseCollection(groupModel);
                res
                .SetMemory("formChanged", false)
                .Href(Locations.Index("Groups"));
                return(res.ToJson());
            }
        }