for Push.

This commit is contained in:
nobobo
2026-06-01 12:28:44 +09:00
parent c845fb60a0
commit 33a5d7bbea
28 changed files with 2838 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
using KssSmaPlaLib.Commons;
using KssSmaPlaLib.IO.Database;
using KssSmaPlaLib.IO.File;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KssSmaPlaLib.Exchange
{
public static class CsvDbSyncUxer
{
// public static bool InsertDbFromCsvFiles(
// DbUxer con,
// string csvFilePath,
// string dupCheckSql,
// string insertSqlName,
// out string resultMessage,
// EncodingUxer.EncodingType encodingType = EncodingUxer.EncodingType.Utf8WithoutBom)
// {
// var messageForMe = string.Empty;
// resultMessage = string.Empty;
// // CSV読み込み
// if (!CsvUxer.ImportFromCsv(csvFilePath, out var rs, out messageForMe, encodingType))
// {
// resultMessage = messageForMe;
// return false;
// }
// LoggerUxer.Info($"[CSV件数:{rs.Count}]");
// if (string.IsNullOrEmpty(dupCheckSql))
// {
// LoggerUxer.Info($"重複チェックSQLが未指定のため重複チェックは行いません。");
// }
// else
// {
// LoggerUxer.Info($"重複チェックを行います。[SQLファイル:{dupCheckSql}]");
// }
// foreach (var rec in rs)
// {
// var recObj = rec.ToDictionary(kvp => kvp.Key, kvp => (object)kvp.Value);
// if (!string.IsNullOrEmpty(dupCheckSql))
// {
// // 重複チェック
// if (!con.ExecuteQuery(dupCheckSql, recObj, out var dupRs, out messageForMe))
// {
// resultMessage = "重複チェックエラー:" + messageForMe;
// return false;
// }
// if (dupRs.Count != 1)
// {
// resultMessage = $"重複チェックで取得件数エラーです。[取得件数:{dupRs.Count}]";
// return false;
// }
// // ↓COUNT(*)の結果型はintにあらず(ポスグレの場合long)ゆえに文字列化してint化する
// if (!int.TryParse(dupRs[0].Values.ElementAt(0).ToString(), out var intCnt))
// {
// resultMessage = $"重複チェックで取得値(件数)が数値ではありません。[取得値:{dupRs[0].Values.ElementAt(0)}]";
// return false;
// }
// // 重複レコードありの場合、飛ばす
// if (intCnt > 0)
// {
// LoggerUxer.Info($"重複レコードのため、飛ばします。[該当件数:{intCnt}]");
// continue;
// }
// LoggerUxer.Info($"重複チェックにて重複レコードは見つかりませんでした。");
// }
// // DB挿入
// if (!string.IsNullOrEmpty(insertSqlName))
// {
// LoggerUxer.Info($"[DB挿入SQL名:{insertSqlName}]");
// if (!con.ExecuteNonQuery(insertSqlName, recObj, out var resultCount, out messageForMe))
// {
// resultMessage = messageForMe;
// return false;
// }
// LoggerUxer.Info($"[DB挿入件数:{resultCount}]");
// }
// else
// {
// LoggerUxer.Info($"DB挿入SQL名が未指定のためDB挿入は行いません。");
// }
// }
// return true;
// }
}
}
+14
View File
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KssSmaPlaLib.Exchange.Interfaces
{
public interface ICsvExportableUxer
{
string CsvHeader { get; } // ヘッダー行
string ToCsvLine(); // データ行
}
}