ホテル管理システム
ogi
yesterday 1a1c8e71fcd14858f595029f089b2d4a00202b32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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();
        }
    }
}