You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

114 lines
2.7 KiB

using System;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
namespace Win_in.Sfs.Wms.DataExchange.Domain;
public abstract class WmsDataBase : SfsAggregateRootBase
{
/// <summary>
/// 数据类型
/// </summary>
public string DataType { get; set; }
/// <summary>
/// 数据动作
/// </summary>
public EnumExchangeDataAction DataAction { get; set; } = EnumExchangeDataAction.Add;
/// <summary>
/// 生效日期
/// </summary>
public DateTime EffectiveDate { get; protected internal set; } = DateTime.Today;
/// <summary>
/// 数据状态
/// </summary>
public EnumExchangeDataStatus Status { get; protected internal set; } = EnumExchangeDataStatus.Unread;
/// <summary>
/// 数据识别码
/// </summary>
public string DataIdentityCode { get; set; }
/// <summary>
/// 来源数据内容
/// </summary>
public string DataContent { get; set; }
/// <summary>
/// 来源系统
/// </summary>
public string SourceSystem { get; set; }
/// <summary>
/// 写入时间
/// </summary>
public DateTime WriteTime { get; set; } = DateTime.Now;
/// <summary>
/// 读取时间
/// </summary>
public DateTime? ReadTime { get; set; } = DateTime.Now;
/// <summary>
/// 错误代码
/// </summary>
public EnumExchangeDataErrorCode ErrorCode { get; protected internal set; }
/// <summary>
/// 错误信息
/// </summary>
public string ErrorMessage { get; protected internal set; }
/// <summary>
/// 重试次数
/// </summary>
public int RetryTimes { get; protected internal set; }
public void SetEffectiveDate(DateTime newDate)
{
EffectiveDate = newDate;
}
public void SetError(EnumExchangeDataErrorCode errorCode, string errorMessage, string remark = null)
{
Status = EnumExchangeDataStatus.Error;
ErrorCode = errorCode;
ErrorMessage = errorMessage;
Remark = remark;
RetryTimes++;
}
public void Hold(string remark = null)
{
Status = EnumExchangeDataStatus.Hold;
Remark = remark;
}
public virtual void Reset(string remark = null)
{
Status = EnumExchangeDataStatus.Unread;
ErrorCode = EnumExchangeDataErrorCode.None;
ErrorMessage = "";
Remark = remark;
RetryTimes = 0;
}
public void Take(string remark = null)
{
Status = EnumExchangeDataStatus.Processing;
Remark = remark;
}
public void SetSuccess(string remark = null)
{
Status = EnumExchangeDataStatus.Success;
ErrorCode = EnumExchangeDataErrorCode.None;
ErrorMessage = "";
Remark = remark;
}
}