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 AddEssay(EssayEntity essayEntity, IEnumerable <MediaEntity> mediaList) { /*private static readonly Regex _regex = new Regex(@"(?'group1'#)([^#]+?)(?'-group1'#)"); * if ((!this.EssayContent.IsNullOrEmpty()) && _regex.IsMatch(this.EssayContent)) * { * var matchCollection = _regex.Matches(this.EssayContent); * return matchCollection.First()?.Value.Replace("#",""); * }*/ var createUserId = _kardSession.UserId.Value; IEnumerable <TagEntity> tagList = new List <TagEntity>(); if (essayEntity.Content.Contains('#')) { var contentList = essayEntity.Content.Split('#'); int contentListLastIndex = contentList.Length - 1; tagList = contentList.Where((item, index) => ((!string.IsNullOrEmpty(item)) && (index != contentListLastIndex))).Select((item, index) => { var tagEntity = new TagEntity { Sort = (index + 1), TagName = item }; tagEntity.AuditCreation(createUserId); return(tagEntity); }); essayEntity.Content = contentList.Last(); } essayEntity.Location = "广州"; essayEntity.AuditCreation(createUserId); mediaList.AuditCreation(createUserId); var result = _defaultRepository.AddEssay(essayEntity, tagList, mediaList); if (result) { string cacheKey = $"homeCover[{DateTime.Now.ToString("yyyyMMdd")}]"; _memoryCache.Remove(cacheKey); } return(new ResultDto { Result = result }); }
public bool AddEssay(EssayEntity essayEntity, IEnumerable <TagEntity> tagList, IEnumerable <MediaEntity> mediaList) { return(base.TransExecute((conn, trans) => { var insertAndGetIdResultDto = conn.CreateAndGetId <EssayEntity, long>(essayEntity, trans); if (!insertAndGetIdResultDto.Result) { return false; } 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; } } mediaList = mediaList.Select(meida => { meida.EssayId = insertAndGetIdResultDto.Data; //meida.MediaExtension = meida.MediaExtension.Replace(".", ""); return meida; }); return conn.CreateList(mediaList, trans).Result; })); }
public void AddEssay(EssayEntity essayEntity) { _defaultRepository.TransExecute((conn, trans) => { var resultDto = _defaultRepository.CreateAndGetId <EssayEntity, long>(essayEntity, conn, trans); return(resultDto.Result); }); }
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)); }