/* Options: Date: 2026-02-04 10:26:00 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: LoginHistoryRequest.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using ServiceStack.Web; using System.IO; using tvpl.api.ServiceModel; using tvpl.data.Models; namespace tvpl.api.ServiceModel { public partial interface IResponseRequest { int Code { get; set; } string Message { get; set; } } /// ///Lấy lịch sử đăng nhập /// [Route("/login-history", "Get")] public partial class LoginHistoryRequest : IReturn { public virtual int? UserId { get; set; } public virtual string UserName { get; set; } public virtual DateTime? StartDate { get; set; } public virtual DateTime? EndDate { get; set; } public virtual int Page { get; set; } public virtual int Limit { get; set; } } public partial class LoginHistoryRespnse : IResponseRequest { public LoginHistoryRespnse() { Data = new List{}; } public virtual List Data { get; set; } public virtual int TotalRecords { get; set; } public virtual int Code { get; set; } public virtual string Message { get; set; } } } namespace tvpl.data.Models { public partial class UserLoginHistory { public virtual int Id { get; set; } public virtual int UserId { get; set; } [StringLength(150)] public virtual string UserName { get; set; } [StringLength(45)] public virtual string IPAddress { get; set; } [StringLength(500)] public virtual string DeviceInfo { get; set; } [StringLength(50)] public virtual string LoginStatus { get; set; } [StringLength(500)] public virtual string FailReason { get; set; } [Required] public virtual DateTime CreatedAt { get; set; } public virtual string Provider { get; set; } } public partial class UserLoginHistoryDto : UserLoginHistory { public virtual int? FailedLoginCount { get; set; } } }