示例#1
0
        public ActionResult Approve(int id)
        {
            var delivery = _deliveryService.GetDeliveryById(id);

            if (delivery == null)
            {
                return(RedirectToAction("Create"));
            }

            if (!_deliveryService.HasDeliveryDetail(delivery.Id))
            {
                ErrorNotification("Phiếu xuất chưa có chi tiết. Vui lòng thêm sản phẩm vào chi tiết phiếu xuất trước khi duyệt !");
                return(RedirectToAction("Edit", new { delivery.Id }));
            }

            if (_deliveryService.CheckQuantityInDeliveryDetail(delivery.Id))
            {
                ErrorNotification("Chi tiết sản phẩm không hợp lệ. Vui lòng kiểm tra lại!");
                return(RedirectToAction("Edit", new { delivery.Id }));
            }
            var currentUser = Session[Values.USER_SESSION] as UserModel;

            delivery.ApprovedBy = currentUser.Id;
            delivery.Status     = true;
            if (_deliveryService.Approved(delivery))
            {
                SuccessNotification("Duyệt phiếu xuất thành công.");
            }
            else
            {
                ErrorNotification("Duyệt phiếu xuất thất bại!");
            }

            return(RedirectToAction("Edit", new { delivery.Id }));
        }