OnlineSalesAutoCrop/Api/OnlineSalesAutoCrop.CoreAPI.Models/Requests/Integrations/IntegrationMaterialPriceRequest.cs

77 lines
3.3 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
namespace OnlineSalesAutoCrop.CoreAPI.Models.Requests.Integrations;
public class IntegrationMaterialPriceRequest
{
[Required(ErrorMessage = "Sales Org is required.")]
[StringLength(4, ErrorMessage = "Sales Org cannot exceed 4 characters.")]
public string SalesOrg { get; set; }
[Required(ErrorMessage = "Distribution Channel is required.")]
[StringLength(2, ErrorMessage = "Distribution Channel cannot exceed 2 characters.")]
public string DistributionChannel { get; set; }
[StringLength(13, ErrorMessage = "Customer Number cannot exceed 13 characters.")]
public string? CustomerNumber { get; set; }
[StringLength(10, ErrorMessage = "Customer Group Code cannot exceed 10 characters.")]
public string? CustomerGroupCode { get; set; }
[Required(ErrorMessage = "Material Code is required.")]
[StringLength(10, ErrorMessage = "Material Code cannot exceed 10 characters.")]
public string MaterialCode { get; set; }
[Required(ErrorMessage = "Condition Type is required.")]
[StringLength(4, ErrorMessage = "Condition Type cannot exceed 4 characters.")]
public string ConditionType { get; set; }
[Required(ErrorMessage = "Calculation Type is required.")]
[StringLength(1, ErrorMessage = "Calculation Type cannot exceed 1 character.")]
public string CalculationType { get; set; }
[Required(ErrorMessage = "Pricing Unit is required.")]
[StringLength(1, ErrorMessage = "Pricing Unit cannot exceed 1 character.")]
public string PricingUnit { get; set; }
[Required(ErrorMessage = "Unit Of Measure is required.")]
[StringLength(3, ErrorMessage = "Unit Of Measure cannot exceed 3 characters.")]
public string UnitOfMeasure { get; set; }
[Required(ErrorMessage = "Valid From date is required.")]
public DateTime ValidFrom { get; set; }
[Required(ErrorMessage = "Valid To date is required.")]
public DateTime ValidTo { get; set; }
[StringLength(1, ErrorMessage = "Status cannot exceed 1 character.")]
[RegularExpression(@"^$|^X$", ErrorMessage = "Status must be blank (Active) or 'X' (Inactive).")]
public string Status { get; set; }
[Required(ErrorMessage = "Condition Value is required.")]
[Range(typeof(decimal), "0", "999999999999999999.99",
ErrorMessage = "Condition Value must be greater than or equal to 0.")]
public decimal ConditionValue { get; set; }
}
public class GetMaterialPriceByCodeRequest
{
[Required(ErrorMessage = "Sales Org is required.")]
[StringLength(4, ErrorMessage = "Sales Org cannot exceed 4 characters.")]
public string SalesOrg { get; set; }
[Required(ErrorMessage = "Material Code is required.")]
[StringLength(10, ErrorMessage = "Material Code cannot exceed 10 characters.")]
public string MaterialCode { get; set; }
[Required(ErrorMessage = "Condition Type is required.")]
[StringLength(4, ErrorMessage = "Condition Type cannot exceed 4 characters.")]
public string ConditionType { get; set; }
[StringLength(13, ErrorMessage = "Customer Number cannot exceed 13 characters.")]
public string? CustomerNumber { get; set; }
[StringLength(10, ErrorMessage = "Customer Group Code cannot exceed 10 characters.")]
public string? CustomerGroupCode { get; set; }
}