//---------------------------------------------------------------------------------------------
// This file was AUTO-GENERATED by "Xomega Data Objects" Xomega.Net generator.
//
// Manual CHANGES to this file WILL BE LOST when the code is regenerated.
//---------------------------------------------------------------------------------------------

using System;
using Xomega.Framework;
using Xomega.Framework.Properties;

namespace AdventureWorks.Client.Objects
{
    public partial class SalesOrderCriteria : CriteriaObject
    {
        #region Constants

        public const string CustomerName = "CustomerName";
        public const string CustomerNameOperator = "CustomerNameOperator";
        public const string CustomerStore = "CustomerStore";
        public const string CustomerStoreOperator = "CustomerStoreOperator";
        public const string DueDate = "DueDate";
        public const string DueDate2 = "DueDate2";
        public const string DueDateOperator = "DueDateOperator";
        public const string GlobalRegion = "GlobalRegion";
        public const string OrderDate = "OrderDate";
        public const string OrderDate2 = "OrderDate2";
        public const string OrderDateOperator = "OrderDateOperator";
        public const string SalesOrderNumber = "SalesOrderNumber";
        public const string SalesOrderNumberOperator = "SalesOrderNumberOperator";
        public const string SalesPersonId = "SalesPersonId";
        public const string SalesPersonIdOperator = "SalesPersonIdOperator";
        public const string Status = "Status";
        public const string StatusOperator = "StatusOperator";
        public const string TerritoryId = "TerritoryId";
        public const string TerritoryIdOperator = "TerritoryIdOperator";
        public const string TotalDue = "TotalDue";
        public const string TotalDue2 = "TotalDue2";
        public const string TotalDueOperator = "TotalDueOperator";

        #endregion

        #region Properties

        public TextProperty CustomerNameProperty { get; private set; }
        public OperatorProperty CustomerNameOperatorProperty { get; private set; }
        public TextProperty CustomerStoreProperty { get; private set; }
        public OperatorProperty CustomerStoreOperatorProperty { get; private set; }
        public DateProperty DueDateProperty { get; private set; }
        public DateProperty DueDate2Property { get; private set; }
        public OperatorProperty DueDateOperatorProperty { get; private set; }
        public EnumProperty GlobalRegionProperty { get; private set; }
        public DateProperty OrderDateProperty { get; private set; }
        public DateProperty OrderDate2Property { get; private set; }
        public OperatorProperty OrderDateOperatorProperty { get; private set; }
        public TextProperty SalesOrderNumberProperty { get; private set; }
        public OperatorProperty SalesOrderNumberOperatorProperty { get; private set; }
        public EnumIntProperty SalesPersonIdProperty { get; private set; }
        public OperatorProperty SalesPersonIdOperatorProperty { get; private set; }
        public EnumByteProperty StatusProperty { get; private set; }
        public OperatorProperty StatusOperatorProperty { get; private set; }
        public EnumIntProperty TerritoryIdProperty { get; private set; }
        public OperatorProperty TerritoryIdOperatorProperty { get; private set; }
        public MoneyProperty TotalDueProperty { get; private set; }
        public MoneyProperty TotalDue2Property { get; private set; }
        public OperatorProperty TotalDueOperatorProperty { get; private set; }

        #endregion

        #region Construction

        public SalesOrderCriteria()
        {
        }

        public SalesOrderCriteria(IServiceProvider serviceProvider) : base(serviceProvider)
        {
        }

        protected override void Initialize()
        {
            SalesOrderNumberOperatorProperty = new OperatorProperty(this, SalesOrderNumberOperator)
            {
                Size = 25,
                EnumType = "operators",
            };
            SalesOrderNumberProperty = new TextProperty(this, SalesOrderNumber)
            {
                Size = 25,
            };
            StatusOperatorProperty = new OperatorProperty(this, StatusOperator)
            {
                Size = 25,
                EnumType = "operators",
            };
            StatusProperty = new EnumByteProperty(this, Status)
            {
                IsMultiValued = true,
                EnumType = "sales order status",
            };
            OrderDateOperatorProperty = new OperatorProperty(this, OrderDateOperator)
            {
                Size = 25,
                EnumType = "operators",
            };
            OrderDateProperty = new DateProperty(this, OrderDate)
            {
            };
            OrderDate2Property = new DateProperty(this, OrderDate2)
            {
            };
            DueDateOperatorProperty = new OperatorProperty(this, DueDateOperator)
            {
                Size = 25,
                EnumType = "operators",
            };
            DueDateProperty = new DateProperty(this, DueDate)
            {
            };
            DueDate2Property = new DateProperty(this, DueDate2)
            {
            };
            TotalDueOperatorProperty = new OperatorProperty(this, TotalDueOperator)
            {
                Size = 25,
                EnumType = "operators",
            };
            TotalDueProperty = new MoneyProperty(this, TotalDue)
            {
            };
            TotalDue2Property = new MoneyProperty(this, TotalDue2)
            {
            };
            CustomerStoreOperatorProperty = new OperatorProperty(this, CustomerStoreOperator)
            {
                Size = 25,
                EnumType = "operators",
                HasNullCheck = true,
            };
            CustomerStoreProperty = new TextProperty(this, CustomerStore)
            {
            };
            CustomerNameOperatorProperty = new OperatorProperty(this, CustomerNameOperator)
            {
                Size = 25,
                EnumType = "operators",
                HasNullCheck = true,
            };
            CustomerNameProperty = new TextProperty(this, CustomerName)
            {
            };
            GlobalRegionProperty = new EnumProperty(this, GlobalRegion)
            {
                Size = 50,
                EnumType = "sales territory group",
            };
            TerritoryIdOperatorProperty = new OperatorProperty(this, TerritoryIdOperator)
            {
                Size = 25,
                EnumType = "operators",
                HasNullCheck = true,
            };
            TerritoryIdProperty = new EnumIntProperty(this, TerritoryId)
            {
                EnumType = "sales territory",
            };
            SalesPersonIdOperatorProperty = new OperatorProperty(this, SalesPersonIdOperator)
            {
                Size = 25,
                EnumType = "operators",
                HasNullCheck = true,
            };
            SalesPersonIdProperty = new EnumIntProperty(this, SalesPersonId)
            {
                IsMultiValued = true,
                EnumType = "sales person",
            };
        }

        #endregion
    }
}