
//--------------------------------------------------------------------
//     此代码由liquid模板自动生成  byzhouhang 20240909
//	   生成时间 2025-10-28 06:22:47Z 
//     对此文件的更改可能会导致不正确的行为，并且如果重新生成代码，这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.ViewModel;


public class GetReSendEmailInDto : PageInput
{
    public Guid Id { get; set; }


    public DateTime? EmailStartDate { get; set; }

    public DateTime? EmailEndDate { get; set; }

    public EmailState? EmailStateEnum { get; set; }

    public string ToRecipientName { get; set; } = string.Empty;

    public string CcRecipientName { get; set; } = string.Empty;
}
public class EmailLogView : EmailLogAddOrEdit
{
    
    public DateTime CreateTime { get; set; }
    
    public DateTime UpdateTime { get; set; }

    public List<EmailRecipientLogView> RecipientList { get; set; }

    public List<EmaliAttachmentInfo> AttachmentList { get; set; }

}


public class EmaliAttachmentInfo
{
    /// <summary>
    /// 附件名称
    /// </summary>
    public string AttachmentName { get; set; }
    /// <summary>
    /// 附件路径
    /// </summary>
    public string AttachmentPath { get; set; }
}

public class EmailRecipientLogView
{
    public Guid Id { get; set; }

    /// <summary>
    /// 邮件Id
    /// </summary>
    public Guid EmailLogId { get; set; }

    /// <summary>
    /// 收件人姓名
    /// </summary>
    public string RecipientName { get; set; }

    /// <summary>
    /// 收件人地址
    /// </summary>
    public string RecipientAddress { get; set; }

    /// <summary>
    /// 收件人类型
    /// </summary>
    public RecipientType RecipientTypeEnum { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int Sort { get; set; }
}


public class EmailLogAddOrEdit
{
    public Guid? Id { get; set; }

    /// <summary>
    /// 邮件Id
    /// </summary>
    public string MessageId { get; set; }

    /// <summary>
    /// 唯一Id
    /// </summary>
    public string UniqueId { get; set; }

    /// <summary>
    /// 邮件主题
    /// </summary>
    public string EmailSubject { get; set; } = string.Empty;

    /// <summary>
    /// 日期
    /// </summary>
    public DateTime? EmailDate { get; set; }

    /// <summary>
    /// 错误信息
    /// </summary>
    public string ErrorInfo { get; set; }

    /// <summary>
    /// 发件人地址
    /// </summary>
    public string SenderAddress { get; set; }

    /// <summary>
    /// 发件人姓名
    /// </summary>
    public string SenderName { get; set; }

    /// <summary>
    /// 邮件内容
    /// </summary>
    public string Content { get; set; }

    /// <summary>
    /// 邮件状态
    /// </summary>
    public EmailState EmailStateEnum { get; set; }
}

public class GetEmailInfoOutDto:EmailLogView
{
    
}

public class GetEmailInfoInDto
{
    public Guid Id { get; set; }

    public Guid? TrialId { get; set; }
}

public class SynchronizationEmailInDto
{
    public Guid? TrialId { get; set; }
}

public class ResendEmailInDto
{
    public Guid Id { get; set; }

    public Guid? TrialId { get; set; }
}

public class EmailAuthorization
{
    public string FromEmail { get; set; } = string.Empty;

    public string AuthorizationCode { get; set; } = string.Empty;
}

public class EmailLogQuery:PageInput
{
 
    public Guid? TrialId { get; set; }

    public DateTime?  EmailStartDate { get; set; }

    public DateTime? EmailEndDate { get; set; }

    public EmailState? EmailStateEnum { get; set; }

    public string ToRecipientName { get; set; } = string.Empty;

    public string CcRecipientName { get; set; } = string.Empty;


}




