using Knoks.Core.Entities.Interfaces; using Knoks.Framework.DataAccess; using Newtonsoft.Json; using System; namespace Knoks.Core.Entities { public enum UserType : byte { Real = 0, Demo = 1, Platform = 2 } public class User : IApiResult { public long UserId { get; set; } [JsonIgnore] public byte UserRoleId { get; set; } [ProcParamIgnore, JsonProperty(PropertyName = "userRoleId")] public int _userRoleId { get { return UserRoleId; } set { UserRoleId = (byte)value; } }//fix for Swashbuckle error [JsonIgnore] public byte UserTypeId { get; set; } [ProcParamIgnore, JsonProperty(PropertyName = "userTypeId")] public int _userTypeId { get { return UserTypeId; } set { UserTypeId = (byte)value; } }//fix for Swashbuckle error public DateTime RegistrationDate { get; set; } public DateTime? CreateDate { get; set; } public string CreateOrigin { get; set; } public string CreateIPAddress { get; set; } public string Source { get; set; } public DateTime? LastModifyDate { get; set; } public string LastModifyOrigin { get; set; } public int? LastModifyOperatorId { get; set; } // Personal Details public string UserName { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public DateTime? BirthDate { get; set; } public string Address { get; set; } public string City { get; set; } public string Gender { get; set; } public string ZipCode { get; set; } public string Email { get; set; } public string PhonePrefix { get; set; } public string Phone { get; set; } public bool? IsUSTaxEntity { get; set; } public bool KYC_Approved { get; set; } public int? CountryId { get; set; } [JsonIgnore] public byte? LanguageId { get; set; } [ProcParamIgnore, JsonProperty(PropertyName = "languageId")] public int? _languageId { get { return LanguageId; } set { LanguageId = (byte)value; } }//fix for Swashbuckle error public bool? TermsOfServiceChecked { get; set; } public bool? MailVerfied { get; set; } public bool? PhoneVerified { get; set; } public bool? HasAvatar { get; set; } //public string Content { get; set; } //public string ContentBase64 { get; set; } public string AvatarUrl { get; set; } public UserRank Rank { get; set; } public int? CountFollowers { get; set; } public bool UserIsKnokser { get; set; } } public class UserCredential { public User User { get; set; } public string Password { get; set; } } public enum UserRankValues { Padawan = 1, Ranger = 3, Knight = 5, Master = 7, Jedi = 10 } public class UserPasswordReset : IApiResult { public string Email { get; set; } public string Link { get; set; } } }