コード例 #1
0
 /// <summary>
 /// 取得自動輸出參數設定
 /// </summary>
 /// <returns></returns>
 public static AutoExportArgument GetAutoExportArgument()
 {
     var _settingPath = ConfigurationManager.AppSettings["AutoExportSettingFilepath"].ToString();
     AutoExportArgument _autoExportSettings = new AutoExportArgument();
     var fileExists = File.Exists(_settingPath);
     if (fileExists)
     {
         var lines = File.ReadAllLines(_settingPath, Encoding.UTF8);
         var line = lines.Skip(1).Take(1).SingleOrDefault();
         string exportStyle = lines.Skip(2).Take(1).SingleOrDefault();
         if (exportStyle != null)
         {
             _autoExportSettings.IsMahrExport = (exportStyle == "Mahr");
         }
         if (line != null)
         {
             var parts = line.Split(',');
             var postfixType = (parts[3] == "AutoNumber") ? AutoExportArgumentPostfixType.AutoNumber
                             : (parts[3] == "DateTime") ? AutoExportArgumentPostfixType.DateTime
                             : AutoExportArgumentPostfixType.Mixed;
             var postFixFormat = (parts[3] == "AutoNumber") ? "{0:0000}"
                             : (parts[3] == "DateTime") ? "{0:yyyyMMddHHmmss}"
                             : "{0:yyyyMMddHHmmss}-{1:0000}";
             if (parts.Length >= 5)
             {
                 _autoExportSettings.OutputDirectory = parts[0];
                 _autoExportSettings.PrefixType = parts[1] == "Default" ? AutoExportArgumentPrefixType.Default : AutoExportArgumentPrefixType.Custom;
                 _autoExportSettings.Prefix = parts[2];
                 _autoExportSettings.PostfixType = postfixType;
                 _autoExportSettings.ExtensionName = parts[4];
                 _autoExportSettings.PostfixFormat = postFixFormat;
             }
         }
     }
     return _autoExportSettings;
 }
コード例 #2
0
        /// <summary>
        /// GetAutoExportFileName
        /// </summary>
        /// <param name="autoExportSetting">資料</param>
        /// <param name="autoNumber">目前自動編號</param>
        /// <param name="defaultPrefix">預設前置詞</param>
        /// <returns></returns>
        public static string GetAutoExportFileName(AutoExportArgument autoExportSetting, int autoNumber, string defaultPrefix)
        {
            var postfix = "";
            var postfixFormat = autoExportSetting.PostfixFormat;
            switch (autoExportSetting.PostfixType)
            {
                case AutoExportArgumentPostfixType.AutoNumber:
                    postfix = String.Format(postfixFormat, autoNumber);
                    break;
                case AutoExportArgumentPostfixType.DateTime:
                    postfix = String.Format(postfixFormat, DateTime.Now);
                    break;
                case AutoExportArgumentPostfixType.Mixed:
                    postfix = String.Format(postfixFormat, DateTime.Now, autoNumber);
                    break;
            }

            var prefix = autoExportSetting.PrefixType == AutoExportArgumentPrefixType.Default ?
                            defaultPrefix : autoExportSetting.Prefix;
            var filename = prefix + postfix + autoExportSetting.ExtensionName;
            return Path.Combine(autoExportSetting.OutputDirectory, filename);
        }