Exemplo n.º 1
0
        public async Task <ActionResult <GoodsReceiveLine> > PostGoodsReceiveLine(GoodsReceiveLine goodsReceiveLine)
        {
            _context.GoodsReceiveLine.Add(goodsReceiveLine);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGoodsReceiveLine", new { id = goodsReceiveLine.GoodsReceiveLineId }, goodsReceiveLine));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PutGoodsReceiveLine(Guid id, GoodsReceiveLine goodsReceiveLine)
        {
            if (id != goodsReceiveLine.GoodsReceiveLineId)
            {
                return(BadRequest());
            }

            GoodsReceiveLine update = new GoodsReceiveLine();

            update = await _context.GoodsReceiveLine.FindAsync(id);

            InvenTran tran = new InvenTran();

            tran = await _context.InvenTran.Where(x => x.TranSourceId.Equals(id)).FirstOrDefaultAsync();

            if (update != null && tran != null)
            {
                update.QtyReceive = goodsReceiveLine.QtyReceive;
                tran.Quantity     = update.QtyReceive * 1;
                _context.Update(tran);
                _context.Update(update);
                await _context.SaveChangesAsync();
            }

            return(Ok(new { data = update }));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Create([Bind("GoodsReceiveId,Number,Description,GoodsReceiveDate,PurchaseOrderId")] GoodsReceive goodsReceive)
        {
            if (ModelState.IsValid)
            {
                goodsReceive.GoodsReceiveId = Guid.NewGuid();
                _context.Add(goodsReceive);
                List <PurchaseOrderLine> purchLines = new List <PurchaseOrderLine>();
                purchLines = await _context.PurchaseOrderLine.Where(x => x.PurchaseOrderId.Equals(goodsReceive.PurchaseOrderId)).ToListAsync();

                foreach (var item in purchLines)
                {
                    GoodsReceiveLine line = new GoodsReceiveLine();
                    line.GoodsReceiveId      = goodsReceive.GoodsReceiveId;
                    line.PurchaseOrderLineId = item.PurchaseOrderLineId;
                    line.ProductId           = item.ProductId;
                    line.QtyPurchase         = item.Quantity;
                    line.QtyReceive          = 0;
                    List <GoodsReceiveLine> received = new List <GoodsReceiveLine>();
                    received = await _context.GoodsReceiveLine.Where(x => x.PurchaseOrderLineId.Equals(item.PurchaseOrderLineId)).ToListAsync();

                    line.QtyReceived = received.Sum(x => x.QtyReceive);
                    _context.Add(line);

                    InvenTran tran = new InvenTran();
                    tran.InvenTranId      = Guid.NewGuid();
                    tran.Number           = _pos.GenerateInvenTranNumber();
                    tran.ProductId        = line.ProductId;
                    tran.TranSourceId     = line.GoodsReceiveLineId;
                    tran.TranSourceNumber = goodsReceive.Number;
                    tran.TranSourceType   = "GR";
                    tran.Quantity         = line.QtyReceive * 1;
                    tran.InvenTranDate    = DateTime.Now;
                    _context.Add(tran);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Edit), new { id = goodsReceive.GoodsReceiveId }));
            }
            ViewData["PurchaseOrderId"] = new SelectList(_context.PurchaseOrder, "PurchaseOrderId", "Number", goodsReceive.PurchaseOrderId);
            return(View(goodsReceive));
        }