public static async Task <ProductCategoriesErrorCodesContract> CreateCategoryAsync(HttpClient client, string category)
        {
            var request = new AddProductCategoryRequest()
            {
                Category = category,
                UserName = "******",
            };

            var response = await client.PostAsync("/api/product-categories", request.ToJsonStringContent());

            var errorCode = (await response.Content.ReadAsStringAsync())
                            .DeserializeJson <ErrorCodeResponse <ProductCategoriesErrorCodesContract> >().ErrorCode;

            return(errorCode);
        }
Пример #2
0
        public ActionResult Create(ProductCategoryDetailView productCategoryDetailView)
        {
            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("ProductCategory_Insert");
            if (!hasPermission)
            {
                ModelState.AddModelError("", "AccessDenied");
                return(View(productCategoryDetailView));
            }
            #endregion

            if (ModelState.IsValid)
            {
                try
                {
                    AddProductCategoryRequest request = new AddProductCategoryRequest();
                    request.CreateEmployeeID    = GetEmployee().ID;
                    request.Discontinued        = productCategoryDetailView.ProductCategoryView.Discontinued;
                    request.ProductCategoryName = productCategoryDetailView.ProductCategoryView.ProductCategoryName;
                    request.Note = productCategoryDetailView.ProductCategoryView.Note;

                    GeneralResponse response = this._productCategoryService.AddProductCategory(request);

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

            return(View(productCategoryDetailView));
        }
        public async Task <ErrorCodeResponse <ProductCategoriesErrorCodesContract> > UpsertAsync(
            [FromBody] AddProductCategoryRequest request)
        {
            var result =
                await _productCategoriesService.GetOrCreate(request.Category, request.UserName,
                                                            this.TryGetCorrelationId());

            var response = new ErrorCodeResponse <ProductCategoriesErrorCodesContract>();

            if (result.IsFailed)
            {
                response.ErrorCode =
                    _convertService.Convert <ProductCategoriesErrorCodes, ProductCategoriesErrorCodesContract>(
                        result.Error.GetValueOrDefault());
            }

            return(response);
        }
Пример #4
0
        public GeneralResponse AddProductCategory(AddProductCategoryRequest request)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                ProductCategory productCategory = new ProductCategory();
                productCategory.ID                  = Guid.NewGuid();
                productCategory.CreateDate          = PersianDateTime.Now;
                productCategory.CreateEmployee      = _employeeRepository.FindBy(request.CreateEmployeeID);
                productCategory.ProductCategoryName = request.ProductCategoryName;
                productCategory.Note                = request.Note;
                productCategory.Discontinued        = request.Discontinued;

                productCategory.RowVersion = 1;

                _productCategoryRepository.Add(productCategory);
                _uow.Commit();

                ////response.success = true;

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

                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
            }

            return(response);
        }