Esempio n. 1
0
        public async Task <ActionResult> Edit(AddEditCategoryViewModel viewModel)
        {
            await this.CustomModelValidateAddEditCategory(viewModel);

            if (ModelState.IsValid)
            {
                var category = Mapper.Map <AddEditCategoryViewModel, Category>(viewModel);
                var isAdded  = viewModel.RequestType == RequestType.Add;

                if (isAdded)
                {
                    await this.AddCategory(category);
                }
                else
                {
                    await this.EditCategory(category);
                }

                await this._categoryService.SaveCategoryAsync(category, isAdded);

                return(RedirectToAction(nameof(Index)));
            }

            return(View(viewModel));
        }
Esempio n. 2
0
        public ActionResult Add()
        {
            var viewModel = new AddEditCategoryViewModel();

            viewModel.RequestType = RequestType.Add;

            return(View(nameof(Edit), viewModel));
        }
Esempio n. 3
0
        /// <summary>
        /// Custom validation of model, check if category exist in db
        /// </summary>
        /// <param name="viewModel">model to be validate</param>
        private async Task CustomModelValidateAddEditCategory(AddEditCategoryViewModel viewModel)
        {
            var categoryName  = viewModel.Name;
            var categoryExist = await this._categoryService.CategoryAlreadyExistsAsync(categoryName);

            if (categoryExist)
            {
                ModelState.AddModelError(nameof(viewModel.Name), ValidationModelMessageRecources.msgCategorAlreadyExist);
            }
        }