OnlineSalesAutoCrop/Api/OnlineSalesAutoCrop.CoreAPI.Models/Requests/Systems/UserRequest.cs

222 lines
8.0 KiB
C#
Raw Permalink Normal View History

2026-06-14 12:46:29 +06:00
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics.CodeAnalysis;
2026-06-15 18:26:58 +06:00
namespace OnlineSalesAutoCrop.CoreAPI.Models.Requests.Systems;
public class FindAccountRequest
{
[Required, NotNull, StringLength(maximumLength: 200, MinimumLength = 4, ErrorMessage = "Login Id or Email address or Mobile number must be between 4 and 100 characters.")]
public string AccountId { get; set; }
}
public class LoginRequest
{
[Required, NotNull, StringLength(maximumLength: 150, MinimumLength = 4, ErrorMessage = "Login Id must be between 4 and 30 characters.")]
public string LoginId { get; set; }
[Required, NotNull, StringLength(maximumLength: 150, MinimumLength = 1, ErrorMessage = "Password must be between 1 and 30 characters.")]
public string Password { get; set; }
public string AppId { get; set; }
[Required, NotNull, StringLength(maximumLength: 8, MinimumLength = 5, ErrorMessage = "Version must be 5 and 8 digits (Example: 0.0.0 or 99.99.99)")]
public string AppVersion { get; set; }
public bool AttendanceLogin { get; set; }
public string HostName { get; set; }
public string IpAddress { get; set; }
public string MacAddress { get; set; }
public string LoginRemarks { get; set; }
}
2026-06-15 18:26:58 +06:00
public class OtpValidationRequest
{
public int UserId { get; set; }
public EnumAuthenticationMethod AuthMethod { get; set; }
[Required, NotNull, StringLength(6, MinimumLength = 6, ErrorMessage = "Otp must be 6 digit number.")]
public string OtpCode { get; set; }
}
public class ByUserIdRequest
{
public int UserId { get; set; }
}
public class SendPasswordRequest
{
[Required, NotNull, StringLength(maximumLength: 300, MinimumLength = 1, ErrorMessage = "User Id is required.")]
public string UserId { get; set; }
public string MobileNo { get; set; }
public string EmailAddress { get; set; }
}
public class UserUnlockRequest : ByUserIdRequest
{
[Required, NotNull, StringLength(maximumLength: 30, MinimumLength = 1, ErrorMessage = "Login Id must be between 1 and 30 characters.")]
public string LoginId { get; set; }
}
public class ResetPasswordRequest : ByUserIdRequest
{
[Required, NotNull, StringLength(maximumLength: 30, MinimumLength = 1, ErrorMessage = "Password must be between 1 and 30 characters.")]
public string Password { get; set; }
[Required, NotNull, StringLength(maximumLength: 30, MinimumLength = 1, ErrorMessage = "Confirm Password must be between 1 and 30 characters.")]
public string ConfirmPassword { get; set; }
}
public class PasswordChangeRequest : ResetPasswordRequest
{
[Required, NotNull, StringLength(maximumLength: 30, MinimumLength = 1, ErrorMessage = "Old Password must be between 1 and 30 characters.")]
public string OldPassword { get; set; }
}
public class LogoutRequest
{
public int LogId { get; set; }
public bool AttendanceLogout { get; set; }
public string IpAddress { get; set; }
public string MacAddress { get; set; }
public string HostName { get; set; }
public string LogoutRemarks { get; set; }
}
public class UserThemeRequest
{
[Required, NotNull, StringLength(15, MinimumLength = 1, ErrorMessage = "Menu Layout must be between 1 to 15 characters.")]
public string MenuLayout { get; set; }
[Required, NotNull, StringLength(15, MinimumLength = 1, ErrorMessage = "Theme Name must be between 1 to 15 characters.")]
public string ThemeName { get; set; }
[Required, NotNull, StringLength(10, MinimumLength = 1, ErrorMessage = "Scheme Name must be between 1 to 10 characters.")]
public string SchemeName { get; set; }
}
public class UserRequestBase
{
[Required, NotNull, StringLength(30, MinimumLength = 3, ErrorMessage = "Login Id must be between 3 to 30 characters.")]
public string LoginId { get; set; }
[Required, NotNull, StringLength(75, MinimumLength = 3, ErrorMessage = "User Name must be between 3 to 75 characters.")]
public string UserName { get; set; }
[Required, NotNull, StringLength(50, MinimumLength = 0, ErrorMessage = "Designation must be between 0 to 50 characters.")]
public string Designation { get; set; }
[StringLength(15, MinimumLength = 11, ErrorMessage = "Mobile number must be 11 characters.")]
[RegularExpression(@"^[01]{2}[123456789]{1}[0-9]{8}$", ErrorMessage = "Mobile number is invalid.")]
public string MobileNo { get; set; }
[Required, NotNull, StringLength(100, MinimumLength = 5, ErrorMessage = "Email address must be between 5 to 100 characters.")]
[RegularExpression(@"^(([a-zA-Z0-9_\-\.]+)\@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)(\s*;\s*|\s*$))*$", ErrorMessage = "Email address is invalid.")]
public string EmailAddress { get; set; } = string.Empty;
public bool AuthReqAtlogin { get; set; }
public bool NeverExpire { get; set; }
public bool DbOnStartup { get; set; }
public bool DisallowMultiLogin { get; set; }
public EnumStatus Status { get; set; }
public short SeqId { get; set; }
public bool ViewToAll { get; set; }
public bool CanUseAttendanceSystem { get; set; }
public EnumAuthenticationMethod AuthMethod { get; set; }
public EnumAccessStatus AccessStatus { get; set; }
public List<int> GroupIds { get; set; }
}
public class UserRequest : UserRequestBase
{
[Required, Range(minimum: 1, maximum: int.MaxValue, ConvertValueInInvariantCulture = true, ErrorMessage = "Select valid user (1 to 99999999).")]
public int UserId { get; set; }
public string AuthKey { get; set; }
}
public class NewUserRequest : UserRequestBase
{
public int? EmployeeId { get; set; }
public string EmployeeCode { get; set; }
[Required, NotNull, StringLength(30, MinimumLength = 1, ErrorMessage = "User Name must be between 1 to 30 characters.")]
public string Password { get; set; }
}
public class UserSearchRequest : ValueStatusAndPageAndSortSearchRequest
{
public bool CheckOwner { get; set; }
}
public class ForceUserLogoutRequest
{
public List<int> UserIds { get; set; }
}
public class ByUserAttributesRequest : ByUserIdRequest
{
[Required, Range(minimum: 1, maximum: 3, ConvertValueInInvariantCulture = true, ErrorMessage = "Client type must be 1 to 3")]
public int ClientType { get; set; }
}
public class UpdateMyInfoRequest
{
[Required, Range(minimum: 1, maximum: int.MaxValue, ConvertValueInInvariantCulture = true, ErrorMessage = "Employee Id must be 1 to 2147483647")]
public int EmployeeId { get; set; }
[NotNull, StringLength(120, MinimumLength = 0, ErrorMessage = "Address be between 0 to 120 characters.")]
public string Address { get; set; }
public string ContactNo { get; set; }
}
public class UserAttributesRequest
{
[Required, Range(minimum: 1, maximum: int.MaxValue, ConvertValueInInvariantCulture = true, ErrorMessage = "Select valid user")]
public int UserId { get; set; }
[Required, Range(minimum: 1, maximum: 3, ConvertValueInInvariantCulture = true, ErrorMessage = "Client type must be 1 to 3")]
public int ClientType { get; set; }
public List<string> UkIds { get; set; }
}
public class AccessLogSearchRequest
{
public int AccessType { get; set; }
public string LoginId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
public class ByTeamSpaceAndBasicUserRequest
{
public int TeamSpaceId { get; set; }
public int ProjectId { get; set; }
}
public class BasicUserByTeamSpaceRequest : ByTeamSpaceAndBasicUserRequest
{
public int UserId { get; set; }
}
public class BasicUserSearchRequest : BasicUserByTeamSpaceRequest
{
public bool ApplyFilter { get; set; }
}
public class UserLimitAuthorizeRequest
{
[Required, Range(minimum: 1, maximum: int.MaxValue, ConvertValueInInvariantCulture = true, ErrorMessage = "Select valid user (1 to 99999999).")]
public int UserId { get; set; }
public decimal MaxAuthorizeAmount { get; set; }
}
public class PayslipRequest
{
[Required, NotNull]
public DateTime YearMonth { get; set; }
2026-06-14 12:46:29 +06:00
}