2026-07-06 18:43:46 +06:00
|
|
|
|
|
2026-07-08 14:51:20 +06:00
|
|
|
|
using DocumentFormat.OpenXml.Wordprocessing;
|
2026-07-08 18:15:24 +06:00
|
|
|
|
using System;
|
2026-07-06 18:43:46 +06:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
|
|
|
|
|
|
|
|
namespace OnlineSalesAutoCrop.CoreAPI.Models.Requests.MobileApp;
|
|
|
|
|
|
|
|
|
|
|
|
public class GetMarketHeirarchyByEmpRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
[Required, NotNull, StringLength(maximumLength: 10, MinimumLength = 3, ErrorMessage = "EmployeeNumber must be between 3 and 10 characters.")]
|
|
|
|
|
|
public string EmployeeNumber { get; set; }
|
|
|
|
|
|
}
|
2026-07-07 18:14:18 +06:00
|
|
|
|
|
|
|
|
|
|
public class GetBrandsRequest : PagedRequest
|
|
|
|
|
|
{
|
2026-07-08 14:51:20 +06:00
|
|
|
|
[StringLength(6, MinimumLength = 1, ErrorMessage = "Brand code must be between 1 and 6 characters.")]
|
2026-07-07 18:14:18 +06:00
|
|
|
|
public string? BrandCode { get; set; }
|
2026-07-08 14:51:20 +06:00
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
2026-07-07 18:14:18 +06:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class GetMaterialsRequest : PagedRequest
|
|
|
|
|
|
{
|
2026-07-08 14:51:20 +06:00
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(6, MinimumLength = 1, ErrorMessage = "Brand code must be between 1 and 6 characters.")]
|
2026-07-07 18:14:18 +06:00
|
|
|
|
public string? BrandCode { get; set; }
|
2026-07-08 14:51:20 +06:00
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Material Code must be between 1 and 10 characters.")]
|
2026-07-07 18:14:18 +06:00
|
|
|
|
public string? MaterialCode { get; set; }
|
2026-07-08 14:51:20 +06:00
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
2026-07-07 18:14:18 +06:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-13 17:37:58 +06:00
|
|
|
|
public class GetMaterialPriceRequest : PagedRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(6, MinimumLength = 1, ErrorMessage = "Brand code must be between 1 and 6 characters.")]
|
|
|
|
|
|
public string? BrandCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Material Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? MaterialCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-07-07 18:14:18 +06:00
|
|
|
|
public class GetCustomersRequest : PagedRequest
|
|
|
|
|
|
{
|
2026-07-12 18:27:00 +06:00
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
2026-07-08 14:51:20 +06:00
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
2026-07-12 18:27:00 +06:00
|
|
|
|
[StringLength(5, MinimumLength = 3, ErrorMessage = "Teritory Code must be between 1 and 5 characters.")]
|
2026-07-07 18:14:18 +06:00
|
|
|
|
public string? TeritoryCode { get; set; }
|
2026-07-08 14:51:20 +06:00
|
|
|
|
|
2026-07-12 18:27:00 +06:00
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Customer Code must be between 1 and 10 characters.")]
|
2026-07-07 18:14:18 +06:00
|
|
|
|
public string? CustomerCode { get; set; }
|
2026-07-08 14:51:20 +06:00
|
|
|
|
|
2026-07-12 18:27:00 +06:00
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
2026-07-08 14:51:20 +06:00
|
|
|
|
public string? EmployeeNumber { get; set; }
|
2026-07-08 18:15:24 +06:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class GetAttendanceByEmpRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
[Required, NotNull, StringLength(maximumLength: 10, MinimumLength = 3, ErrorMessage = "EmployeeNumber must be between 3 and 10 characters.")]
|
|
|
|
|
|
public string EmployeeNumber { get; set; }
|
|
|
|
|
|
public DateTime? AttendanceDate { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class UpsertAttendanceByEmpRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
[Required, NotNull, StringLength(maximumLength: 10, MinimumLength = 3, ErrorMessage = "EmployeeNumber must be between 3 and 10 characters.")]
|
|
|
|
|
|
public string EmployeeNumber { get; set; }
|
2026-07-09 18:53:22 +06:00
|
|
|
|
public TimeSpan? CheckInTime { get; set; }
|
2026-07-08 18:15:24 +06:00
|
|
|
|
public string? CheckInLatitude { get; set; }
|
|
|
|
|
|
public string? CheckInLongitude { get; set; }
|
|
|
|
|
|
public string? CheckInLocationName { get; set; }
|
2026-07-09 18:53:22 +06:00
|
|
|
|
public TimeSpan? CheckOutTime { get; set; }
|
2026-07-08 18:15:24 +06:00
|
|
|
|
public string? CheckOutLatitude { get; set; }
|
|
|
|
|
|
public string? CheckOutLongitude { get; set; }
|
|
|
|
|
|
public string? CheckOutLocationName { get; set; }
|
|
|
|
|
|
public bool IsCheckIn => CheckInTime.HasValue ? true : false;
|
|
|
|
|
|
public bool IsCheckOut => CheckOutTime.HasValue ? true : false;
|
2026-07-12 18:27:00 +06:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-13 17:37:58 +06:00
|
|
|
|
public class GetDiscountRequest : PagedRequest
|
2026-07-12 18:27:00 +06:00
|
|
|
|
{
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Customer Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? CustomerCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Material Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? MaterialCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Discount Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? DiscountCode { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-13 17:37:58 +06:00
|
|
|
|
public class GetDiscountMaterialRequest : PagedRequest
|
2026-07-12 18:27:00 +06:00
|
|
|
|
{
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Customer Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? CustomerCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Material Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? MaterialCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Discount Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? DiscountCode { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-13 18:32:45 +06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class GetFOCRequest : PagedRequest
|
2026-07-12 18:27:00 +06:00
|
|
|
|
{
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Customer Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? CustomerCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Material Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? MaterialCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Discount Code must be between 1 and 10 characters.")]
|
2026-07-13 18:32:45 +06:00
|
|
|
|
public string? FOCCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class GetFOCMaterialRequest : PagedRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Customer Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? CustomerCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 5, ErrorMessage = "Employee number must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? EmployeeNumber { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Material Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? MaterialCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 1, ErrorMessage = "Discount Code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string? FOCCode { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-07-14 12:18:46 +06:00
|
|
|
|
public class GetPaymentTermRequest : PagedRequest
|
|
|
|
|
|
{
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "Sales organization code must be between 1 and 10 characters.")]
|
|
|
|
|
|
public string SalesOrgCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[StringLength(10, MinimumLength = 3, ErrorMessage = "PayementTerm Code must be between 3 and 10 characters.")]
|
2026-07-14 18:50:43 +06:00
|
|
|
|
public string? PaymentTermCode { get; set; }
|
2026-07-14 12:18:46 +06:00
|
|
|
|
}
|