//---------------------------------------------------------------------------------------------
// 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 CustomerCriteria : CriteriaObject
    {
        #region Constants

        public const string AccountNumber = "AccountNumber";
        public const string AccountNumberOperator = "AccountNumberOperator";
        public const string PersonName = "PersonName";
        public const string PersonNameOperator = "PersonNameOperator";
        public const string StoreName = "StoreName";
        public const string StoreNameOperator = "StoreNameOperator";
        public const string TerritoryId = "TerritoryId";

        #endregion

        #region Properties

        public TextProperty AccountNumberProperty { get; private set; }
        public OperatorProperty AccountNumberOperatorProperty { get; private set; }
        public TextProperty PersonNameProperty { get; private set; }
        public OperatorProperty PersonNameOperatorProperty { get; private set; }
        public TextProperty StoreNameProperty { get; private set; }
        public OperatorProperty StoreNameOperatorProperty { get; private set; }
        public EnumIntProperty TerritoryIdProperty { get; private set; }

        #endregion

        #region Construction

        public CustomerCriteria()
        {
        }

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

        protected override void Initialize()
        {
            TerritoryIdProperty = new EnumIntProperty(this, TerritoryId)
            {
                EnumType = "sales territory",
            };
            PersonNameOperatorProperty = new OperatorProperty(this, PersonNameOperator)
            {
                Size = 25,
                EnumType = "operators",
                HasNullCheck = true,
            };
            PersonNameProperty = new TextProperty(this, PersonName)
            {
            };
            StoreNameOperatorProperty = new OperatorProperty(this, StoreNameOperator)
            {
                Size = 25,
                EnumType = "operators",
                HasNullCheck = true,
            };
            StoreNameProperty = new TextProperty(this, StoreName)
            {
            };
            AccountNumberOperatorProperty = new OperatorProperty(this, AccountNumberOperator)
            {
                Size = 25,
                EnumType = "operators",
            };
            AccountNumberProperty = new TextProperty(this, AccountNumber)
            {
                Size = 10,
            };
        }

        #endregion
    }
}