Esempio n. 1
0
        /// <summary>
        /// Create LiteDB connection string
        /// </summary>
        /// <param name="profileName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static string GetProfileDBConnectionString(IFreeJiraSettings settings, string profileName, string?password = null)
        {
            var profilePath   = GetProfilePath(settings, profileName).FullName;
            var passwordQuery = string.IsNullOrEmpty(password) ? "" : $"Password={password};";

            return($"Filename={profilePath};{passwordQuery}Connection=Shared");
        }
Esempio n. 2
0
 public static FreeJiraSettings FromInterface(IFreeJiraSettings settings)
 {
     return(new FreeJiraSettings {
         BaseFolder = settings.Folder.FullName,
         DefaultProfile = settings.DefaultProfile,
         ServerPort = settings.ServerPort,
         StartupMode = settings.StartupMode,
     });
 }
Esempio n. 3
0
        private static FileInfo GetAndCreateProfileFolder(IFreeJiraSettings settings, string profileName)
        {
            var path = ProfilePath.GetProfilePath(settings, profileName);

            if (!path.Directory.Exists)
            {
                path.Directory.Create();
            }
            return(path);
        }
Esempio n. 4
0
        /// <summary>
        /// Load list of profile names
        /// </summary>
        /// <param name="settings"></param>
        /// <returns></returns>
        public static IEnumerable <string> GetAvailableProfiles(IFreeJiraSettings settings)
        {
            var folder = settings.Folder.RelativeDirectory(PROFILE_DEFAULT_FOLDER_NAME);

            if (!folder.Exists)
            {
                yield break;
            }
            var searchGlob = "*" + PROFILE_FILE_EXTENSION;

            foreach (var d in folder.GetFiles(searchGlob))
            {
                yield return(d.GetNameWithoutExtension());
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Load database
        /// </summary>
        /// <param name="settings"></param>
        /// <param name="profileName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static LiteDatabase GetDatabase(IFreeJiraSettings settings, string profileName, string?password = null)
        {
            var connectionString = GetProfileDBConnectionString(settings, profileName, password);

            return(new LiteDatabase(connectionString));
        }
Esempio n. 6
0
        /// <summary>
        /// Get profile file
        /// </summary>
        /// <param name="settings"></param>
        /// <param name="profileName"></param>
        /// <returns></returns>
        public static FileInfo GetProfilePath(IFreeJiraSettings settings, string profileName)
        {
            var name = GetNameWithExtension(profileName);

            return(settings.Folder.RelativeFile(PROFILE_DEFAULT_FOLDER_NAME, name));
        }