for Push.
This commit is contained in:
@@ -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;
|
||||
// }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user