예제 #1
0
        public ActionResult Del1(Guid id)
        {
            var model = _productSevice.GetProductClass(id);

            if (model == null)
            {
                TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel
                {
                    Message     = "Loại sản phẩm không tồn tại",
                    MessageType = GenericMessages.warning
                };

                return(RedirectToAction("index"));
            }

            var subProductCount = _productSevice.GetFinder().SeachProductClass(model.Id).Count();

            if (subProductCount > 0)
            {
                return(View("NotDel", model));
            }

            using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
            {
                try
                {
                    _productSevice.Del(model);
                    _productSevice.DelAllAttributeForProductClass(model.Id);


                    unitOfWork.Commit();

                    TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel
                    {
                        Message     = "Xóa loại sản phẩm thành công",
                        MessageType = GenericMessages.success
                    };
                    return(RedirectToAction("index"));
                }
                catch (Exception ex)
                {
                    LoggingService.Error(ex.Message);
                    unitOfWork.Rollback();

                    TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel
                    {
                        Message     = "Có lỗi xảy ra khi xóa loại sản phẩm",
                        MessageType = GenericMessages.warning
                    };
                }
            }


            return(View(model));
        }