
namespace RiaOlap.Web
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.ServiceModel.DomainServices.Hosting;
    using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies InvoiceMetadata as the class
    // that carries additional metadata for the Invoice class.
    [MetadataTypeAttribute(typeof(Invoice.InvoiceMetadata))]
    public partial class Invoice
    {

        // This class allows you to attach custom attributes to properties
        // of the Invoice class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class InvoiceMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private InvoiceMetadata()
            {
            }

            public string Address { get; set; }

            public string City { get; set; }

            public string Country { get; set; }

            public string CustomerID { get; set; }

            public string CustomerName { get; set; }

            public float Discount { get; set; }

            public Nullable<decimal> ExtendedPrice { get; set; }

            public Nullable<decimal> Freight { get; set; }

            public Nullable<DateTime> OrderDate { get; set; }

            public int OrderID { get; set; }

            public string PostalCode { get; set; }

            public int ProductID { get; set; }

            public string ProductName { get; set; }

            public short Quantity { get; set; }

            public string Region { get; set; }

            public Nullable<DateTime> RequiredDate { get; set; }

            public string Salesperson { get; set; }

            public string ShipAddress { get; set; }

            public string ShipCity { get; set; }

            public string ShipCountry { get; set; }

            public string ShipName { get; set; }

            public Nullable<DateTime> ShippedDate { get; set; }

            public string ShipperName { get; set; }

            public string ShipPostalCode { get; set; }

            public string ShipRegion { get; set; }

            public decimal UnitPrice { get; set; }
        }
    }
}
