コード例 #1
0
        public async Task <bool> isLike(string wechatId, ScoreImageReturn imgR)
        {
            var q = await(from like in db.Likes
                          where (like.imageId == imgR.ImageId && like.wechatId == wechatId)
                          select like).ToListAsync();

            return(q.Count > 0);
        }
コード例 #2
0
        public async Task <IEnumerable <ScoreImageReturn> > GetRandomImages(int K, string visitorWechatId)
        {
            var query = await(from img in db.Images
                              orderby Guid.NewGuid()
                              select img).Take(K).ToListAsync();

            List <ScoreImageReturn> returnList = new List <ScoreImageReturn>();

            foreach (ScoreImage img in query)
            {
                ScoreImageReturn imgR = new ScoreImageReturn(img);
                imgR.isLike = await isLike(visitorWechatId, imgR);

                returnList.Add(imgR);
            }

            return(returnList);
        }
コード例 #3
0
        public async Task <IEnumerable <ScoreImageReturn> > GetLabelRankImages(int label, int topK, string visitorWechatId)
        {
            List <ScoreImageReturn> returnList = new List <ScoreImageReturn>();

            if (!Enum.IsDefined(typeof(Label), label))
            {
                return(returnList);
            }

            var query = await(from img in db.Images  // to do top N
                              where img.Label == (Label)label
                              orderby img.Score descending
                              select img).Take(topK).ToListAsync();

            foreach (ScoreImage img in query)
            {
                ScoreImageReturn imgR = new ScoreImageReturn(img);
                imgR.isLike = await isLike(visitorWechatId, imgR);

                returnList.Add(imgR);
            }

            return(returnList);
        }
コード例 #4
0
        public async Task <IEnumerable <ScoreImageReturn> > GetUserLabelImages(string visitorWechatId, int label)
        {
            List <ScoreImageReturn> returnList = new List <ScoreImageReturn>();

            if (!Enum.IsDefined(typeof(Label), label))
            {
                return(returnList);
            }

            var query = await(from img in db.Images
                              where (img.WechatId == visitorWechatId && img.Label == (Label)label)
                              orderby img.Score descending
                              select img).ToListAsync();

            foreach (ScoreImage img in query)
            {
                ScoreImageReturn imgR = new ScoreImageReturn(img);
                imgR.isLike = await isLike(visitorWechatId, imgR);

                returnList.Add(imgR);
            }

            return(returnList);
        }
コード例 #5
0
        public async Task <IEnumerable <ScoreImageReturn> > GetUserImages(string visitorWechatId)
        {
            List <ScoreImageReturn> returnList = new List <ScoreImageReturn>();

            if (visitorWechatId == null)
            {
                return(returnList);
            }

            var query = await(from img in db.Images
                              where img.WechatId == visitorWechatId
                              orderby img.PostedDate descending
                              select img).ToListAsync();

            foreach (ScoreImage img in query)
            {
                ScoreImageReturn imgR = new ScoreImageReturn(img);
                imgR.isLike = await isLike(visitorWechatId, imgR);

                returnList.Add(imgR);
            }

            return(returnList);
        }