public static string Update(SiteSettings ss, int groupId)
        {
            var groupModel = new GroupModel(ss, groupId, setByForm: true);
            var invalid    = GroupValidators.OnUpdating(ss, groupModel);

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

            default: return(invalid.MessageJson());
            }
            if (groupModel.AccessStatus != Databases.AccessStatuses.Selected)
            {
                return(Messages.ResponseDeleteConflicts().ToJson());
            }
            var error = groupModel.Update(ss);

            if (error.Has())
            {
                return(error == Error.Types.UpdateConflicts
                    ? Messages.ResponseUpdateConflicts(groupModel.Updator.Name).ToJson()
                    : new ResponseCollection().Message(error.Message()).ToJson());
            }
            else
            {
                var res = new GroupsResponseCollection(groupModel);
                return(ResponseByUpdate(res, ss, groupModel)
                       .PrependComment(
                           ss,
                           ss.GetColumn("Comments"),
                           groupModel.Comments,
                           groupModel.VerType)
                       .ToJson());
            }
        }