public class Invoice
{ private int _id = 0;
private string _invoiceNumber = string.Empty;
private DateTime _invoiceDueDate = DateTime.MinValue;
private ICollection<InvoiceDetail> _invoiceDetails = new HashedSet<InvoiceDetail>();
public int Id
{ get { return _id; } }
public string InvoiceNumber
{ get { return _invoiceNumber; } set { _invoiceNumber = value; } }
public DateTime InvoiceDueDate
{ get { return _invoiceDueDate; } set { _invoiceDueDate = value; } }
public ICollection<InvoiceDetail> InvoiceDetails
{ get { return _invoiceDetails; } }
public InvoiceDetail CreateDetail()
{ InvoiceDetail detail = new InvoiceDetail();
InvoiceDetails.Add(detail);
return detail;
}
}
public class InvoiceDetail
{
internal InvoiceDetail() { }
private int _id = 0;
private string _productName = string.Empty;
private decimal _productCost = 0;
private int _productQuantity = 0;
public int Id
{ get { return _id; } }
public string ProductName
{ get { return _productName; } set { _productName = value; } }
public decimal ProductCost
{ get { return _productCost; } set { _productCost = value; } }
public int ProductQuantity
{ get { return _productQuantity; } set { _productQuantity = value; } }
}