irc-netcore-api/IRaCIS.Core.Application/Service/Common/DTO/EmailNoticeConfigViewModel.cs

195 lines
5.8 KiB
C#

//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-02-15 11:55:57
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Application.Helper;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.Contracts
{
public class TrialSelectEmailNoticeConfigView : EmailNoticeConfigView
{
public bool IsHaveSelected { get; set; }
}
/// <summary> EmailNoticeConfigView 列表视图模型 </summary>
public class EmailNoticeConfigView : EmailNoticeConfigAddOrEdit
{
public DateTime CreateTime { get; set; }
public Guid CreateUserId { get; set; }
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
public List<EmailUserTypeDto> EmailNoticeUserList { get; set; }
public new List<UserTypeEnum> ToUserTypeList => EmailNoticeUserList.Where(t => t.EmailUserType == EmailUserType.To).Select(t => t.UserType).ToList();
public new List<UserTypeEnum> CopyUserTypeList => EmailNoticeUserList.Where(t => t.EmailUserType == EmailUserType.Copy).Select(t => t.UserType).ToList();
//[JsonIgnore]
//public SystemBasicDataSelect Scenario { get; set; }
////public Guid? ScenarioParentId => Scenario.ParentId;
//public string ScenarioName => Scenario.Value;
//public string ScenarioNameCN => Scenario.ValueCN;
//public List<CriterionType> CriteriaEnumList { get; set; }
}
public class EmailUserTypeDto
{
public UserTypeEnum UserType { get; set; }
public EmailUserType EmailUserType { get; set; }
}
///<summary>EmailNoticeConfigQuery 列表查询参数模型</summary>
public class EmailNoticeConfigQuery : PageInput
{
//public Guid? ScenarioId { get; set; }
public EmailBusinessScenario? BusinessScenarioEnum { get; set; }
public bool? IsReturnRequired { get; set; }
public bool? IsEnable { get; set; }
public CriterionType? CriterionTypeEnum { get; set; }
public Guid? TrialId { get; set; }
public bool? IsDistinguishCriteria { get; set; }
public SysEmailLevel? SystemLevel { get; set; }
public BusinessModule? BusinessModuleEnum { get; set; }
public int? EmailUrgentEnum { get; set; }
public UserTypeEnum? ToUserType { get; set; }
public UserTypeEnum? CopyUserType { get; set; }
public BusinessLevel? BusinessLevelEnum { get; set; }
}
///<summary> EmailNoticeConfigAddOrEdit 列表查询参数模型</summary>
public class EmailNoticeConfigAddOrEdit
{
public Guid? Id { get; set; }
public string Code { get; set; } = String.Empty;
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
/// <summary>
/// 是否区分标准
/// </summary>
public bool IsDistinguishCriteria { get; set; }
public bool IsReturnRequired { get; set; }
public bool IsEnable { get; set; }
public bool IsAutoSend { get; set; }
public bool IsDeleted { get; set; }
public CriterionType? CriterionTypeEnum { get; set; }
/// <summary> 业务模块 /// </summary>
public int BusinessModuleEnum { get; set; }
/// <summary> 业务层级 /// </summary>
public int BusinessLevelEnum { get; set; }
/// <summary> 邮件加急类型 /// </summary>
public int EmailUrgentEnum { get; set; }
public string Description { get; set; } = string.Empty;
/// <summary> 定时周期 /// </summary>
public string EmailCron { get; set; } = string.Empty;
/// <summary> 邮件主题 /// </summary>
public string EmailTopic { get; set; } = string.Empty;
public string EmailTopicCN { get; set; } = string.Empty;
public string AttachPath { get; set; } = string.Empty;
public string AttachCNPath { get; set; } = string.Empty;
public string EmailHtmlContent { get; set; } = string.Empty;
public string EmailHtmlContentCN { get; set; } = string.Empty;
public string AttachName { get; set; }
public string AttachNameCN { get; set; }
public List<UserTypeEnum> ToUserTypeList { get; set; }
public List<UserTypeEnum> CopyUserTypeList { get; set; }
public SysEmailLevel SystemLevel { get; set; }
public int? EmailDelaySeconds { get; set; }
}
public class BatchUpdateEmailTopicCommand
{
[NotDefault]
public Guid Id { get; set; }
public string EmailTopic { get; set; } = string.Empty;
public string EmailTopicCN { get; set; } = string.Empty;
}
public class EmailNoticeConfigExportDto
{
public Guid? Id { get; set; }
public string Code { get; set; } = String.Empty;
[DictionaryTranslate("Email_BusinessScenario")]
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
[DictionaryTranslate("YesOrNo")]
public bool IsDistinguishCriteria { get; set; }
[DictionaryTranslate("CriterionType")]
public CriterionType? CriterionTypeEnum { get; set; }
[DictionaryTranslate("BusinessModule")]
public int BusinessModuleEnum { get; set; }
[DictionaryTranslate("BusinessLevel")]
public int BusinessLevelEnum { get; set; }
[DictionaryTranslate("EmailUrgent")]
public int EmailUrgentEnum { get; set; }
public string Description { get; set; } = string.Empty;
public string EmailTopic { get; set; } = string.Empty;
public string EmailTopicCN { get; set; } = string.Empty;
}
}