internal static async Task<string> UpdateCartItem( int customerId, int id, ShoppingCartRecord item) { // Change Cart Item(Quantity): http://localhost:33816/api/shoppingcart/{customerId}/{id} HTTPPut // Note: Id, CustomerId, ProductId, TimeStamp, DateCreated, and Quantity in the body //{"Id":1,"CustomerId":1,"ProductId":33,"Quantity":2, "TimeStamp":"AAAAAAAA86s=","DateCreated":"1/20/2016"} //http://localhost:33816/api/shoppingcart/1/ts var json = JsonConvert.SerializeObject(item); try { using (var client = new HttpClient()) { var requestMessage = new HttpRequestMessage( HttpMethod.Put, $"{ServiceAddress}api/shoppingcart/{customerId}/{item.Id}"); requestMessage.Content = new StringContent(json,Encoding.UTF8,"application/json"); //var response = await client.SendAsync(requestMessage); var response = await client.PutAsync($"{ServiceAddress}api/shoppingcart/{customerId}/{item.Id}", new StringContent(json, Encoding.UTF8, "application/json")); return !response.IsSuccessStatusCode ? null : response.Headers.Location.AbsoluteUri; } } catch (Exception ex) { Console.WriteLine(ex); throw; } }
public void ShouldDeleteOnAddIfQuanityLessThanZero() { var item = new ShoppingCartRecord(); item.ProductId = 34; item.Quantity = -10; item.DateCreated = DateTime.Now; item.CustomerId = 2; _repo.Add(item); var records = _repo.GetAll(); var shoppingCartRecords = records.ToList(); Assert.Equal(0,shoppingCartRecords.Count); }
public void ShouldUpdateQuanityOnAddIfAlreadyInCart() { var item = new ShoppingCartRecord(); item.ProductId = 34; item.Quantity = 1; item.DateCreated = DateTime.Now; item.CustomerId = 2; _repo.Add(item); var records = _repo.GetAll(); var shoppingCartRecords = records.ToList(); Assert.Equal(1,shoppingCartRecords.Count); Assert.Equal(2,shoppingCartRecords[0].Quantity); }
public void ShouldAddAnItemToTheCart() { var item = new ShoppingCartRecord(); item.ProductId = 2; item.Quantity = 5; item.DateCreated = DateTime.Now; item.CustomerId = 2; _repo.Add(item); var records = _repo.GetAll(); var shoppingCartRecords = records.ToList(); Assert.Equal(2,shoppingCartRecords.Count); Assert.Equal(2,shoppingCartRecords[1].ProductId); Assert.Equal(5,shoppingCartRecords[1].Quantity); }
public async Task<IActionResult> Delete( int customerId, int id, ShoppingCartRecord item) { if (id != item.Id) { return new BadRequestResult(); } await WebAPICalls.RemoveCartItem(customerId, id, item.TimeStamp); return RedirectToAction(nameof(CartController.Index), new {customerId}); }