Beispiel #1
0
        public async Task <ProductCategoryDeleteResponse> Delete(ProductCategoryDeleteRequest request)
        {
            if (_productDataService.Query.Any(x => x.PrimaryCategoryId == request.Id))
            {
                return new ProductCategoryDeleteResponse
                       {
                           Access  = ResponseAccess.BadRequest,
                           Message = "محصولاتی با این دسته بندی وجود دارند"
                       }
            }
            ;

            var categoryToDelete = await _categoryData.GetAsync(request.Id);

            if (!HasAccessToManage(categoryToDelete, request.RequestOwner))
            {
                return(new ProductCategoryDeleteResponse());
            }


            await BaseBeforeDeleteAsync(categoryToDelete, request.RequestOwner);

            await _categoryData.DeleteAsync(request.Id);

            await BaseAfterDeleteAsync(categoryToDelete, request.RequestOwner);

            return(new ProductCategoryDeleteResponse {
                Access = ResponseAccess.Granted
            });
        }
        public async Task <IActionResult> Delete(ProductCategoryDeleteRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var result = await _categoryApiClient.DeleteCategory(request.Id);

            if (result)
            {
                _notyf.Success("Xoá danh mục sản phẩm thành công");
                return(RedirectToAction("Index"));
            }
            ModelState.AddModelError("", "Xoá danh mục sản phẩm không thành công");//key and message
            return(View(request));
        }
        public async Task WhenAsync(DeleteProductCategoryDto c)
        {
            var idObj         = (c as IDeleteProductCategory).ProductCategoryId;
            var uriParameters = new ProductCategoryUriParameters();

            uriParameters.Id = idObj;

            var q = new ProductCategoryDeleteQuery();

            q.CommandId   = c.CommandId;
            q.RequesterId = c.RequesterId;
            q.Version     = Convert.ToString(c.Version);

            var req = new ProductCategoryDeleteRequest(uriParameters);

            req.Query = q;

            var resp = await _ramlClient.ProductCategory.Delete(req);

            ProductCategoryProxyUtils.ThrowOnHttpResponseError(resp);
        }