Esempio n. 1
0
 public JsonResult AbortFollow(int target_id)
 {
     if (Common.AbortFollow(Common.UserInfo.User_ID, target_id))
     {
         UserActionRecord.AbortFollow(Common.UserInfo.User_ID, target_id);
         //删除用户行为记录
         return(Json("{'status':'1'"));
     }
     else
     {
         return(Json("{'status':'0'"));
     }
 }
Esempio n. 2
0
        public JsonResult AbortNotLike(int target_id, int optionType)
        {
            if (Common.AbortNotLike(target_id, optionType))
            {
                //此处 删除用户行为
                UserActionRecord.DelNotRecommend(Common.UserInfo.User_ID, target_id, optionType);

                return(Json("{'status':'1'}"));
            }
            else
            {
                return(Json("{'status':'0';'error':'" + error + "'}"));
            }
        }
Esempio n. 3
0
        public IActionResult GetUserDetails()                                         //returns some statistics about the user
        {
            var         userId      = User.FindFirstValue(ClaimTypes.NameIdentifier); // will give the user's userId
            JObject     ret         = new JObject();
            AspNetUsers currentUser = _context.AspNetUsers.Find(userId);

            if (currentUser == null)
            {
                return(NoContent());
            }

            ret.Add("userName", currentUser.UserName);
            List <CsvFile> userFiles = _context.CsvFile.Where(f => f.UserId == userId).ToList();

            ret.Add("currentUploadedFiles", userFiles.Count());
            ret.Add("currentAnalysedFiles", userFiles.FindAll(f => f.AnalysisCompletionTime != null).Count);
            ret.Add("localUploaded", userFiles.FindAll(f => f.Origin == "local").Count);
            ret.Add("urlUploaded", userFiles.FindAll(f => f.Origin != "local").Count);
            List <LoginRecord> loginRecords = _context.LoginRecord.Where(l => l.UserId == userId).ToList();

            ret.Add("lastLogin", loginRecords.Count == 1 ? loginRecords.First().LoginTime : loginRecords[loginRecords.Count - 2].LoginTime);

            IEnumerator <UserActionRecord> list = _context.ActionRecord.Join(_context.CsvFile,
                                                                             a => a.CsvFileId,
                                                                             c => c.CsvFileId,
                                                                             (a, c) => new UserActionRecord(a.Action, a.CsvFileId, a.Version, a.ActionTime, c.UserId, c.FileNameDisplay))
                                                  .AsEnumerable()
                                                  .Where(u => u.UserId == userId).Reverse().Distinct(new FileVersionComparer())
                                                  .Take(7).GetEnumerator(); //needed

            list.MoveNext();
            UserActionRecord[] actionsArray = new UserActionRecord[7];
            for (int i = 0; i < actionsArray.Length; ++i, list.MoveNext())
            {
                actionsArray[i] = list.Current;
            }
            JArray jArray = new JArray();

            for (int i = 0; i < actionsArray.Length; ++i)
            {
                if (actionsArray[i] == null)
                {
                    break;
                }
                jArray.Add(JToken.FromObject(actionsArray[i]));
            }
            ret.Add("lastActions", jArray);
            return(Ok(ret));
        }
Esempio n. 4
0
 public JsonResult Collect(int target_id, int optionType)
 {
     if (Common.UserInfo == null)
     {
         return(Json("{'status':'2'}"));
     }
     if (Common.Collect(target_id, optionType))
     {
         UserActionRecord.Collect(Common.UserInfo.User_ID, target_id, optionType);
         return(Json("{'status':'1'}"));
     }
     else
     {
         UserActionRecord.AbortCollect(Common.UserInfo.User_ID, target_id, optionType);
         return(Json("{'status':'0'}"));
     }
 }
Esempio n. 5
0
 public JsonResult Follow(int target_id)
 {
     if (Common.UserInfo == null)
     {
         return(Json("{'status':'2'}"));
     }
     if (Common.Follow(Common.UserInfo.User_ID, target_id))
     {
         //用户行为记录
         UserActionRecord.Follow(Common.UserInfo.User_ID, target_id);
         return(Json("{'status':'1'}"));
     }
     else
     {
         return(Json("{'status':'0'"));
     }
 }
Esempio n. 6
0
        public JsonResult Like(int target_id, int optionType)
        {
            if (Common.UserInfo == null)
            {
                return(Json("{'status':'2'}"));
            }
            if (Common.Like(target_id, optionType))
            {
                //此处 记录用户行为
                UserActionRecord.Recommend(Common.UserInfo.User_ID, target_id, optionType);

                return(Json("{'status':'1'}"));
            }
            else
            {
                return(Json("{'status':'0';'error':'" + error + "'}"));
            }
        }