public virtual object Clone() { var result = MemberwiseClone() as CartAggregate; result.Cart = Cart?.Clone() as ShoppingCart; result.CartProducts = CartProducts.ToDictionary(kvp => kvp.Key, kvp => kvp.Value?.Clone() as CartProduct); result.Currency = Currency.Clone() as Currency; result.Member = Member.Clone() as Member; result.Store = Store.Clone() as Store; return(result); }
public virtual CartAggregate GrabCart(ShoppingCart cart, Store store, Member member, Currency currency) { Id = cart.Id; Cart = cart; Member = member; Currency = currency; Store = store; Cart.IsAnonymous = member == null; //TODO: Need to check what member.Name contains name for all derived member types such as contact etc. Cart.CustomerName = member?.Name ?? "Anonymous"; return(this); }
public virtual CartAggregate GrabCart(ShoppingCart cart, Store store, Member member, Currency currency) { Id = cart.Id; Cart = cart; Member = member; Currency = currency; Store = store; Cart.IsAnonymous = member == null; Cart.CustomerName = member?.Name ?? "Anonymous"; Cart.Items ??= new List <LineItem>(); return(this); }