using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Xcd.ERP.API.Handlers;
namespace Xcd.ERP.API.Modules.AccountsReceivable.ARCommissionPlans
public class ARCommissionEntity
public Guid CommPlanId { get; set; }
[Required, RegularExpression(@"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$", ErrorMessage = "Please Insert Valid Id.")]
public Guid GlMasterAcctId { get; set; }
[Required, MaxLength(4, ErrorMessage = "{0} can not be more than {1} character.")]
public string PlanCode { get; set; }
[Required, MaxLength(25, ErrorMessage = "{0} can not be more than {1} character.")]
public string Description { get; set; }
[RegularExpression(@"^\d+.?\d{0,2}$", ErrorMessage = "Invalid {0}; Maximum Two Decimal Points.")]
[Range(0, 999.99, ErrorMessage = "Invalid {0}; Max 5 digits")]
public decimal? CostAdjPercentage { get; set; }
[Required, ConcurrencyCheck]
[DataType(DataType.Currency)]
[Column(TypeName = "money")]
public decimal MinSaleAmt { get; set; }
[Required, ConcurrencyCheck]
public char MethodId { get; set; }
public char? CostBasisId { get; set; }
[Required, ConcurrencyCheck]
public char IsRebateUsed { get; set; }
[Required, ConcurrencyCheck]
public char FreightMethodCode { get; set; }
[Required, ConcurrencyCheck]
public int TerminationDays { get; set; }
[RegularExpression(@"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$", ErrorMessage = "Please Insert Valid Id.")]
public Guid? DeptId { get; set; }
[Required, ConcurrencyCheck]
public char LineLevelComm { get; set; }
[Required, ConcurrencyCheck]
public char SaleBasis { get; set; }
public string AcctCombo { get; set; }
public Guid CommPlanId { get; set; }
public Guid BracketId { get; set; }
[Required, ConcurrencyCheck]
public Int16 Bracket { get; set; }
[DataType(DataType.Currency)]
[Column(TypeName = "money")]
public decimal? BasisAmount { get; set; }
[RegularExpression(@"^\d+.?\d{0,2}$", ErrorMessage = "Invalid {0}; Maximum Two Decimal Points.")]
[Range(0, 999.99, ErrorMessage = "Invalid {0}; Max 5 digits")]
public decimal? BasisRate { get; set; }
[Required, ConcurrencyCheck]
[RegularExpression(@"^\d+.?\d{0,2}$", ErrorMessage = "Invalid {0}; Maximum Two Decimal Points.")]
[Range(0, 999.99, ErrorMessage = "Invalid {0}; Max 5 digits")]
public decimal CommissionRate { get; set; }
[Required, ConcurrencyCheck]
public char MethodId { get; set; }