Пример #1
0
        public async Task <IActionResult> Create([Bind("transferInId,transferOrderId,transferInNumber,transferInDate,description,branchIdFrom,warehouseIdFrom,branchIdTo,warehouseIdTo,HasChild,createdAt")] TransferIn transferIn)
        {
            if (ModelState.IsValid)
            {
                //check transfer order
                TransferIn check = await _context.TransferIn.SingleOrDefaultAsync(x => x.transferOrderId.Equals(transferIn.transferOrderId));

                if (check != null)
                {
                    ViewData["StatusMessage"] = "Error. Transfer order already received. " + check.transferInNumber;

                    ViewData["transferOrderId"] = new SelectList(_context.TransferOrder, "transferOrderId", "transferOrderNumber");
                    ViewData["branchIdFrom"]    = new SelectList(_context.Branch, "branchId", "branchName");
                    ViewData["warehouseIdFrom"] = new SelectList(_context.Warehouse, "warehouseId", "warehouseName");
                    ViewData["branchIdTo"]      = new SelectList(_context.Branch, "branchId", "branchName");
                    ViewData["warehouseIdTo"]   = new SelectList(_context.Warehouse, "warehouseId", "warehouseName");


                    return(View(transferIn));
                }

                TransferOrder to = await _context.TransferOrder.Where(x => x.transferOrderId.Equals(transferIn.transferOrderId)).FirstOrDefaultAsync();

                transferIn.warehouseIdFrom = to.warehouseIdFrom;
                transferIn.warehouseIdTo   = to.warehouseIdTo;

                transferIn.warehouseFrom = await _context.Warehouse.Include(x => x.branch).SingleOrDefaultAsync(x => x.warehouseId.Equals(transferIn.warehouseIdFrom));

                transferIn.branchFrom  = transferIn.warehouseFrom.branch;
                transferIn.warehouseTo = await _context.Warehouse.Include(x => x.branch).SingleOrDefaultAsync(x => x.warehouseId.Equals(transferIn.warehouseIdTo));

                transferIn.branchTo = transferIn.warehouseTo.branch;


                to.isReceived          = true;
                to.transferOrderStatus = TransferOrderStatus.Completed;

                _context.Add(transferIn);
                await _context.SaveChangesAsync();

                //auto create transfer in line, full shipment
                List <TransferOrderLine> lines = new List <TransferOrderLine>();
                lines = _context.TransferOrderLine.Include(x => x.product).Where(x => x.transferOrderId.Equals(transferIn.transferOrderId)).ToList();
                foreach (var item in lines)
                {
                    TransferInLine line = new TransferInLine();
                    line.transferIn   = transferIn;
                    line.product      = item.product;
                    line.qty          = item.qty;
                    line.qtyInventory = line.qty * 1;

                    _context.TransferInLine.Add(line);
                    await _context.SaveChangesAsync();
                }

                return(RedirectToAction(nameof(Details), new { id = transferIn.transferInId }));
            }
            ViewData["transferOrderId"] = new SelectList(_context.TransferOrder, "transferOrderId", "transferOrderNumber", transferIn.transferOrderId);
            return(View(transferIn));
        }
Пример #2
0
        public async Task <IActionResult> Edit(string id, [Bind("transferInLineId,transferInId,productId,qty,qtyInventory,createdAt")] TransferInLine transferInLine)
        {
            if (id != transferInLine.transferInLineId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(transferInLine);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TransferInLineExists(transferInLine.transferInLineId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["productId"]    = new SelectList(_context.Product, "productId", "productId", transferInLine.productId);
            ViewData["transferInId"] = new SelectList(_context.TransferIn, "transferInId", "transferInId", transferInLine.transferInId);
            return(View(transferInLine));
        }
Пример #3
0
        public async Task <IActionResult> Create([Bind("transferInLineId,transferInId,productId,qty,qtyInventory,createdAt")] TransferInLine transferInLine)
        {
            if (ModelState.IsValid)
            {
                _context.Add(transferInLine);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["productId"]    = new SelectList(_context.Product, "productId", "productId", transferInLine.productId);
            ViewData["transferInId"] = new SelectList(_context.TransferIn, "transferInId", "transferInId", transferInLine.transferInId);
            return(View(transferInLine));
        }
Пример #4
0
        // GET: TransferInLine/Create
        public IActionResult Create(string masterid, string id)
        {
            var check    = _context.TransferInLine.SingleOrDefault(m => m.transferInLineId == id);
            var selected = _context.TransferIn.SingleOrDefault(m => m.transferInId == masterid);

            ViewData["productId"]    = new SelectList(_context.Product, "productId", "productId");
            ViewData["transferInId"] = new SelectList(_context.TransferIn, "transferInId", "transferInId");
            if (check == null)
            {
                TransferInLine objline = new TransferInLine();
                objline.transferIn   = selected;
                objline.transferInId = masterid;
                return(View(objline));
            }
            else
            {
                return(View(check));
            }
        }
Пример #5
0
        public async Task <IActionResult> PostTransferInLine([FromBody] TransferInLine transferInLine)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (transferInLine.transferInLineId == string.Empty)
            {
                transferInLine.transferInLineId = Guid.NewGuid().ToString();
                _context.TransferInLine.Add(transferInLine);
                await _context.SaveChangesAsync();

                return(Json(new { success = true, message = "Η Προσθήκη νέου στοιχείου Εισαγωγής, έγινε με επιτυχία." }));
            }
            else
            {
                _context.Update(transferInLine);
                await _context.SaveChangesAsync();

                return(Json(new { success = true, message = "Η Επεξεργασία στοιχείου Εισαγωγής, έγινε με επιτυχία." }));
            }
        }
        public async Task <IActionResult> PostTransferInLine([FromBody] TransferInLine transferInLine)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (transferInLine.transferInLineId == string.Empty)
            {
                transferInLine.transferInLineId = Guid.NewGuid().ToString();
                _context.TransferInLine.Add(transferInLine);
                await _context.SaveChangesAsync();

                return(Json(new { success = true, message = "Add new data success." }));
            }
            else
            {
                _context.Update(transferInLine);
                await _context.SaveChangesAsync();

                return(Json(new { success = true, message = "Edit data success." }));
            }
        }