public IHttpActionResult Create(Pencil pencil) { PencilEntity pencilEntity = new PencilEntity() { Price = pencil.Price, Description = pencil.Description, Image = pencil.Image, Name = pencil.Name, Buyers = db.Buyers.Where(b => pencil.BuyersIds.Contains(b.BuyerId)).ToList() }; db.Pencils.Add(pencilEntity); db.SaveChanges(); pencil = new Pencil { PencilId = pencilEntity.PencilId, Price = pencilEntity.Price, Description = pencilEntity.Description, Image = pencilEntity.Image, Name = pencilEntity.Name, BuyersIds = pencilEntity.Buyers.Select(buyer => buyer.BuyerId) }; return(Ok(pencil)); }
public IHttpActionResult Update(Pencil pencil) { PencilEntity dbPencil = db.Pencils.Where(p => p.PencilId == pencil.PencilId).FirstOrDefault(); dbPencil.Price = pencil.Price; dbPencil.Description = pencil.Description; dbPencil.Image = pencil.Image; dbPencil.Name = pencil.Name; var addedBuyers = db.Buyers.Where(b => pencil.BuyersIds.Contains(b.BuyerId)).ToList(); var removedBuyers = db.Buyers.Where(b => !pencil.BuyersIds.Contains(b.BuyerId)).ToList(); removedBuyers.ForEach(rb => dbPencil.Buyers.Remove(rb)); addedBuyers.ForEach(ab => dbPencil.Buyers.Add(ab)); db.SaveChanges(); pencil = new Pencil { PencilId = dbPencil.PencilId, Price = dbPencil.Price, Description = dbPencil.Description, Image = dbPencil.Image, Name = dbPencil.Name, BuyersIds = dbPencil.Buyers.Select(buyer => buyer.BuyerId) }; return(Ok(pencil)); }
public IHttpActionResult Delete(int id) { PencilEntity dbPencil = db.Pencils.Where(p => p.PencilId == id).FirstOrDefault(); db.Pencils.Remove(dbPencil); db.SaveChanges(); return(Ok(dbPencil)); }