From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。
---
HotelPms.DataAccessDirect.Client/DemoAccess.cs | 140 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 140 insertions(+), 0 deletions(-)
diff --git a/HotelPms.DataAccessDirect.Client/DemoAccess.cs b/HotelPms.DataAccessDirect.Client/DemoAccess.cs
new file mode 100644
index 0000000..35cd328
--- /dev/null
+++ b/HotelPms.DataAccessDirect.Client/DemoAccess.cs
@@ -0,0 +1,140 @@
+using HotelPms.Data;
+using HotelPms.Data.Common.Interface.Access;
+using HotelPms.Data.Master;
+using HotelPms.Share.Data;
+using HotelPms.Share.IO;
+using HotelPms.Share.Util;
+using System.Data;
+
+namespace HotelPms.DataAccessDirect.Client
+{
+ /// <summary>
+ /// 直接DBへアクセスする仕組み
+ /// データベース制御(クライアント側)
+ /// </summary>
+ public class DemoAccess : DataAccessDirectBase, IDisposable, IDemo
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="access"></param>
+ public DemoAccess(DataAccess access)
+ {
+ TableName = "M_Demo";
+ DBAccess = access;
+ }
+
+ public void Dispose()
+ {
+ }
+
+ /// <summary>
+ /// 排他チェックのため、最新更新日取得する
+ /// </summary>
+ /// <param name="pID"></param>
+ /// <returns></returns>
+ public int GetUpdateID(int pID)
+ {
+ return CConvert.ToInt(DBAccess.ExecuteScalar($"SELECT UpdateID FROM {TableName} WHERE ID = {pID}"));
+ }
+
+ /// <summary>
+ /// 存在チェック
+ /// </summary>
+ /// <param name="pID"></param>
+ /// <returns></returns>
+ public bool Exists(int pID)
+ {
+ return CConvert.ToInt(DBAccess.ExecuteScalar($"IF EXISTS(SELECT 1 FROM {TableName} WHERE ID = {pID}) SELECT 1 ELSE SELECT 0")) == 1;
+ }
+
+ /// <summary>
+ /// データ行を取得する
+ /// </summary>
+ /// <param name="pID"></param>
+ /// <returns></returns>
+ public Demo GetItem(int pID)
+ {
+ var result = DBAccess.GetDataReader<Demo>($"SELECT * FROM {TableName}", (reader, data) =>
+ {
+ while (reader.Read())
+ {
+ data.ConvertReader(reader);
+ }
+ });
+ return result;
+ }
+
+ /// <summary>
+ /// テーブル全データ返す
+ /// </summary>
+ /// <param name="where"></param>
+ /// <returns></returns>
+ public DataTable GetMasterGridData(string where)
+ {
+ return DBAccess.GetDataTable($"SELECT A.* FROM {TableName} A {(string.IsNullOrEmpty(where) ? string.Empty : $"WHERE {where}")} ORDER BY A.ID");
+ }
+
+ /// <summary>
+ /// データ削除
+ /// </summary>
+ /// <param name="where"></param>
+ /// <returns></returns>
+ public DataResult Remove(string where)
+ {
+ DataResult result = new DataResult() { ErrNo = 0, ErrData = string.Empty };
+ string sql = $"DELETE FROM {TableName} WHERE {where}";
+ OperationLog.Instance.WriteLog($"Sql生成:{sql}");
+ if (DBAccess.ExecuteNonQuery(sql) == -1)
+ {
+ result.ErrNo = DBAccess.ErrNo;
+ result.ErrData = DBAccess.ErrInfo;
+ }
+ OperationLog.Instance.WriteLog($"更新:{result.ToString()}");
+ return result;
+ }
+
+ /// <summary>
+ /// 追加・更新
+ /// </summary>
+ /// <param name="add"></param>
+ /// <param name="item"></param>
+ /// <returns></returns>
+ private DataResult AddOrUpdate(bool add, Demo item)
+ {
+ DataResult result = new DataResult() { ErrNo = 0, ErrData = string.Empty };
+ OperationLog.Instance.WriteLog($"データ請求:{item.ToString()}");
+
+ string sql = add ? item.AddSql() : item.UpdateSql();
+ OperationLog.Instance.WriteLog($"Sql生成:{sql}");
+
+ if (DBAccess.ExecuteNonQuery(sql) == -1)
+ {
+ result.ErrNo = DBAccess.ErrNo;
+ result.ErrData = DBAccess.ErrInfo;
+ }
+ OperationLog.Instance.WriteLog($"更新:{result.ToString()}");
+ return result;
+ }
+
+ /// <summary>
+ /// 追加
+ /// </summary>
+ /// <param name="data"></param>
+ /// <returns></returns>
+ public DataResult Add(Demo data)
+ {
+ return AddOrUpdate(true, data);
+ }
+
+ /// <summary>
+ /// 更新
+ /// </summary>
+ /// <param name="data"></param>
+ /// <returns></returns>
+ public DataResult Update(Demo data)
+ {
+ return AddOrUpdate(false, data);
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.10.0