Example #1
0
        public void ProcessRequest(HttpContext context)
        {
            var basketStore      = new BasketStore();
            var url              = context.Request.Url.ToString();
            var basketIdIndex    = url.LastIndexOf('/');
            var basketId         = int.Parse(url.Substring(basketIdIndex + 1));
            var basket           = basketStore.Get(basketId);
            var serializer       = new JavaScriptSerializer();
            var serializedBasket = serializer.Serialize(basket);

            context.Response.Write(serializedBasket);
        }
        public void ProcessRequest(HttpContext context)
        {
            var basketStore = new BasketStore();

            using (var stream = context.Request.InputStream)
            {
                using (var streamReader = new StreamReader(stream))
                {
                    var items       = streamReader.ReadToEnd();
                    var basketItems = new BasketItems(items);
                    var price       = new PriceCalculator().GetPriceOf(basketItems);

                    var basket = new Basket {
                        Price = price
                    };

                    var basketId = basketStore.Add(basket);

                    context.Response.StatusCode       = (int)HttpStatusCode.Created;
                    context.Response.RedirectLocation = "http://checkout-kata-api.local/baskets/" + basketId;
                }
            }
        }