Esempio n. 1
0
        public CommonResult EditNews(EditNewsRequest request)
        {
            var data = _newsProvider.GetById(request.Id);

            if (request.Title.NotNullNorEmpty())
            {
                data.Title = request.Title;
            }

            if (request.TagsString.NotNullNorEmpty() && GetTagsFromTagsString(request.TagsString).Any())
            {
                data.Tags = GetTagsFromTagsString(request.TagsString);
            }

            var contentData = new NewsContentData
            {
                Id = request.Id,
                Content = request.Content
            };

            if (request.Image != null)
            {
                var saveNewsImageResult = _newsProvider.SaveImageAsync(request.Image);
                data.ImageName = saveNewsImageResult.Result.ImagePath;
            }

            _newsProvider.SaveDataAsync(data);
            _newsProvider.SaveContentAsync(contentData);

            return CommonResult.Success();
        }
Esempio n. 2
0
        public async Task<CommonResult<CreateNewsResult>> CreateNewsAsync(CreateNewsRequest request)
        {
            var newsId = GetNewsId();

            var saveNewsImageResult = await _newsProvider.SaveImageAsync(request.Image);

            var data = new NewsData
            {
                Id = newsId,
                Author = request.Author,
                AuthorUserName = request.AuthorUserName,
                Title = request.Title,
                Date = DateTime.Now,
                ImageName = saveNewsImageResult.ImagePath,
                Tags = GetTagsFromTagsString(request.TagsString),
            };

            var contentData = new NewsContentData
            {
                Id = newsId,
                Content = request.Content
            };

            await _newsProvider.SaveDataAsync(data);
            await _newsProvider.SaveContentAsync(contentData);

            return CommonResult<CreateNewsResult>.Success(new CreateNewsResult { Id = newsId });
        }
        public async Task SaveContentAsync(NewsContentData data)
        {
            var fileName = $"{data.Id}_content.md";
            var path = Path.Combine(_newsPath, fileName);

            await SaveFileAsync(path, data.Content);
        }