public void ReturnItemupdate([FromBody] Returnitem redata) { var findReitem = ReCollection.Find(r => r.Id == redata.Id).FirstOrDefault(); var itemBow = BowCollection.Find(x => x.Id == findReitem.bowId).ToList(); var builder = Builders <Borrow> .Update; var builderRe = Builders <Returnitem> .Update; var updateRe = builderRe .Set(x => x.returnner, redata.returnner); ReCollection.UpdateOne(x => x.Id == findReitem.Id, updateRe); var builderBowItem = Builders <BorrowItem> .Update; foreach (var BowItem in itemBow.Where(x => x.DeleteDate == null)) { var updatedItems = BowItem.Items; foreach (var item in BowItem.Items) { var itemRe = findReitem.Items.FirstOrDefault(ir => ir.Id == item.Id); var updateitem = updatedItems.FirstOrDefault(x => x.Id == itemRe.Id); updateitem.ReturnQty += itemRe.ReturnQty; var builderItem = Builders <Item> .Update; var getItemUpdate = Collection.Find(x => x.Id == item.Id).FirstOrDefault(); getItemUpdate.Amount = getItemUpdate.Amount + item.ReturnQty; var updateItemAmout = builderItem.Set(x => x.Amount, getItemUpdate.Amount); Collection.UpdateOne(x => x.Id == item.Id, updateItemAmout); } var brrowupdate = builder.Set(x => x.Items, updatedItems); if (!updatedItems.Any(x => x.ReturnQty != x.BorrowQty)) { var a = builder.Set(x => x.DeleteDate, DateTime.UtcNow); BowCollection.UpdateOne(x => x.Id == BowItem.Id, a); } BowCollection.UpdateOne(x => x.Id == BowItem.Id, brrowupdate); } }
public void updateWitness([FromBody] Borrow request) { var builderItemamount = Builders <Item> .Update; var getBorrow = BowCollection.Find(bId => bId.Id == request.Id).ToList(); foreach (var borrow in getBorrow) { foreach (var borrowItem in borrow.Items) { // ได้ Id ของ Items มาแล้ว //var getBorrowItemId = BowItemollection.Find(bId => bId.Id == borrowItem.Id).FirstOrDefault(); var findItem = Collection.Find(idItem => idItem.Id == borrowItem.Id).FirstOrDefault(); findItem.Amount = findItem.Amount - borrowItem.BorrowQty; var updateAmount = builderItemamount.Set(x => x.Amount, findItem.Amount); //updateAmount.Set(x => x.Name,""); Collection.UpdateOne(x => x.Id == borrowItem.Id, updateAmount); } } //foreach (var getItem in getItemBorrow) // { // var findItem = Collection.Find(idItem => idItem.Id == getItem.Id).FirstOrDefault(); //findItem.Amount = findItem.Amount - getItem.BorrowQty; //var updateAmount = builderItemamount.Set(x => x.Amount, findItem.Amount); //} var builder = Builders <Borrow> .Update; var update = builder .Set(x => x.witness, request.witness); BowCollection.UpdateOne(x => x.Id == request.Id, update); //BowCollection.ReplaceOne(request); //BowCollection.ReplaceOne(x => x.Id == request.Id, request); }