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);
        }
Example #3
0
        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);
        }