(* Options: Date: 2026-02-04 10:26:01 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: LoginHistoryRequest.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace tvpl.api.ServiceModel open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open ServiceStack.Web open System.IO [] type IResponseRequest = abstract Code:Int32 with get,set abstract Message:String with get,set [] type UserLoginHistory() = member val Id:Int32 = new Int32() with get,set member val UserId:Int32 = new Int32() with get,set [] member val UserName:String = null with get,set [] member val IPAddress:String = null with get,set [] member val DeviceInfo:String = null with get,set [] member val LoginStatus:String = null with get,set [] member val FailReason:String = null with get,set [] member val CreatedAt:DateTime = new DateTime() with get,set member val Provider:String = null with get,set [] type UserLoginHistoryDto() = inherit UserLoginHistory() member val FailedLoginCount:Nullable = new Nullable() with get,set [] type LoginHistoryRespnse() = member val Data:ResizeArray = new ResizeArray() with get,set member val TotalRecords:Int32 = new Int32() with get,set member val Code:Int32 = new Int32() with get,set member val Message:String = null with get,set /// ///Lấy lịch sử đăng nhập /// [] [] type LoginHistoryRequest() = interface IReturn member val UserId:Nullable = new Nullable() with get,set member val UserName:String = null with get,set member val StartDate:Nullable = new Nullable() with get,set member val EndDate:Nullable = new Nullable() with get,set member val Page:Int32 = new Int32() with get,set member val Limit:Int32 = new Int32() with get,set