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.Share/Data/RecordBase.cs |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)

diff --git a/HotelPms.Share/Data/RecordBase.cs b/HotelPms.Share/Data/RecordBase.cs
new file mode 100644
index 0000000..99bd1de
--- /dev/null
+++ b/HotelPms.Share/Data/RecordBase.cs
@@ -0,0 +1,79 @@
+using HotelPms.Share.Util;
+using System.Data;
+using System.Reflection;
+
+namespace HotelPms.Share.Data;
+
+public abstract class RecordBase : IRecord
+{
+    /// <summary>
+    /// �e�f�[�^
+    /// </summary>
+    public object Parent { get; set; } = null;
+
+    /// <summary>
+    /// �ڕW�N���X�ɃR�s�[����
+    /// </summary>
+    /// <param name="dest"></param>
+    public abstract void CopyTo(object dest);
+
+    /// <summary>
+    /// �f�[�^���N���A����
+    /// </summary>
+    public abstract void Clear();
+
+    public abstract object? GetField(string name);
+
+    public virtual bool SetField(string name, object value)
+    {
+        return false;
+    }
+
+    /// <summary>
+    /// DataRow�̏��Ŏ��g���X�V����(�ėp������A������ƒx��)
+    /// </summary>
+    /// <param name="row"></param>
+    /// <returns></returns>
+    public abstract bool ConvertDataRow(DataRow row);
+
+    /// <summary> �i�e�X�g�p�j���f�[�^�Ɣ�r���ĕς�����Ƃ���́u�V�����y�I�z�v�Ƃ���
+    /// </summary>
+    /// <param name="orgItem"></param>
+    /// <returns></returns>
+    public string CompareOrgItem(RecordBase orgItem)
+    {
+        string outInfo = string.Empty;
+        try
+        {
+            if (orgItem == null) return this.ToString();
+
+            Dictionary<string, object[]> dic = new Dictionary<string, object[]>();
+            PropertyInfo[] myInfo = orgItem.GetType().GetProperties();
+            foreach (PropertyInfo item in myInfo)
+            {
+                dic.Add(item.Name, new object[] { string.Format("{0}", CConvert.GetPropertyValue(orgItem, item.Name)), null });
+            }
+
+            myInfo = this.GetType().GetProperties();
+            foreach (PropertyInfo item in myInfo)
+            {
+                dic[item.Name][1] = string.Format("{0}", CConvert.GetPropertyValue(this, item.Name));
+
+                if (dic[item.Name][1].Equals(dic[item.Name][0]))
+                {
+                    outInfo += string.Format("{0} = {1}" + Environment.NewLine, item.Name, dic[item.Name][1]);
+                }
+                else
+                {
+                    outInfo += string.Format("{0} = {1} �� {2}�y�I�z" + Environment.NewLine, item.Name, dic[item.Name][1], dic[item.Name][0]);
+                }
+            }
+        }
+        catch (Exception ex)
+        {
+            outInfo = ex.Message;
+        }
+
+        return outInfo;
+    }
+}

--
Gitblit v1.10.0