using LifePayment.Domain.Shared;
using System;
using ZeroD.Util;

namespace LifePayment.Application.Contracts
{
    public class OperateHistoryDto
    {
        /// <summary>
        /// 关联关系ID
        /// </summary>
        public Guid RelationId { get; set; }

        /// <summary>
        /// 表名
        /// </summary>
        public int? TableType { get; set; }

        /// <summary>
        /// 操作
        /// </summary>
        public string OperateName { get; set; }

        /// <summary>
        /// 操作内容
        /// </summary>
        public string OperateContent { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        public string CreatorName { get; set; }

        /// <summary>
        /// 操作时间
        /// </summary>
        public DateTime CreationTime { get; set; }

        /// <summary>
        /// 操作细节
        /// </summary>
        public string OperateDetail { get; set; }
    }

    public class GetOperateHistoryInput : PageInput
    {
        public Guid RelationId { get; set; }

        public string OperateName { get; set; }
    }

    public class QueryOperateHistoryByTypeInput : PageInput
    {
        public Guid TypeId { get; set; }

        public OperateHistoryTypeEnum OperateHistoryType { get; set; }
    }

    public class CreateOperateHistoryInput
    {
        /// <summary>
        /// 关联关系ID
        /// </summary>
        public Guid RelationId { get; set; }

        public int? TableType { get; set; }

        public string OperateName { get; set; }

        public string OperateContent { get; set; }

        public string CreatorName { get; set; }
    }
}