//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-10-20 11:52:31
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.ViewModel
{
/// TrialEmailNoticeConfigView 列表视图模型
public class TrialEmailNoticeConfigView : TrialEmailNoticeConfigAddOrEdit
{
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
public DateTime CreateTime { get; set; }
public Guid CreateUserId { get; set; }
public string TrialCriterionName { get; set; }
public List TrialEmailNoticeUserList { get; set; }
public new List ToUserTypeList => TrialEmailNoticeUserList.Where(t => t.EmailUserType == EmailUserType.To).Select(t => t.UserType).ToList();
public new List CopyUserTypeList => TrialEmailNoticeUserList.Where(t => t.EmailUserType == EmailUserType.Copy).Select(t => t.UserType).ToList();
}
public class EmailUserInfoDto
{
public Guid TrialEmailNoticeConfigId { get; set; }
public EmailUserType EmailUserType { get; set; }
public UserTypeEnum UserType { get; set; }
}
public class GetTrialEmailSetOutDto
{
public Guid TrialId { get; set; }
///
/// 发件箱账号
///
public string EmailFromEmail { get; set; } = string.Empty;
///
/// 发件人
///
public string EmailFromName { get; set; } = string.Empty;
///
/// 密码/授权码
///
public string EmailAuthorizationCode { get; set; } = string.Empty;
///
/// SMTP服务器
///
public string EmailSMTPServerAddress { get; set; } = string.Empty;
///
/// SMTP端口
///
public int EmailSMTPServerPort { get; set; }
///
/// 是否配置过邮箱
///
public bool IsConfigureEmail { get; set; } = false;
}
public class SetTrialEmailInDto : GetTrialEmailSetOutDto
{
}
public class GetTrialEmailSetInDto
{
public Guid TrialId { get; set; }
}
///TrialEmailNoticeConfigQuery 列表查询参数模型
public class TrialEmailNoticeConfigQuery
{
[NotDefault]
public Guid TrialId { get; set; }
public EmailBusinessScenario? BusinessScenarioEnum { get; set; }
//public CriterionType? CriterionTypeEnum { get; set; }
public Guid? TrialReadingCriterionId { get; set; }
public bool IsDistinguishCriteria { get; set; }
public string SortField { get; set; } = string.Empty;
public bool Asc { get; set; }
public bool? IsEnable { get; set; }
public int? EmailUrgentEnum { get; set; }
public UserTypeEnum? ToUserType { get; set; }
public UserTypeEnum? CopyUserType { get; set; }
public BusinessModule? BusinessModuleEnum { get; set; }
}
public class GenerateEmailCommand
{
public Guid SubjectId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
}
public class BatchAddTrialEmailNoticeConfig
{
public Guid? Id { get; set; }
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
public string Code { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public List ToUserTypeList { get; set; }
public List CopyUserTypeList { get; set; }
public bool IsEnable { get; set; }
public bool IsAutoSend { get; set; }
public bool IsReturnRequired { get; set; }
/// 业务模块 ///
public int BusinessModuleEnum { get; set; }
/// 业务层级 ///
public int BusinessLevelEnum { get; set; }
/// 邮件加急类型 ///
public int EmailUrgentEnum { get; set; }
/// 定时周期 ///
public string EmailCron { get; set; } = string.Empty;
/// 邮件主题 ///
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 Description { get; set; } = string.Empty;
public string AttachName { get; set; } = string.Empty;
public string AttachNameCN { get; set; } = string.Empty;
public string EmailHtmlContent { get; set; } = string.Empty;
public string EmailHtmlContentCN { get; set; } = string.Empty;
public int? EmailDelaySeconds { get; set; }
[Comment("邮件配置的多个标准")]
public List? CriterionTypeList { get; set; }
}
/// TrialEmailNoticeConfigAddOrEdit 列表查询参数模型
public class TrialEmailNoticeConfigAddOrEdit : BatchAddTrialEmailNoticeConfig
{
public Guid? TrialReadingCriterionId { get; set; }
public string AuthorizationCode { get; set; } = string.Empty;
public string SMTPServerAddress { get; set; } = string.Empty;
public int SMTPServerPort { get; set; }
public string FromName { get; set; } = string.Empty;
public string FromEmail { get; set; } = string.Empty;
public List BlackUserIdList { get; set; }
}
}