public void PutFixtures(int id, Fixtures fixtures)
        {
            var result = db.Fixtures.Include(e => e.FixtureParts).FirstOrDefault(v => v.Id == fixtures.Id);

            result.Id                = fixtures.Id;
            result.FixtureName       = fixtures.FixtureName;
            result.FixtureCategoryId = fixtures.FixtureCategoryId;
            result.FixtureCode       = fixtures.FixtureCode;


            var lineToRemove = result.FixtureParts
                               .Where(line =>
                                      !(fixtures.FixtureParts.Any(inputLine => inputLine.Id == line.Id))
                                      ).ToList();

            db.FixtureParts.RemoveRange(lineToRemove);

            foreach (var line in fixtures.FixtureParts)
            {
                if (line.Id > 0)
                {
                    var lineToModify = db.FixtureParts.Where(V => V.Id == line.Id).FirstOrDefault();
                    lineToModify.Id        = line.Id;
                    lineToModify.PartId    = line.PartId;
                    lineToModify.Quantity  = line.Quantity;
                    lineToModify.FixtureId = line.FixtureId;
                    //lineToModify.Voucher = line.Voucher;
                }
                else
                {
                    result.FixtureParts.Add(new FixtureParts
                    {
                        PartId    = line.PartId,
                        FixtureId = line.FixtureId,
                        Cost      = line.Cost,
                        Quantity  = line.Quantity
                    });
                }
            }
            db.SaveChanges();
        }
        public void PutPurchaseOrders(int id, [FromBody] PurchaseOrders input)
        {
            var result = db.PurchaseOrders.Include(e => e.Pofixtures).Include(e => e.Poparts).FirstOrDefault(v => v.Id == input.Id);

            result.Id            = input.Id;
            result.PoactShipDate = input.PoactShipDate;
            result.Pocompleted   = input.Pocompleted;
            result.Pocost        = input.Pocost;
            result.PoestShipDate = input.PoestShipDate;
            result.Poname        = input.Poname;
            result.Ponumber      = input.Ponumber;
            result.PorecDate     = input.PorecDate;
            result.Poprice       = input.Poprice;


            var lineToRemove = result.Poparts
                               .Where(line =>
                                      !(input.Poparts.Any(inputLine => inputLine.Id == line.Id))
                                      ).ToList();

            db.Poparts.RemoveRange(lineToRemove);
            var lineToRemove2 = result.Pofixtures
                                .Where(line =>
                                       !(input.Pofixtures.Any(inputLine => inputLine.Id == line.Id))
                                       ).ToList();

            db.Pofixtures.RemoveRange(lineToRemove2);

            foreach (var line in input.Pofixtures)
            {
                if (line.Id > 0)
                {
                    var lineToModify = db.Pofixtures.Where(V => V.Id == line.Id).FirstOrDefault();
                    lineToModify.FixtureId                = line.FixtureId;
                    lineToModify.FixtureCommision         = line.FixtureCommision;
                    lineToModify.FixtureCost              = line.FixtureCost;
                    lineToModify.FixtureQuantity          = line.FixtureQuantity;
                    lineToModify.FixturePrice             = line.FixturePrice;
                    lineToModify.PurchaseOrderId          = result.Id;
                    lineToModify.FixtureQuantityCompleted = line.FixtureQuantityCompleted;
                    lineToModify.FixtureQuantityShipped   = line.FixtureQuantityShipped;
                    //lineToModify.Voucher = line.Voucher;
                }
                else
                {
                    result.Pofixtures.Add(new Pofixtures
                    {
                        FixtureId                = line.FixtureId,
                        FixtureCommision         = line.FixtureCommision,
                        FixtureCost              = line.FixtureCost,
                        FixtureQuantity          = line.FixtureQuantity,
                        FixturePrice             = line.FixturePrice,
                        PurchaseOrderId          = result.Id,
                        FixtureQuantityCompleted = line.FixtureQuantityCompleted,
                        FixtureQuantityShipped   = line.FixtureQuantityShipped
                    });
                }
            }
            foreach (var line in input.Poparts)
            {
                if (line.Id > 0)
                {
                    var lineToModify = db.Poparts.Where(V => V.Id == line.Id).FirstOrDefault();
                    lineToModify.PurchaseOrderId = line.PurchaseOrderId;
                    lineToModify.PartId          = line.PartId;
                    lineToModify.Quantity        = line.Quantity;
                    //lineToModify.Voucher = line.Voucher;
                }
                else
                {
                    result.Poparts.Add(new Poparts
                    {
                        PurchaseOrderId = result.Id,
                        PartId          = line.PartId,
                        Quantity        = line.Quantity,
                    });
                }
            }
            db.SaveChanges();
        }