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();
}
}
}