83 lines
2.1 KiB
C#
83 lines
2.1 KiB
C#
using System;
|
|
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
|
|
namespace Company.Domain.InstitutionContractSendFlagAgg;
|
|
|
|
/// <summary>
|
|
/// نمایندگی فلگ ارسال قرارداد در MongoDB
|
|
/// این موجودیت برای ردیابی اینکه آیا قرارداد ارسال شده است استفاده میشود
|
|
/// </summary>
|
|
public class InstitutionContractSendFlag
|
|
{
|
|
public InstitutionContractSendFlag(long institutionContractId,bool isSent)
|
|
{
|
|
Id = Guid.NewGuid();
|
|
InstitutionContractId = institutionContractId;
|
|
IsSent = isSent;
|
|
CreatedDate = DateTime.Now;
|
|
}
|
|
|
|
/// <summary>
|
|
/// شناسه یکتای MongoDB
|
|
/// </summary>
|
|
[BsonId]
|
|
[BsonRepresentation(BsonType.String)]
|
|
public Guid Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// شناسه قرارداد در SQL
|
|
/// </summary>
|
|
public long InstitutionContractId { get; set; }
|
|
|
|
/// <summary>
|
|
/// آیا قرارداد ارسال شده است
|
|
/// </summary>
|
|
public bool IsSent { get; set; }
|
|
|
|
/// <summary>
|
|
/// تاریخ و زمان ارسال
|
|
/// </summary>
|
|
public DateTime? SentDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// تاریخ و زمان ایجاد رکورد
|
|
/// </summary>
|
|
public DateTime CreatedDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// تاریخ و زمان آخرین بهروزرسانی
|
|
/// </summary>
|
|
public DateTime? LastModifiedDate { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// علامتگذاری قرارداد به عنوان ارسالشده
|
|
/// </summary>
|
|
public void MarkAsSent()
|
|
{
|
|
IsSent = true;
|
|
SentDate = DateTime.Now;
|
|
LastModifiedDate = DateTime.Now;
|
|
}
|
|
|
|
/// <summary>
|
|
/// بازگردانی علامت ارسال
|
|
/// </summary>
|
|
public void MarkAsNotSent()
|
|
{
|
|
IsSent = false;
|
|
SentDate = null;
|
|
LastModifiedDate = DateTime.Now;
|
|
}
|
|
|
|
/// <summary>
|
|
/// بهروزرسانی علامت آخری اصلاح
|
|
/// </summary>
|
|
public void UpdateLastModified()
|
|
{
|
|
LastModifiedDate = DateTime.Now;
|
|
}
|
|
}
|
|
|