示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        public IHttpActionResult Delete(int id)
        {
            PencilEntity dbPencil = db.Pencils.Where(p => p.PencilId == id).FirstOrDefault();

            db.Pencils.Remove(dbPencil);
            db.SaveChanges();

            return(Ok(dbPencil));
        }