Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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
            });
        }
Ejemplo n.º 3
0
        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;
            }));
        }
Ejemplo n.º 4
0
        public void AddEssay(EssayEntity essayEntity)
        {
            _defaultRepository.TransExecute((conn, trans) =>
            {
                var resultDto = _defaultRepository.CreateAndGetId <EssayEntity, long>(essayEntity, conn, trans);

                return(resultDto.Result);
            });
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
            }));
        }
Ejemplo n.º 7
0
        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));
        }