コード例 #1
0
        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));
        }