public virtual async Task <IActionResult> Edit(EditCategoryModel model) { var serviceResult = await service.UpdateCategoryAsync(model.Id, model.Name, model.CategoryImage?.FileName); if (serviceResult.Success) { //Prepare instances string oldImageUrl = serviceResult.Result.oldImageUrl; var category = serviceResult.Result.updatedCategory; //If category image is not null, new image is uploded await model.CategoryImage?.UpdateImageAsync(environment.GetFullCategoryPath(), category.Name, oldImageUrl); //Prepare success message ViewBag.Message = "Category successfuly updated"; //Prepare EditCategoryModel instance var categoryModel = mapper.Map <EditCategoryModel>(category); categoryModel.GetPaths(IHostingExtension.CategoryFolderDisplay); return(View(categoryModel)); } //Display errors ModelState.FillWithErrors(serviceResult.Errors); return(View(model)); }