public IHttpActionResult PostPriceList([FromBody] PriceListJson priceListJson) { if (priceListJson == null || priceListJson.PriceList == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.PriceLists.Add(priceListJson.PriceList); if (priceListJson.PriceListItems != null && priceListJson.PriceListItems.Count > 0) { foreach (var item in priceListJson.PriceListItems) { item.PriceList = priceListJson.PriceList; db.PriceListItems.Add(item); } } db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = priceListJson.PriceList.Id }, priceListJson.PriceList)); }
public IHttpActionResult PutPriceList(int id, [FromBody] PriceListJson priceListJson) { if (priceListJson == null || priceListJson.PriceList == null || priceListJson.PriceList.Id < 1) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != priceListJson.PriceList.Id) { return(BadRequest()); } db.Entry(priceListJson.PriceList).State = EntityState.Modified; if (priceListJson.PriceListItems != null && priceListJson.PriceListItems.Count > 0) { foreach (PriceListItem priceListItem in priceListJson.PriceListItems) { db.Entry(priceListItem).State = EntityState.Modified; } } try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PriceListExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }