using System.Text; namespace HotelPms.Data.Common.Util { public class UseSql { /// /// 利用情報 /// public StringBuilder Use { get; set; } = new StringBuilder(); /// /// 利用者 /// public StringBuilder UsePerson { get; set; } = new StringBuilder(); /// /// 利用者自由集計 /// public StringBuilder UsePersonFree { get; set; } = new StringBuilder(); /// /// 利用者電話 /// public StringBuilder UsePersonTel { get; set; } = new StringBuilder(); /// /// 利用明細 /// public StringBuilder UseDetail { get; set; } = new StringBuilder(); /// /// 日毎利用部屋 /// public StringBuilder UseRoom { get; set; } = new StringBuilder(); /// /// 部屋割り /// public StringBuilder UseAllo { get; set; } = new StringBuilder(); /// /// 利用単位、連泊単位、日部屋単位の自由集計 /// public StringBuilder UseFree { get; set; } = new StringBuilder(); /// /// 利用メモ /// public StringBuilder UseMemo { get; set; } = new StringBuilder(); /// /// 売上 /// public StringBuilder Sale { get; set; } = new StringBuilder(); /// /// 入金 /// public StringBuilder Pay { get; set; } = new StringBuilder(); /// /// 手配 /// public StringBuilder Arrange { get; set; } = new StringBuilder(); /// /// 領収書(利用情報含まない) /// public StringBuilder Receipt { get; set; } = new StringBuilder(); /// /// 領収書明細(利用情報含まない) /// public StringBuilder ReceiptDetail { get; set; } = new StringBuilder(); /// /// 領収書税金(利用情報含まない) /// public StringBuilder ReceiptTax { get; set; } = new StringBuilder(); /// /// 会場(利用情報含まない) /// public StringBuilder Hall { get; set; } = new StringBuilder(); /// /// 貸出品 /// public StringBuilder Rental { get; set; } = new StringBuilder(); /// /// 新規・変更 /// public bool IsNew { get; set; } = false; /// /// 利用ID /// public int ID { get; set; } = 0; /// /// 新規かどうか /// /// 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};"); } } /// /// 利用情報核心データ更新 /// 更新順番固定!! /// /// 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(); } } }