示例#1
0
        public async ValueTask EditArticle(ArticlesEdit articlesEdit)
        {
            var originalItem = await GetArticleAsync(articlesEdit.Id);

            //標籤更新機制,先刪除再跑新增機制
            await DeleteTagCloudSync(originalItem.Tags.Split(","));
            await InserTagCloudSync(articlesEdit.TagsArray);

            //上傳圖片處理
            var UploadUrl      = _configuration.GetValue <string>("AppSettings:UploadUrl");
            var DeleteFileFlag = (originalItem.CoverPhoto.IndexOf(UploadUrl) > -1);

            if (articlesEdit.CoverPhotoImg != null)
            {
                var fileName = await SaveFile(articlesEdit.CoverPhotoImg);

                var fileUrl = GetUploadUrl() + fileName;
                if (DeleteFileFlag)
                {
                    var DeletePath = GetSaveFilePath() + originalItem.CoverPhoto.Replace(UploadUrl, "");
                    DeleteFile(DeletePath);
                }
                originalItem.CoverPhoto = fileUrl;
            }

            originalItem.Tags      = string.Join(",", articlesEdit.TagsArray);
            originalItem.DayOfWeek = articlesEdit.CreateDate.DayOfWeek;
            originalItem.Body      = articlesEdit.Body;
            originalItem.Title     = articlesEdit.Title;

            _articlesRepository.Update(originalItem);
            await SaveAsync();
        }
示例#2
0
        public async Task <IActionResult> Edit(ArticlesEdit model)
        {
            ModelState.Remove("CoverPhoto"); // 移除原先圖片必填欄位驗證
            if (ModelState.IsValid)
            {
                await _blogService.EditArticle(model);

                return(RedirectToAction("Index", "Management"));
            }

            return(View(model));
        }