示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }