示例#1
0
        public IView HandleRequest(Customer customer, string action, int id)
        {
            switch (action)
            {
            case null:
                return(booksViewFactory.CreateView(store));

            case "Detail":
                var book = store.GetBook(id);
                if (book == null)
                {
                    return(null);
                }
                else
                {
                    return(booksDetailViewFactory.CreateView(book));
                }

            default:
                return(null);
            }
        }
        public IView HandleRequest(Customer customer, string action, int id)
        {
            ActionId actionId;

            if (action == null)
            {
                action = "";
            }

            if (!actionMap.TryGetValue(action, out actionId))
            {
                return(null);
            }

            if (actionId != ActionId.ListAll)
            {
                var book = store.GetBook(id);
                if (book == null)
                {
                    return(null);
                }

                if (actionId == ActionId.Add)
                {
                    customer.ShoppingCart.Add(book);
                }
                else if (actionId == ActionId.Remove)
                {
                    if (!customer.ShoppingCart.Remove(book))
                    {
                        return(null);
                    }
                }
            }

            return(shoppingCartViewFactory.CreateView(customer.ShoppingCart, store));
        }