[EditArticles] public static urn.microsoft.guidanceexplorer.View xmlDB_NewView(this TM_Xml_Database tmDatabase, Guid parentFolderId, View tmView) { UserRole.EditArticles.demand(); if (tmView.isNull()) { return(null); } var tmLibrary = tmDatabase.tmLibrary(tmView.library.guid()); //var guidanceExplorer = tmDatabase.xmlDB_GuidanceExplorer(tmView.library.guid()); if (tmLibrary.notNull()) { if (tmView.id.isNull() || (tmView.id.isGuid() && tmView.id == Guid.Empty.str())) { tmView.id = Guid.NewGuid().str(); } var view = tmView.view(); if (parentFolderId == Guid.Empty) { var guidanceExplorer = tmLibrary.guidanceExplorer(tmDatabase); guidanceExplorer.library.libraryStructure.view.Add(view); //tmLibrary.xmlDB_Save_GuidanceExplorer(tmDatabase); //return tmDatabase.xmlDB_View(tmView.id.guid()); } else { var folder = tmDatabase.xmlDB_Folder(tmLibrary.Id, parentFolderId); if (folder.isNull()) { "[xmlDB_NewView] could not find parent folder (to add view) with id {0}".error(parentFolderId); return(null); } folder.view.Add(view); } tmLibrary.xmlDB_Save_GuidanceExplorer(tmDatabase); return(view); //return folder.xmlDB_View(tmView.id.guid()); // I have to get the reference again since the object is different after the calls to xmlDB_Save_GuidanceExplorer } return(null); }
[EditArticles] public static urn.microsoft.guidanceexplorer.View xmlDB_UpdateView(this TM_Xml_Database tmDatabase, View tmView, List <Guid> guidanceItems) { UserRole.EditArticles.demand(); if (tmView.isNull()) { return(null); } var tmLibrary = tmDatabase.tmLibrary(tmView.library.guid()); if (tmLibrary.isNull()) { "[TM_Xml_Database] in xmlDB_UpdateView, could not find library with id: {0}".error(tmView.library); return(null); } /*var targetFolder = tmLibrary.xmlDB_Folder(tmView.parentFolder, tmDatabase); * if (targetFolder.isNull()) * { * "[TM_Xml_Database] in xmlDB_UpdateView, could not find target Folder with name: {0}".error(tmView.parentFolder); * return null; * }*/ var targetView = tmDatabase.xmlDB_View(tmView.id.guid()); if (targetView.isNull()) { "[TM_Xml_Database] in xmlDB_UpdateView, could not find view with id: {0}".error(tmView.id); return(null); } //"Updating view with caption {0} in folder {1} with id {2}".info(targetView.caption, targetFolder.caption, targetView.id); targetView.caption = tmView.caption; targetView.author = tmView.creator; //foreach(var guid in guidanceItems) tmLibrary.xmlDB_Save_GuidanceExplorer(tmDatabase); return(targetView); //existingView.creationDate = tmView.lastUpdate // should we also update this? }
public static urn.microsoft.guidanceexplorer.View xmlDB_UpdateView(this TM_Xml_Database tmDatabase, View tmView, List<Guid> guidanceItems) { UserRole.EditArticles.demand(); if (tmView.isNull()) return null; var tmLibrary = tmDatabase.tmLibrary(tmView.library.guid()); if (tmLibrary.isNull()) { "[TM_Xml_Database] in xmlDB_UpdateView, could not find library with id: {0}".error(tmView.library); return null; } /*var targetFolder = tmLibrary.xmlDB_Folder(tmView.parentFolder, tmDatabase); if (targetFolder.isNull()) { "[TM_Xml_Database] in xmlDB_UpdateView, could not find target Folder with name: {0}".error(tmView.parentFolder); return null; }*/ var targetView = tmDatabase.xmlDB_View(tmView.id.guid()); if (targetView.isNull()) { "[TM_Xml_Database] in xmlDB_UpdateView, could not find view with id: {0}".error(tmView.id); return null; } //"Updating view with caption {0} in folder {1} with id {2}".info(targetView.caption, targetFolder.caption, targetView.id); targetView.caption = tmView.caption; targetView.author = tmView.creator; //foreach(var guid in guidanceItems) tmLibrary.xmlDB_Save_GuidanceExplorer(tmDatabase); return targetView; //existingView.creationDate = tmView.lastUpdate // should we also update this? }
public static urn.microsoft.guidanceexplorer.View xmlDB_NewView(this TM_Xml_Database tmDatabase, Guid parentFolderId, View tmView) { UserRole.EditArticles.demand(); if (tmView.isNull()) return null; var tmLibrary = tmDatabase.tmLibrary(tmView.library.guid()); //var guidanceExplorer = tmDatabase.xmlDB_GuidanceExplorer(tmView.library.guid()); if (tmLibrary.notNull()) { if (tmView.id.isNull() || (tmView.id.isGuid() && tmView.id == Guid.Empty.str())) tmView.id = Guid.NewGuid().str(); var view = tmView.view(); if (parentFolderId == Guid.Empty) { var guidanceExplorer = tmLibrary.guidanceExplorer(tmDatabase); guidanceExplorer.library.libraryStructure.view.Add(view); //tmLibrary.xmlDB_Save_GuidanceExplorer(tmDatabase); //return tmDatabase.xmlDB_View(tmView.id.guid()); } else { var folder = tmDatabase.xmlDB_Folder(tmLibrary.Id, parentFolderId); if (folder.isNull()) { "[xmlDB_NewView] could not find parent folder (to add view) with id {0}".error(parentFolderId); return null; } folder.view.Add(view); } tmLibrary.xmlDB_Save_GuidanceExplorer(tmDatabase); return view; //return folder.xmlDB_View(tmView.id.guid()); // I have to get the reference again since the object is different after the calls to xmlDB_Save_GuidanceExplorer } return null; }