public void AddItemToCart(int id, AddCartLineDto addCartLineDto) { // Transfer danych z jsona do obiektu // Robimy to w taki sposob aby zapobiec over-postingu var cartline = new CartLine { CartId = id, BookId = addCartLineDto.BookId, Count = addCartLineDto.Count }; // odczytaj cene ksiazki var bookprice = (from d in db.Books where d.BookId.Equals(cartline.BookId) select d.Price).First<decimal>(); // cena*ilosc bookprice *= cartline.Count; // wpisanie ostatecznej ceny do CartLine // Zabezpieczenie przed modyfikowaniem POSTa za pomoca zewnetrznych programow typu fiddler cartline.Cost = bookprice; db.CartLines.Add(cartline); // potrzebny save aby moc przejsc dalej SaveChanges(); //aktualizacja ogolna Cart UpdateCartCost(id); SaveChanges(); }
public IHttpActionResult PostItemToCart(int id, AddCartLineDto addCartLineDto) { if (!ModelState.IsValid) { return BadRequest(ModelState); } repo.AddItemToCart(id, addCartLineDto); return Ok(); }