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)); }
public ActionResult Add() { var viewModel = new AddEditCategoryViewModel(); viewModel.RequestType = RequestType.Add; return(View(nameof(Edit), viewModel)); }
/// <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); } }