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.Data.Common/Util/UseSql.cs |  153 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 153 insertions(+), 0 deletions(-)

diff --git a/HotelPms.Data.Common/Util/UseSql.cs b/HotelPms.Data.Common/Util/UseSql.cs
new file mode 100644
index 0000000..2cf45ca
--- /dev/null
+++ b/HotelPms.Data.Common/Util/UseSql.cs
@@ -0,0 +1,153 @@
+using System.Text;
+
+namespace HotelPms.Data.Common.Util
+{
+    public class UseSql
+    {
+        /// <summary>
+        /// 利用情報
+        /// </summary>
+        public StringBuilder Use { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 利用者
+        /// </summary>
+        public StringBuilder UsePerson { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 利用者自由集計
+        /// </summary>
+        public StringBuilder UsePersonFree { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 利用者電話
+        /// </summary>
+        public StringBuilder UsePersonTel { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 利用明細
+        /// </summary>
+        public StringBuilder UseDetail { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 日毎利用部屋
+        /// </summary>
+        public StringBuilder UseRoom { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 部屋割り
+        /// </summary>
+        public StringBuilder UseAllo { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 利用単位、連泊単位、日部屋単位の自由集計
+        /// </summary>
+        public StringBuilder UseFree { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 利用メモ
+        /// </summary>
+        public StringBuilder UseMemo { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 売上
+        /// </summary>
+        public StringBuilder Sale { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 入金
+        /// </summary>
+        public StringBuilder Pay { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 手配
+        /// </summary>
+        public StringBuilder Arrange { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 領収書(利用情報含まない)
+        /// </summary>
+        public StringBuilder Receipt { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 領収書明細(利用情報含まない)
+        /// </summary>
+        public StringBuilder ReceiptDetail { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 領収書税金(利用情報含まない)
+        /// </summary>
+        public StringBuilder ReceiptTax { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 会場(利用情報含まない)
+        /// </summary>
+        public StringBuilder Hall { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 貸出品
+        /// </summary>
+        public StringBuilder Rental { get; set; } = new StringBuilder();
+
+        /// <summary>
+        /// 新規・変更
+        /// </summary>
+        public bool IsNew { get; set; } = false;
+
+        /// <summary>
+        /// 利用ID
+        /// </summary>
+        public int ID { get; set; } = 0;
+
+        /// <summary>
+        /// 新規かどうか
+        /// </summary>
+        /// <param name="isNew"></param>
+        public UseSql(bool isNew, int id) 
+        {
+            IsNew = isNew;
+            ID = id;
+
+            if (isNew)
+            {
+                UsePerson.AppendLine($"DELETE FROM D_UsePerson WHERE ID = {ID};");
+                UsePersonFree.AppendLine($"DELETE FROM D_UsePersonFree WHERE ID = {ID};");
+                UsePersonTel.AppendLine($"DELETE FROM D_UsePersonTel WHERE ID = {ID};");
+                UseDetail.AppendLine($"DELETE FROM D_UseDetail WHERE ID = {ID};");
+                UseRoom.AppendLine($"DELETE FROM D_UseRoom WHERE ID = {ID};");
+                UseAllo.AppendLine($"DELETE FROM D_UseAllo WHERE ID = {ID};");
+                UseFree.AppendLine($"DELETE FROM D_UseFree WHERE ID = {ID};");
+                UseMemo.AppendLine($"DELETE FROM D_UseMemo WHERE ID = {ID};");
+                Sale.AppendLine($"DELETE FROM D_Sale WHERE ID = {ID};");
+                Pay.AppendLine($"DELETE FROM D_Pay WHERE ID = {ID};");
+                Arrange.AppendLine($"DELETE FROM D_Arrange WHERE ID = {ID};");
+                Rental.AppendLine($"DELETE FROM D_Rental WHERE ID = {ID};");
+            }
+        }
+
+        /// <summary>
+        /// 利用情報核心データ更新
+        /// 更新順番固定!!
+        /// </summary>
+        /// <returns></returns>
+        public override string ToString()
+        {
+            StringBuilder sql = new StringBuilder();
+            sql.AppendLine(SyncConfig.GetLockSql(ESyncType.Use));  //デッドロック防止
+            sql.Append(UseMemo.ToString());
+            sql.Append(UseFree.ToString());
+            sql.Append(Arrange.ToString());
+            sql.Append(UsePersonFree.ToString());
+            sql.Append(UsePersonTel.ToString());
+            sql.Append(UsePerson.ToString());
+            sql.Append(Pay.ToString());
+            sql.Append(Sale.ToString());
+            sql.Append(Rental.ToString());
+            sql.Append(UseAllo.ToString());
+            sql.Append(UseRoom.ToString());
+            sql.Append(UseDetail.ToString());
+            sql.Append(Use.ToString());
+            return sql.ToString();
+        }
+    }
+}

--
Gitblit v1.10.0