示例#1
0
        public async Task <bool> GetThree([FromServices] RestrictedTermBusiness restrictedTermBusiness)
        {
            var posts = await ctx.Posts.ToListAsync();

            var terms = await ctx.RestrictedTerms.ToListAsync();

            restrictedTermBusiness.CountProcess(ref posts, terms);
            return(await ctx.SaveChangesAsync() >= 1);
        }
示例#2
0
        public async Task <bool> GetFour([FromServices] RestrictedTermBusiness restrictedTermBusiness)
        {
            var posts = await ctx.Posts.ToListAsync();

            var terms = await ctx.RestrictedTerms.ToListAsync();

            var cloudTagsDTO = new List <DAO.CloudTagDTO>();

            restrictedTermBusiness.RankProcess(ref posts, terms, ref cloudTagsDTO);
            int countOccurrences = 0;

            using (var ctxTrans = ctx.Database.BeginTransaction())
            {
                var cloudTags = new List <DAO.CloudTag>();

                foreach (var ctd in cloudTagsDTO)
                {
                    cloudTags.Add(new DAO.CloudTag()
                    {
                        Tag = new DAO.Tag()
                        {
                            Name = ctd.Tag
                        },
                        PostID = ctd.PostID,
                        Count  = ctd.Counter
                    });
                }

                await ctx.CloudTags.AddRangeAsync(cloudTags);

                countOccurrences += await ctx.SaveChangesAsync();

                ctxTrans.Commit();
            }

            return(countOccurrences > 0);
        }