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());
            }
        }
        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());
            }
        }
Exemplo n.º 3
0
 private static ResponseCollection ResponseByUpdate(
     GroupsResponseCollection res,
     SiteSettings ss,
     GroupModel groupModel)
 {
     return(res
            .Ver()
            .Timestamp()
            .Val("#VerUp", false)
            .Disabled("#VerUp", false)
            .Html("#HeaderTitle", groupModel.Title.Value)
            .Html("#RecordInfo", new HtmlBuilder().RecordInfo(
                      baseModel: groupModel, tableName: "Groups"))
            .SetMemory("formChanged", false)
            .Message(Messages.Updated(groupModel.Title.Value))
            .Comment(ss, groupModel.Comments, groupModel.DeleteCommentId)
            .ClearFormData());
 }
        public static string Restore(SiteSettings ss, int groupId)
        {
            var groupModel = new GroupModel();
            var invalid    = GroupValidators.OnRestoring();

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

            default: return(invalid.MessageJson());
            }
            var error = groupModel.Restore(ss, groupId);

            if (error.Has())
            {
                return(error.MessageJson());
            }
            else
            {
                var res = new GroupsResponseCollection(groupModel);
                return(res.ToJson());
            }
        }