58 lines
1.7 KiB
C#
Raw Normal View History

namespace Microsoft.eShopOnContainers.Services.Ordering.Domain.AggregatesModel.BuyerAggregate
2016-11-22 18:40:47 +01:00
{
using Microsoft.eShopOnContainers.Services.Ordering.Domain.SeedWork;
using System;
public class Payment
: Entity
2016-11-22 18:40:47 +01:00
{
public string Alias { get; private set; }
public int BuyerId { get; private set; }
2016-11-22 18:40:47 +01:00
public string CardNumber { get; private set; }
public string SecurityNumber { get; private set; }
public string CardHolderName { get; private set; }
public int CardTypeId { get; private set; }
public CardType CardType { get; private set; }
public DateTime Expiration { get; private set; }
protected Payment() { }
public Payment(string alias, string cardNumber, string securityNumber, string cardHolderName, DateTime expiration, int cardTypeId)
{
if (String.IsNullOrWhiteSpace(cardNumber))
{
throw new ArgumentException(nameof(cardNumber));
}
if (String.IsNullOrWhiteSpace(securityNumber))
{
throw new ArgumentException(nameof(securityNumber));
}
if (String.IsNullOrWhiteSpace(cardHolderName))
{
throw new ArgumentException(nameof(cardHolderName));
}
if (expiration < DateTime.UtcNow)
{
throw new ArgumentException(nameof(expiration));
}
this.Alias = alias;
this.CardNumber = cardNumber;
this.SecurityNumber = securityNumber;
this.CardHolderName = cardHolderName;
this.Expiration = expiration;
this.CardTypeId = cardTypeId;
}
2016-11-22 18:40:47 +01:00
}
}