//--------------------------------------------------------------------
//     此代码由T4模板自动生成  byzhouhang 20210918
//	   生成时间 2023-06-01 13:38:20 
//     对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Application.Helper;

namespace IRaCIS.Core.Application.ViewModel
{
    /// <summary> InternationalizationView  列表视图模型 </summary>
    public class InternationalizationView : InternationalizationAddOrEdit
    {
        public int ShowOrder { get; set; }
        public Guid CreateUserId { get; set; }
        public DateTime CreateTime { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid UpdateUserId { get; set; }


        public string Version { get; set; }

    }

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

        [DictionaryTranslateAttribute("InternationalizationKeyState")]
        public int State { get; set; }
        public string Description { get; set; } = string.Empty;
        public string Code { get; set; } = string.Empty;
        public string Value { get; set; } = string.Empty;
        public string ValueCN { get; set; } = string.Empty;

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

        [DictionaryTranslateAttribute("InternationalizationType")]
        public int InternationalizationType { get; set; }
        public string Module { get; set; } = string.Empty;
        //关联版本历史记录表Id
        public Guid? PublishLogId { get; set; }

        public string Version { get; set; }

        public DateTime CreateTime { get; set; }

        public DateTime UpdateTime { get; set; }
    }

    ///<summary>InternationalizationQuery  列表查询参数模型</summary>
    public class InternationalizationQuery : PageInput
    {
        public int? InternationalizationType { get; set; }
        public int? State { get; set; }
        public string? Description { get; set; }
        public string? Code { get; set; }
        public string? Value { get; set; }

        public string? ValueCN { get; set; }

        public string? Module { get; set; }
        //关联版本历史记录表Id
        public Guid? PublishLogId { get; set; }

        public DateTime? BeginCreateTime { get; set; }

        public DateTime? EndCreatTime { get; set; }

        public DateTime? BeginUpdateTime { get; set; }

        public DateTime? EndUpdateTime { get; set; }

    }

    ///<summary> InternationalizationAddOrEdit  列表查询参数模型</summary>
    public class InternationalizationAddOrEdit
    {
        public Guid? Id { get; set; }
        public int State { get; set; }
        public string Description { get; set; } = string.Empty;
        public string Code { get; set; } = string.Empty;
        public string Value { get; set; } = string.Empty;
        public string ValueCN { get; set; } = string.Empty;

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

        public int InternationalizationType { get; set; }
        public string Module { get; set; } = string.Empty;
        //关联版本历史记录表Id
        public Guid? PublishLogId { get; set; }
    }

    public class BatchAddInternationalization
    {
        public int InternationalizationType { get; set; }

        public int State { get; set; }

        public Guid? PublishLogId { get; set; }

        public List<BatchAddInternationalizationDto> AddList { get; set; }
    }


    public class BatchInternationalizationDto
    {
        public string Description { get; set; } = string.Empty;
        public string Code { get; set; } = string.Empty;
        public string Value { get; set; } = string.Empty;
        public string FrontType { get; set; } = string.Empty;
        public string ValueCN { get; set; } = string.Empty;

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

        public int? State { get; set; }

        public int InternationalizationType { get; set; }

    }

    public class BatchAddInternationalizationDto : BatchInternationalizationDto
    {

    }

    public class InternationalizationSimpleDto : BatchInternationalizationDto
    {
        public string Version { get; set; }

        public DateTime CreateTime { get; set; }

    }

    public class BatchUpdateInfoCommand
    {
        public List<Guid> IdList { get; set; }

        public Guid? PublishLogId { get; set; }

        public int State { get; set; }
    }

}