Files
Future/Future.Contract/FutureArchive.cs
2025-08-30 17:19:57 +08:00

88 lines
2.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace Future.Contract
{
/// <summary>
/// 所有存储于数据库中的数据档案的基类
/// </summary>
[DataContract]
public class FutureArchive : FutureObject
{
/// <summary>
/// 是否已经被标记选择
/// </summary>
public bool IsSelected { get; set; }
/// <summary>
/// 数据记录的唯一标识
/// </summary>
[DataMember]
public string RecordID { get; set; }
/// <summary>
/// 数据档案的唯一标识
/// </summary>
[DataMember]
public string ArchiveID { get; set; }
/// <summary>
/// 数据档案的标题
/// </summary>
[DataMember]
public string Title { get; set; }
/// <summary>
/// 数据档案的描述
/// </summary>
[DataMember]
public string Remark { get; set; }
/// <summary>
/// 数据档案是否处于可用状态
/// </summary>
[DataMember]
public bool IsAlive { get; set; }
/// <summary>
/// 是否为一份档案的活动记录
/// </summary>
[DataMember]
public bool IsCurrent { get; set; }
/// <summary>
/// 数据档案本次归档的操作用户
/// </summary>
[DataMember]
public string OperatorID { get; set; }
/// <summary>
/// 数据档案本次归档的操作时间
/// </summary>
[DataMember]
public DateTime UpdateDateTime { get; set; }
/// <summary>
/// 深度拷贝对象:将当前对象序列化,再通过反序列化方式创建新对象,从而实现对象的深度拷贝
/// </summary>
/// <returns></returns>
public override IFuture Clone()
{
FutureArchive result = new FutureArchive();
result.Cover(this);
return result;
}
public override bool Cover(IFuture refer)
{
if (!base.Cover(refer)) return false;
FutureArchive archive = refer as FutureArchive;
//if (archive == null) return false;
this.RecordID = archive.RecordID;
this.ArchiveID = archive.ArchiveID;
this.Title = archive.Title;
this.Remark = archive.Remark;
this.IsCurrent = archive.IsCurrent;
this.IsAlive = archive.IsAlive;
this.OperatorID = archive.OperatorID;
this.UpdateDateTime = archive.UpdateDateTime;
return true;
}
}
}