using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json.Serialization; using System.Threading.Tasks; namespace GB5Shared.DTO.Framework.Criteria { public class AttributesCriteriaDTO { private string fieldname = ""; private CriteriaDTO.OperationType operationtype; private object fieldvalue; private object[] inarray; private CriteriaDTO.AttributeJoinOperationType jointype; private string criteriaattributename; private string criteriaattributevalue; private byte iscompulsory; private byte isheader; private byte criteriaattributetype; private int criteriaattributeid; private int filtertype = 1; private string criteriafielddisplayvalue = ""; private string tablealias = ""; public string FieldName { get { return fieldname; } set { fieldname = value; } } public CriteriaDTO.OperationType OperationType { get { return operationtype; } set { operationtype = value; } } public object FieldValue { get { return fieldvalue; } set { fieldvalue = value; } } public object[] InArray { get { return inarray; } set { inarray = value; } } public CriteriaDTO.AttributeJoinOperationType JoinType { get { return jointype; } set { jointype = value; } } public string CriteriaAttributeName { get { return criteriaattributename; } set { criteriaattributename = value; } } public string CriteriaAttributeValue { get { return criteriaattributevalue; } set { criteriaattributevalue = value; } } public byte IsCompulsory { get { return iscompulsory; } //IsCompulsory set { iscompulsory = value; } //IsCompulsory } public byte IsHeader { get { return isheader; } //IsHeader set { isheader = value; } //IsHeader } public byte CriteriaAttributeType { get { return criteriaattributetype; } set { criteriaattributetype = value; } } public int CriteriaAttributeId { get { return criteriaattributeid; } set { criteriaattributeid = value; } } [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString)] public int FilterType { get { return filtertype; } set { filtertype = value; } } public string CriteriaFieldDisplayValue { get { return criteriafielddisplayvalue; } set { criteriafielddisplayvalue = value; } } // Optional per-field table alias override (e.g. "R" for a joined // table's column). When set, CriteriaBuilder uses this instead of // the single auto-detected FROM-clause alias — needed for // multi-join queries where different criteria fields belong to // different tables. public string TableAlias { get { return tablealias; } set { tablealias = value; } } } }