public async Task <ResultDto <long> > Add(EssayEntity essayEntity, EssayContentEntity essayContentEntity, IEnumerable <TagEntity> tagList) { var userId = _kardSession.UserId.Value; essayEntity.SubContent = Utils.ContentRegex.Replace(essayContentEntity.Content, ""); if (essayEntity.SubContent.Length > 100) { essayEntity.SubContent = essayEntity.SubContent.Remove(100) + "..."; } essayEntity.IsPublish = essayEntity.IsPublish; essayEntity.Location = Utils.GetCity(HttpContext, _memoryCache); essayEntity.Score = essayEntity.Score > 0 ? essayEntity.Score : 6m; essayEntity.ScoreHeadCount = 1; essayEntity.AuditCreation(userId); tagList.AuditCreation(userId); var resultDto = _repositoryFactory.GetRepository <IEssayRepository>().AddEssay(essayEntity, essayContentEntity, tagList); if (resultDto.Result) { var createHtmlResult = await CreateHtml(resultDto.Data); essayEntity.PageUrl = createHtmlResult.Data; await _defaultRepository.UpdateAsync(essayEntity); _baiduspiderAppService.Baiduspider(essayEntity.PageUrl); //string cacheKey = $"homeCover[{DateTime.Now.ToString("yyyyMMdd")}]"; //_memoryCache.Remove(cacheKey); } return(await Task.FromResult(resultDto)); }
public ResultDto <long> AddEssay(EssayEntity essayEntity, EssayContentEntity essayConentEntity, IEnumerable <TagEntity> tagList) { var resultDto = new ResultDto <long>(); resultDto.Result = _defaultRepository.TransExecute((conn, trans) => { var insertAndGetIdResultDto = conn.CreateAndGetId <EssayEntity, long>(essayEntity, trans); if (!insertAndGetIdResultDto.Result) { return(false); } essayConentEntity.EssayId = insertAndGetIdResultDto.Data; if (conn.Insert <EssayContentEntity>(essayConentEntity, trans) <= 0) { return(false); } resultDto.Data = insertAndGetIdResultDto.Data; if (tagList != null && tagList.Any()) { tagList = tagList.Select(tag => { tag.EssayId = insertAndGetIdResultDto.Data; return(tag); }); var insertListResultDto = conn.CreateList(tagList, trans); if (!insertListResultDto.Result) { return(false); } } return(true); }); return(resultDto); }
public bool UpdateEssay(EssayEntity essayEntity, EssayContentEntity essayContentEntity, IEnumerable <TagEntity> tagList) { return(_defaultRepository.TransExecute((conn, trans) => { var updateResult = conn.Update(essayEntity, trans); if (!updateResult) { return false; } string sql = "delete from tag where EssayId=@EssayId"; conn.Execute(sql, new { EssayId = essayEntity.Id }, trans); if (conn.Execute("update essayContent set Content=@Content where EssayId=@EssayId", essayContentEntity, trans) <= 0) { return false; } if (tagList != null && tagList.Any()) { tagList = tagList.Select(tag => { tag.EssayId = essayEntity.Id; return tag; }); var insertListResultDto = conn.CreateList(tagList, trans); if (!insertListResultDto.Result) { return false; } } return true; })); }
public async Task <ResultDto> Update(EssayEntity essayEntity, EssayContentEntity essayContentEntity, IEnumerable <TagEntity> tagList) { var resultDto = new ResultDto(); var userId = _kardSession.UserId.Value; if (essayEntity.Id <= 0) { resultDto.Result = false; resultDto.Message = "修改失败,Id为空"; return(resultDto); } var entity = _defaultRepository.FirstOrDefault <EssayEntity>(essayEntity.Id); if (entity == null) { resultDto.Result = false; resultDto.Message = "修改失败,未找到文章"; return(resultDto); } if (entity.CreatorUserId != userId) { resultDto.Result = false; resultDto.Message = "修改失败,这不是您的文章"; return(resultDto); } entity.Title = essayEntity.Title; entity.CoverMediaType = essayEntity.CoverMediaType; entity.CoverPath = essayEntity.CoverPath; entity.CoverExtension = essayEntity.CoverExtension; entity.Category = essayEntity.Category; entity.IsPublish = essayEntity.IsPublish; entity.Score = essayEntity.Score > 0 ? essayEntity.Score : 6m; entity.SubContent = Utils.ContentRegex.Replace(essayContentEntity.Content, ""); if (entity.SubContent.Length > 100) { entity.SubContent = entity.SubContent.Remove(100) + "..."; } ; entity.Location = Utils.GetCity(HttpContext, _memoryCache); entity.AuditLastModification(userId); tagList.AuditCreation(userId); var result = _repositoryFactory.GetRepository <IEssayRepository>().UpdateEssay(entity, essayContentEntity, tagList); if (result) { var createHtmlResult = await CreateHtml(entity.Id, entity.PageUrl); _baiduspiderAppService.Baiduspider(entity.PageUrl); result = createHtmlResult.Result; } if (result) { resultDto.Result = true; resultDto.Message = "修改成功"; string cacheKey = $"homeCover[{DateTime.Now.ToString("yyyyMMdd")}]"; _memoryCache.Remove(cacheKey); } else { resultDto.Result = false; resultDto.Message = "修改失败"; } return(await Task.FromResult(resultDto)); }