public static string Delete(SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(ss, wikiId); var invalid = WikiValidators.OnDeleting(ss, wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = wikiModel.Delete(ss, notice: true); if (error.Has()) { return(error.MessageJson()); } else { Sessions.Set("Message", Messages.Deleted(wikiModel.Title.Value).Html); var res = new WikisResponseCollection(wikiModel); res .SetMemory("formChanged", false) .Href(Locations.ItemIndex(Rds.ExecuteScalar_long(statements: Rds.SelectSites( tableType: Sqls.TableTypes.Deleted, column: Rds.SitesColumn().ParentId(), where : Rds.SitesWhere() .TenantId(Sessions.TenantId()) .SiteId(wikiModel.SiteId))))); return(res.ToJson()); } }
private static ResponseCollection ResponseByUpdate( WikisResponseCollection res, SiteSettings ss, WikiModel wikiModel) { return(res .Ver() .Timestamp() .Val("#VerUp", false) .FieldResponse(ss, wikiModel) .Disabled("#VerUp", false) .Html("#HeaderTitle", wikiModel.Title.DisplayValue) .Html("#RecordInfo", new HtmlBuilder().RecordInfo( baseModel: wikiModel, tableName: "Wikis")) .Html("#Links", new HtmlBuilder().Links( ss: ss, id: wikiModel.WikiId)) .SetMemory("formChanged", false) .Message(Messages.Updated(wikiModel.Title.DisplayValue)) .Comment( ss, ss.GetColumn("Comments"), wikiModel.Comments, wikiModel.DeleteCommentId) .ClearFormData()); }
public static string Update(IContext context, SiteSettings ss, long wikiId) { var wikiModel = new WikiModel( context: context, ss: ss, wikiId: wikiId, setByForm: true); var invalid = WikiValidators.OnUpdating( context: context, ss: ss, wikiModel: wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } if (wikiModel.AccessStatus != Databases.AccessStatuses.Selected) { return(Messages.ResponseDeleteConflicts(context: context).ToJson()); } var error = wikiModel.Update( context: context, ss: ss, notice: true, permissions: context.Forms.List("CurrentPermissionsAll"), permissionChanged: context.Forms.Exists("CurrentPermissionsAll")); switch (error) { case Error.Types.None: var res = new WikisResponseCollection(wikiModel); res.ReplaceAll("#Breadcrumb", new HtmlBuilder() .Breadcrumb(context: context, ss: ss)); return(ResponseByUpdate(res, context, ss, wikiModel) .PrependComment( context: context, ss: ss, column: ss.GetColumn(context: context, columnName: "Comments"), comments: wikiModel.Comments, verType: wikiModel.VerType) .ToJson()); case Error.Types.UpdateConflicts: return(Messages.ResponseUpdateConflicts( context: context, data: wikiModel.Updator.Name) .ToJson()); default: return(error.MessageJson(context: context)); } }
public static string Delete(IContext context, SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(context, ss, wikiId); var invalid = WikiValidators.OnDeleting( context: context, ss: ss, wikiModel: wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } var error = wikiModel.Delete(context: context, ss: ss, notice: true); switch (error) { case Error.Types.None: SessionUtilities.Set( context: context, message: Messages.Deleted( context: context, data: wikiModel.Title.Value)); var res = new WikisResponseCollection(wikiModel); res .SetMemory("formChanged", false) .Href(Locations.ItemIndex( context: context, id: Rds.ExecuteScalar_long( context: context, statements: Rds.SelectSites( tableType: Sqls.TableTypes.Deleted, column: Rds.SitesColumn().ParentId(), where : Rds.SitesWhere() .TenantId(context.TenantId) .SiteId(wikiModel.SiteId))))); return(res.ToJson()); default: return(error.MessageJson(context: context)); } }
public static string Update(SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(ss, wikiId, setByForm: true); var invalid = WikiValidators.OnUpdating(ss, wikiModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } if (wikiModel.AccessStatus != Databases.AccessStatuses.Selected) { return(Messages.ResponseDeleteConflicts().ToJson()); } var error = wikiModel.Update( ss: ss, notice: true, permissions: Forms.List("CurrentPermissionsAll"), permissionChanged: Forms.Exists("CurrentPermissionsAll")); if (error.Has()) { return(error == Error.Types.UpdateConflicts ? Messages.ResponseUpdateConflicts(wikiModel.Updator.Name).ToJson() : new ResponseCollection().Message(error.Message()).ToJson()); } else { var res = new WikisResponseCollection(wikiModel); res.ReplaceAll("#Breadcrumb", new HtmlBuilder().Breadcrumb(ss.SiteId)); return(ResponseByUpdate(res, ss, wikiModel) .PrependComment( ss, ss.GetColumn("Comments"), wikiModel.Comments, wikiModel.VerType) .ToJson()); } }
public static ResponseCollection FieldResponse( this WikisResponseCollection res, IContext context, SiteSettings ss, WikiModel wikiModel) { var mine = wikiModel.Mine(context: context); ss.EditorColumns .Select(columnName => ss.GetColumn(context: context, columnName: columnName)) .Where(column => column != null) .ForEach(column => { switch (column.Name) { case "WikiId": res.Val( "#Wikis_WikiId", wikiModel.WikiId.ToResponse(context: context, ss: ss, column: column)); break; case "Title": res.Val( "#Wikis_Title", wikiModel.Title.ToResponse(context: context, ss: ss, column: column)); break; case "Body": res.Val( "#Wikis_Body", wikiModel.Body.ToResponse(context: context, ss: ss, column: column)); break; default: break; } }); return(res); }
public static string Restore(SiteSettings ss, long wikiId) { var wikiModel = new WikiModel(); var invalid = WikiValidators.OnRestoring(); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = wikiModel.Restore(ss, wikiId); if (error.Has()) { return(error.MessageJson()); } else { var res = new WikisResponseCollection(wikiModel); return(res.ToJson()); } }
private static ResponseCollection ResponseByUpdate( WikisResponseCollection res, IContext context, SiteSettings ss, WikiModel wikiModel) { if (context.Forms.Bool("IsDialogEditorForm")) { var view = Views.GetBySession( context: context, ss: ss, setSession: false); var gridData = new GridData( context: context, ss: ss, view: view, where : Rds.WikisWhere().WikiId(wikiModel.WikiId)); var columns = ss.GetGridColumns( context: context, checkPermission: true); return(res .ReplaceAll( $"[data-id=\"{wikiModel.WikiId}\"]", gridData.TBody( hb: new HtmlBuilder(), context: context, ss: ss, columns: columns, checkAll: false)) .CloseDialog() .Message(Messages.Updated( context: context, data: wikiModel.Title.DisplayValue))); } else { return(res .Ver(context: context, ss: ss) .Timestamp(context: context, ss: ss) .FieldResponse(context: context, ss: ss, wikiModel: wikiModel) .Val("#VerUp", false) .Disabled("#VerUp", false) .Html("#HeaderTitle", wikiModel.Title.DisplayValue) .Html("#RecordInfo", new HtmlBuilder().RecordInfo( context: context, baseModel: wikiModel, tableName: "Wikis")) .Html("#Links", new HtmlBuilder().Links( context: context, ss: ss, id: wikiModel.WikiId)) .SetMemory("formChanged", false) .Message(Messages.Updated( context: context, data: wikiModel.Title.DisplayValue)) .Comment( context: context, ss: ss, column: ss.GetColumn(context: context, columnName: "Comments"), comments: wikiModel.Comments, deleteCommentId: wikiModel.DeleteCommentId) .ClearFormData()); } }