for Push.
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
using KssSmaPlaLib.Batch.Interface;
|
||||
using KssSmaPlaLib.Commons;
|
||||
using KssSmaPlaLib.Ini;
|
||||
using KssSmaPlaLib.IO.File;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static System.Net.WebRequestMethods;
|
||||
|
||||
namespace KssSmaPlaLib.Batch.IO
|
||||
{
|
||||
public class FileStepHandlerUxer
|
||||
{
|
||||
public FuncFileDeleteByIniResultDto TryFuncFileDeleteByIni(
|
||||
string iniFilePath,
|
||||
string sectionName)
|
||||
{
|
||||
const string KEY_FOLDER_PATH = "FolderPath";
|
||||
const string KEY_FILE_NAME_PATTERNS = "FileNamePatterns";
|
||||
|
||||
FuncFileDeleteByIniResultDto result = new FuncFileDeleteByIniResultDto();
|
||||
|
||||
var iniDic = IniReferenceResolveUxer.ReadSectionWithReference(iniFilePath, sectionName);
|
||||
|
||||
var folderPath = DictionaryUxer.GetValueOrDefault(iniDic, KEY_FOLDER_PATH, string.Empty);
|
||||
if (string.IsNullOrEmpty(folderPath))
|
||||
{
|
||||
var msg = $"設定ファイルのフォルダパスが指定されていません。[キー:{KEY_FOLDER_PATH}]";
|
||||
LoggerUxer.Error(msg);
|
||||
result.Succeeded = false;
|
||||
result.ExitCode = (int)RetCodeUxer.RetCode.FileDeleteFolderPathNotSetting;
|
||||
result.ResultMessage = msg;
|
||||
return result;
|
||||
}
|
||||
if (!Directory.Exists(folderPath))
|
||||
{
|
||||
var msg = $"設定ファイルのフォルダパスが存在しません。[キー:{KEY_FOLDER_PATH},値:{folderPath}]";
|
||||
LoggerUxer.Error(msg);
|
||||
result.Succeeded = false;
|
||||
result.ExitCode = (int)RetCodeUxer.RetCode.FileDeleteFolderPathNotExist;
|
||||
result.ResultMessage = msg;
|
||||
return result;
|
||||
}
|
||||
|
||||
var fileNamePatterns = DictionaryUxer.GetValueOrDefault(iniDic, KEY_FILE_NAME_PATTERNS, string.Empty);
|
||||
if (string.IsNullOrEmpty(fileNamePatterns))
|
||||
{
|
||||
var msg = $"設定ファイルのファイル名パターンが指定されていません。[キー:{KEY_FILE_NAME_PATTERNS}]";
|
||||
LoggerUxer.Error(msg);
|
||||
result.Succeeded = false;
|
||||
result.ExitCode = (int)RetCodeUxer.RetCode.FileDeleteFileNamePatternNotSetting;
|
||||
result.ResultMessage = msg;
|
||||
return result;
|
||||
}
|
||||
var fileNamePatternsArray = fileNamePatterns.Split(',');
|
||||
|
||||
// ローカルのCSVファイルの削除
|
||||
LoggerUxer.Info($"ファイルの削除を実行");
|
||||
for (var cnt = 0; cnt < fileNamePatternsArray.Length; cnt++)
|
||||
{
|
||||
var fileNamePattern = fileNamePatternsArray[cnt];
|
||||
LoggerUxer.Info($"[ファイル名パターン:{fileNamePattern}]");
|
||||
if (!FileUxer.TryDeletePatternFiles(folderPath, fileNamePattern, out var fileCount, out var messageForMe))
|
||||
{
|
||||
LoggerUxer.Error(messageForMe);
|
||||
result.Succeeded = false;
|
||||
result.ExitCode = (int)RetCodeUxer.RetCode.FileDeletePatternFilesError;
|
||||
result.ResultMessage = messageForMe;
|
||||
return result;
|
||||
}
|
||||
LoggerUxer.Info($"[削除件数:{fileCount}]");
|
||||
}
|
||||
LoggerUxer.Info($"ローカルのCSVファイルの削除を完了");
|
||||
result.Succeeded = true;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
public class FuncFileDeleteByIniResultDto : IFuncResultDto
|
||||
{
|
||||
public bool Succeeded { get; set; } = false;
|
||||
public int ExitCode { get; set; } = 0;
|
||||
public string ResultMessage { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user