using System.ComponentModel.DataAnnotations;
using Nop.Web.Framework.Models;
using Nop.Web.Framework.Mvc.ModelBinding;

namespace Nop.Web.Areas.Admin.Models.Messages;

/// <summary>
/// Represents a queued email search model
/// </summary>
public partial record QueuedEmailSearchModel : BaseSearchModel
{
    #region Properties

    [NopResourceDisplayName("Admin.System.QueuedEmails.List.StartDate")]
    [UIHint("DateNullable")]
    public DateTime? SearchStartDate { get; set; }

    [NopResourceDisplayName("Admin.System.QueuedEmails.List.EndDate")]
    [UIHint("DateNullable")]
    public DateTime? SearchEndDate { get; set; }

    [DataType(DataType.EmailAddress)]
    [NopResourceDisplayName("Admin.System.QueuedEmails.List.FromEmail")]
    public string SearchFromEmail { get; set; }

    [DataType(DataType.EmailAddress)]
    [NopResourceDisplayName("Admin.System.QueuedEmails.List.ToEmail")]
    public string SearchToEmail { get; set; }

    [NopResourceDisplayName("Admin.System.QueuedEmails.List.LoadNotSent")]
    public bool SearchLoadNotSent { get; set; }

    [NopResourceDisplayName("Admin.System.QueuedEmails.List.MaxSentTries")]
    public int SearchMaxSentTries { get; set; }

    [NopResourceDisplayName("Admin.System.QueuedEmails.List.GoDirectlyToNumber")]
    public int GoDirectlyToNumber { get; set; }

    #endregion
}