2016-10-10 21:52:57 -07:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2016-11-03 17:17:26 +01:00
|
|
|
|
using System.ComponentModel;
|
2016-10-10 21:52:57 -07:00
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.eShopOnContainers.WebMVC.Models
|
|
|
|
|
{
|
|
|
|
|
public class Order
|
|
|
|
|
{
|
2016-11-02 20:41:12 +01:00
|
|
|
|
public Order()
|
|
|
|
|
{
|
|
|
|
|
OrderItems = new List<OrderItem>();
|
2016-11-03 17:17:26 +01:00
|
|
|
|
ShippingAddress = new Address();
|
|
|
|
|
PaymentInfo = new PaymentInfo();
|
2016-11-02 20:41:12 +01:00
|
|
|
|
}
|
|
|
|
|
|
2016-10-31 17:56:24 +01:00
|
|
|
|
public string Id;
|
2016-10-10 21:52:57 -07:00
|
|
|
|
public List<OrderItem> OrderItems { get; set; }
|
|
|
|
|
public string OrderNumber
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return string.Format("{0}/{1}-{2}", OrderDate.Year, OrderDate.Month, SequenceNumber);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public int SequenceNumber { get; set; }
|
2016-10-31 17:56:24 +01:00
|
|
|
|
public virtual string BuyerId { get; set; }
|
2016-10-10 21:52:57 -07:00
|
|
|
|
public virtual Address ShippingAddress { get; set; }
|
2016-11-03 17:17:26 +01:00
|
|
|
|
public virtual PaymentInfo PaymentInfo { get; set; }
|
2016-10-10 21:52:57 -07:00
|
|
|
|
public virtual DateTime OrderDate { get; set; }
|
2016-10-31 17:56:24 +01:00
|
|
|
|
public OrderState State { get; set; }
|
2016-10-10 21:52:57 -07:00
|
|
|
|
|
2016-11-03 17:17:26 +01:00
|
|
|
|
public decimal Total() {
|
|
|
|
|
return OrderItems.Sum(x => x.Quantity * x.UnitPrice);
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-21 05:46:30 +02:00
|
|
|
|
//(CCE) public virtual Address BillingAddress { get; set; }
|
2016-10-10 21:52:57 -07:00
|
|
|
|
//(CDLTLL) public virtual OrderStatus Status { get; set; }
|
|
|
|
|
}
|
2016-10-31 17:56:24 +01:00
|
|
|
|
|
2016-11-02 20:41:12 +01:00
|
|
|
|
public enum OrderState:int
|
2016-10-31 17:56:24 +01:00
|
|
|
|
{
|
2016-11-02 20:41:12 +01:00
|
|
|
|
InProcess = 0,
|
|
|
|
|
Delivered = 1
|
2016-10-31 17:56:24 +01:00
|
|
|
|
}
|
2016-10-10 21:52:57 -07:00
|
|
|
|
}
|