order.cs

来自「ibatis源码及帮助文档(IBatis源码+xsd+帮助)」· CS 代码 · 共 115 行

CS
115
字号

using System;
using System.Collections;

using NPetshop.Domain.Accounts;
using NPetshop.Domain.Shopping;

namespace NPetshop.Domain.Billing
{

	/// <summary>
	/// Business entity used to model an order
	/// </summary>
	[Serializable]
	public class Order 
	{

		#region Private Fields
		private int _id;
		private Account _account;
		private DateTime _orderDate;
		private CreditCard _creditCard = new CreditCard();
		private Address _billingAddress = new Address();
		private Address _shippingAddress = new Address();
		private decimal _totalPrice;
		private IList _lineItems = new ArrayList();
		#endregion

		#region Properties 


		public int Id 
		{
			get{return _id;} 
			set{_id = value;}
		}

		public Account Account 
		{
			get{return _account;} 
			set{_account = value;}
		}


		public DateTime OrderDate 
		{
			get{return _orderDate;} 
			set{_orderDate = value;}
		}

		public CreditCard CreditCard 
		{
			get{return _creditCard;} 
			set{_creditCard = value;}
		}


		public Address BillingAddress 
		{
			get{return _billingAddress;} 
			set{_billingAddress = value;}
		}

		public Address ShippingAddress 
		{
			get{return _shippingAddress;} 
			set{_shippingAddress = value;}
		}

		public decimal TotalPrice 
		{
			get{return _totalPrice;} 
			set{_totalPrice = value;}
		}

		public IList LineItems 
		{
			get{return _lineItems;} 
			set{_lineItems = value;}
		}
		#endregion

		#region Public Methods

		public void InitOrder(Account account, ShoppingCart cart, Address address) 
		{
			_account = account;
			_orderDate = DateTime.Now;

			_shippingAddress = address;
			_billingAddress = address;

			_totalPrice = cart.Total;

			IEnumerator enumerator = cart.GetAllLines();
			while( enumerator.MoveNext() )
			{
				ShoppingCartLine cartLine = (ShoppingCartLine) enumerator.Current;
				AddLineItem( cartLine );
			}
		}

		public void AddLineItem(ShoppingCartLine cartItem) 
		{
			LineItem lineItem = new LineItem(_lineItems.Count + 1, cartItem);
			AddLineItem(lineItem);
		}

		public void AddLineItem(LineItem lineItem) 
		{
			_lineItems.Add(lineItem);
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?