public static string Get_Path_To_File(this TM_FileStorage tmFileStorage, string fileKey)
        {
            UserRole.ReadArticles.demand();
            var filePath = tmFileStorage.path_XmlLibraries().pathCombine("_Images").pathCombine(fileKey);

            if (filePath.fileExists())
            {
                return(filePath);
            }

            var splitedFileKey = fileKey.split("/");

            if (splitedFileKey.size() == 2)
            {
                var item     = splitedFileKey[0].trim();
                var fileName = splitedFileKey[1].trim();
                if (item.isGuid())
                {
                    return(tmFileStorage.Get_Path_To_File(item.guid(), fileName));
                }
                return(tmFileStorage.Get_Path_To_File(item, fileName));
            }


            foreach (var library in tmFileStorage.tmXmlDatabase().tmLibraries())
            {
                filePath = tmFileStorage.Get_Path_To_File(library.Caption, fileKey);
                if (filePath.notNull())
                {
                    return(filePath);
                }
            }
            return(null);
        }
Beispiel #2
0
        public void CheckDatabaseSetup()
        {
            UserGroup.Admin.assert();

            Assert.NotNull(tmXmlDatabase);
            Assert.NotNull(userData);
            Assert.NotNull(tmServer);
            Assert.NotNull(tmConfig);

            if (tmXmlDatabase.tmLibraries().notEmpty())      // temp while refactoring
            {
                tmFileStorage.delete_Database();
            }
            if (tmFileStorage.getCacheLocation().fileExists())
            {
                tmFileStorage.clear_GuidanceItemsCache();
            }

            if (userData.tmUsers().notEmpty())
            {
                userData.delete_All_Users();
            }
            //  userData.createDefaultAdminUser();

            Assert.NotNull(tmFileStorage.path_XmlDatabase(), "path_XmlDatabase()");                     // null since we are running TM memory (default setting)
            Assert.NotNull(tmFileStorage.path_XmlLibraries(), "Path_XmlLibraries");                     // null since we are running TM memory (default setting)
            Assert.IsEmpty(tmXmlDatabase.Cached_GuidanceItems, "Cached_GuidanceItems");
            Assert.IsEmpty(userData.validSessions(), "ActiveSessions");
            Assert.AreEqual(userData.TMUsers.size(), 0, "TMUsers");                                     // there should be no users

            UserGroup.None.assert();
        }
Beispiel #3
0
        [Test] public void set_Path_XmlLibraries()
        {
            var tmFileStorage = new TM_FileStorage(false);

            TMConfig.Current = null;

            //this is the sequence that needs to be loaded in order to have a Path for Xml Libraries
            tmFileStorage.set_WebRoot()
            .set_Path_XmlDatabase()
            .tmServer_Load()
            .set_Path_UserData()                        //
            .tmConfig_Load()                            //
            .set_Path_XmlLibraries();

            Assert.NotNull(tmFileStorage.path_XmlDatabase());
            Assert.NotNull(tmFileStorage.path_XmlLibraries());
            Assert.IsTrue(tmFileStorage.path_XmlDatabase().dirExists());
            Assert.IsTrue(tmFileStorage.path_XmlLibraries().dirExists());
            Assert.NotNull(TMConfig.Current);

            //test nulls
            tmFileStorage.Path_XmlLibraries = null;

            //in the scenarios below the tmFileStorage.Path_XmlLibraries should not be set
            if (TMConfig.Current.notNull())
            {
                TMConfig.Current.TMSetup = null;
            }
            tmFileStorage.set_Path_XmlLibraries();
            TMConfig.Current = null;
            tmFileStorage.set_Path_XmlLibraries();
            Assert.IsNull(tmFileStorage.Path_XmlLibraries);

            //tmXmlDatabase.delete_Database();
            //TMConfig.Current = new TMConfig();
        }
        public static TM_FileStorage                     loadLibraryDataFromDisk(this TM_FileStorage tmFileStorage)
        {
            var tmXmlDatabase = tmFileStorage.TMXmlDatabase;

            tmXmlDatabase.GuidanceExplorers_XmlFormat = tmFileStorage.getGuidanceExplorerObjects(tmFileStorage.path_XmlLibraries());
            tmFileStorage.load_GuidanceItemsFromCache();

            var tmDatabaseGit = "TeamMentor.Git".assembly().type("TM_Xml_Database_Git").ctor();

            "TeamMentor.Git".assembly()
            .type("TM_Xml_Database_Git_ExtensionMethods")
            .invokeStatic("setupGitSupport", tmDatabaseGit);


            return(tmFileStorage);
        }
Beispiel #5
0
 public static string getVirtualArticlesFile(this TM_FileStorage tmFileStorage)
 {
     return(tmFileStorage.path_XmlLibraries().pathCombine("Virtual_Articles.xml"));
 }