示例#1
0
        public virtual IJobReportConfiguration Clone()
        {
            var res = (JobReportConfigurationBase)MemberwiseClone();

            res.FilePlace = FilePlaceAddonType.PlaceFromVirtualFile(FilePlace.GetVirtualFile());
            return(res);
        }
示例#2
0
 public override void ClearLoadCaches()
 {
     base.ClearLoadCaches();
     if (FilePlace != null)
     {
         FilePlace.CleanUp();
     }
 }
示例#3
0
        public override string ToString()
        {
            string res = FilePlace.ToString();

            if (res.IsEmpty())
            {
                return("???");
            }
            return(res);
        }
示例#4
0
 public override void ProcessFailed()
 {
     CloseConnection();
     ProgressInfo.Info(Texts.Get("s_deleting_target$file", "file", FilePlace));
     try
     {
         FilePlace.DeleteFile();
     }
     catch (Exception err)
     {
         ProgressInfo.LogError(err);
     }
 }
示例#5
0
        /// <summary>
        ///  指定された名前から一時ファイルを作成して、ファイル名とそのストリームを返します。
        /// </summary>
        /// <param name="place">一時ファイルの場所です。</param>
        /// <param name="name">一時ファイルの名前です。</param>
        /// <returns><see langword="FileName"/>は一時ファイル名、<see langword="Stream"/>はそのストリームです。</returns>
        public static (string FileName, FileStream Stream) GetTempFile(FilePlace place, string name)
        {
            string result;

            switch (place)
            {
            case FilePlace.System:
                result = Path.Combine(
                    Environment.GetEnvironmentVariable(
                        "Temp",
                        EnvironmentVariableTarget.Machine),
                    TempDirectoryName,
                    name);
                break;

            case FilePlace.User:
                result = Path.Combine(
                    Environment.GetEnvironmentVariable(
                        "Temp",
                        EnvironmentVariableTarget.Process),
                    TempDirectoryName,
                    name);
                break;

            case FilePlace.Application:
                result = Path.Combine(
                    Application.StartupPath,
                    "Temp",
                    TempDirectoryName,
                    name);
                break;

            case FilePlace.CurrentDirectory:
                result = Path.Combine(
                    Environment.CurrentDirectory,
                    ".$Temp$",
                    TempDirectoryName,
                    name);
                break;

            default:
                throw new ArgumentException($"{place}は不正な値です。");
            }

            Directory.CreateDirectory(Path.GetDirectoryName(result));
            return(result, new FileStream(result, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None));
        }
示例#6
0
 public override void CheckConfiguration()
 {
     if (m_mode == TabularDataStoreMode.Read)
     {
         FilePlace.CheckInput();
         //if (m_filename.IsEmpty()) throw new CheckConfigError(Texts.Get("s_input_file_is_not_defined"));
         //if (!File.Exists(m_filename))
         //{
         //    throw new CheckConfigError(Texts.Get("s_input_file_does_not_exist$file", "file", m_filename));
         //}
     }
     if (m_mode == TabularDataStoreMode.Write)
     {
         FilePlace.CheckOutput();
         //IOTool.CheckOutputFileName(ref m_filename);
     }
 }
示例#7
0
 public override string ToString()
 {
     return(FilePlace.ToString());
 }
示例#8
0
 public override void CheckConfiguration(IDatabaseSource source)
 {
     FilePlace.CheckOutput();
 }
示例#9
0
 public override string ToString()
 {
     return(Texts.Get("s_log") + ":" + FilePlace.ToString());
 }
示例#10
0
 public override string ToString()
 {
     return("Info:" + FilePlace.ToString());
 }
示例#11
0
 public override bool IsConfiguredSource()
 {
     return(!String.IsNullOrEmpty(FilePlace.ToString()));
 }
示例#12
0
 /// <summary>
 ///  一時ファイルの場所を指定して、新しいインスタンスを生成します。
 /// </summary>
 /// <param name="place">一時ファイルの場所です。</param>
 public TemporaryFile(FilePlace place) : this(place, Path.GetRandomFileName())
 {
 }
示例#13
0
 /// <summary>
 ///  一時ファイルの場所と名前を指定して、新しいインスタンスを生成します。
 /// </summary>
 /// <param name="place">一時ファイルの場所です。</param>
 /// <param name="name">一時ファイルの名前です。</param>
 public TemporaryFile(FilePlace place, string name)
 {
     (_file_path, _stream) = FilePathManager.GetTempFile(place, name);
 }