示例#1
0
        public IEnumerable <Returnitem> GetItemreturn(string user)
        {
            var myBorrow = BowCollection.Find(it => (it.borrower == user || it.witness == user) && it.borrower != null && it.witness != null).ToList();
            //TODO: Query Items
            var Items = Collection.Find(it => true).ToList();
            IEnumerable <Returnitem> returnitems = new List <Returnitem>();

            returnitems = myBorrow.Select(it => {
                return(new Returnitem {
                    Id = it.Id,
                    borrower = it.borrower,
                    witness = it.witness,
                    Items = it.Items.Where(i => i.BorrowQty != i.ReturnQty).Select(x => {
                        return new Reitem
                        {
                            Id = x.Id,
                            slot = x.slot,
                            Name = Items.FirstOrDefault(iditem => iditem.Id == x.Id).Name,
                            BorrowQty = x.BorrowQty,
                            ReturnQty = x.ReturnQty
                        };
                    })
                });
            });

            return(returnitems.ToList());
        }
示例#2
0
        public IEnumerable <Returnitem> GetItemsReturnList(string user, string id)
        {
            var GetReitembyUser = BowCollection.Find(x => (x.witness == user || x.borrower == user) && x.borrower != null && x.witness != null).ToList();
            var items           = Collection.Find(it => true).ToList();
            IEnumerable <Returnitem> returnitems = new List <Returnitem>();

            returnitems = GetReitembyUser.Where(x => x.Id == id).Select(it =>
            {
                return(new Returnitem
                {
                    Id = it.Id,
                    borrower = it.borrower,
                    witness = it.witness,
                    Items = it.Items.Where(i => i.BorrowQty != i.ReturnQty).Select(x =>
                    {
                        return new Reitem
                        {
                            Id = x.Id,
                            slot = x.slot,
                            Name = items.FirstOrDefault(iditem => iditem.Id == x.Id).Name,
                            BorrowQty = x.BorrowQty
                        };
                    })
                });
            });
            return(returnitems);
        }
示例#3
0
        public Borrow addBorrow([FromBody] Borrow request)
        {
            request.Id         = Guid.NewGuid().ToString();
            request.CreateDate = DateTime.UtcNow;
            request.DeleteDate = null;
            BowCollection.InsertOne(request);

            var resulte = BowCollection.Find(id => id.Id == request.Id).FirstOrDefault();

            return(resulte);
        }
示例#4
0
        public IEnumerable <Item> GetMyBorrow(string id)
        {
            //ใช้ id ที่รับมา ดึงข้อมูลจากตาราง borrow มาเข้าobject myBorrow
            var myBorrow = BowCollection.Find(it => it.Id == id).FirstOrDefault();

            //select จะเป็นการวน loop ของ item ที่มีทั้งหมด ในmyBorrow
            var items = myBorrow.Items.Select(it =>
            {
                //นำข้อมูล id list items ที่อยู่ในobject myBorrow มาดึงข้อมูลตาราง items
                var item = Collection.Find(x => x.Id == it.Id).FirstOrDefault();
                return(new Item
                {
                    Id = it.Id,
                    Name = item.Name
                });
            });

            return(items.ToList());
        }
示例#5
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);
            }
        }
示例#6
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);
        }
示例#7
0
 public Borrow GetBorrowitemList(string id)
 {
     return(BowCollection.Find(x => x.Id == id).FirstOrDefault());
 }
示例#8
0
 public void deleteBorrow(string id)
 {
     BowCollection.DeleteOne(x => x.Id == id);
 }