using HotelPms.Client.Blazor.ViewModel;
|
using HotelPms.Share.Util;
|
using System.Text.Json.Serialization;
|
using static HotelPms.Client.Blazor.Models.RoomTypeInputRow;
|
|
namespace HotelPms.Client.Blazor.Models
|
{
|
public abstract class EditRow : IDisposable
|
{
|
#region ★★★★★ Property ★★★★★
|
|
/// <summary>
|
/// Guid
|
/// </summary>
|
public string ID { get; set; } = string.Empty;
|
|
/// <summary>
|
/// 行の対象項目情報
|
/// </summary>
|
[JsonIgnore(Condition = JsonIgnoreCondition.Always)]
|
public List<ValidField> Cells { get; set; } = new List<ValidField>();
|
|
/// <summary>
|
/// 現在使っている列
|
/// </summary>
|
public int ActiveCol { get; set; } = 0;
|
|
/// <summary>
|
/// 列の明細を展開かどうか
|
/// </summary>
|
public bool ShowDetails { get; set; } = false;
|
|
#endregion
|
|
#region ★★★★★ Class Event ★★★★★
|
|
public EditRow()
|
{
|
ID = Guid.NewGuid().ToString();
|
}
|
|
// Disposable types implement a finalizer.
|
~EditRow()
|
{
|
Dispose(false);
|
}
|
|
protected virtual void Dispose(bool disposing)
|
{
|
if (disposing)
|
{
|
// Dispose managed resources
|
}
|
|
// Free native resources
|
}
|
|
public void Dispose()
|
{
|
Dispose(true);
|
GC.SuppressFinalize(this);
|
}
|
|
#endregion
|
|
|
/// <summary>
|
/// データ返す
|
/// </summary>
|
/// <param name="index"></param>
|
/// <returns></returns>
|
public string GetCellText(int index)
|
{
|
return Cells[index].Text;
|
}
|
|
public void SetCellText(int index, string text)
|
{
|
Cells[index].Text = text;
|
}
|
|
/// <summary>
|
/// 値変更あり
|
/// </summary>
|
/// <param name="inputText"></param>
|
/// <returns></returns>
|
public abstract bool IsValueChanged(int index, string inputText);
|
}
|
}
|