示例#1
0
        public ActionResult Create(ProductDetailView productDetailView)
        {
            productDetailView.EmployeeView = GetEmployee();

            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("Product_Insert");
            if (!hasPermission)
            {
                ModelState.AddModelError("", "AccessDenied");
                return(View(productDetailView));
            }
            #endregion

            if (ModelState.IsValid)
            {
                try
                {
                    AddProductRequestOld request = new AddProductRequestOld();
                    request.CreateEmployeeID  = GetEmployee().ID;
                    request.Discontinued      = productDetailView.ProductView.Discontinued;
                    request.ProductName       = productDetailView.ProductView.ProductName;
                    request.ProductCategoryID = productDetailView.ProductView.ProductCategoryID;
                    request.ProductCode       = productDetailView.ProductView.ProductCode;
                    request.Note         = productDetailView.ProductView.Note;
                    request.UnitsInStock = productDetailView.ProductView.UnitsInStock;

                    GeneralResponse response = this._productService.AddProduct(request);

                    if (response.success)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        foreach (string error in response.ErrorMessages)
                        {
                            ModelState.AddModelError("", error);
                        }
                        return(View(productDetailView));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(productDetailView));
                }
            }

            return(View(productDetailView));
        }
示例#2
0
        public GeneralResponse AddProduct(AddProductRequestOld request)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                Product product = new Product();
                product.ID              = Guid.NewGuid();
                product.CreateDate      = PersianDateTime.Now;
                product.CreateEmployee  = _employeeRepository.FindBy(request.CreateEmployeeID);
                product.ProductCategory = this._productCategoryRepository.FindBy(request.ProductCategoryID);
                product.ProductCode     = request.ProductCode;
                product.ProductName     = request.ProductName;
                product.UnitsInStock    = 0; //request.UnitsInStock;
                product.Note            = request.Note;
                product.Discontinued    = request.Discontinued;

                #region Validation
                if (product.GetBrokenRules().Count() > 0)
                {
                    foreach (BusinessRule businessRule in product.GetBrokenRules())
                    {
                        response.ErrorMessages.Add(businessRule.Rule);
                    }

                    return(response);
                }
                #endregion

                product.RowVersion = 1;

                _productRepository.Add(product);
                _uow.Commit();

                ////response.success = true;
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
            }

            return(response);
        }