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); }
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); }
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); }
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); }
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); }