コード例 #1
0
ファイル: ReadRecordManager.cs プロジェクト: radtek/yiqixicai
 /// <summary>
 /// 添加记录
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Add(KL_ReadRecord model)
 {
     model.RecordId = _dataAccess.AddEntity(model);
 }
コード例 #2
0
ファイル: ReadRecordManager.cs プロジェクト: radtek/yiqixicai
 /// <summary>
 /// 更新记录
 /// </summary>
 /// <param name="model"></param>
 public void Update(KL_ReadRecord model)
 {
     _dataAccess.UpdateEntity(model);
 }
コード例 #3
0
        public ActionResult ReadResource(int id, string backUrl = "", int keep = 0, int tabFlag = 0, int backFlag = 0)
        {
            if (keep == 0)
            {
                return(Redirect(string.Format(Url.RetechAction("ReadResource", "KnowledgeCenter") + "?keep=1&id={0}&tabFlag={1}&backFlag={2}&backUrl={3}", id, tabFlag, backFlag, Url.Encode(backUrl))));
            }
            KL_Resource resource = _resourceManager.GetModel(id);

            if (resource == null || resource.IsDeleted == 1)
            {
                ViewBag.Msg = RetechWing.LanguageResources.KnowledgeLanguage.ResourceNot;
                return(View("ReadResourceError"));
            }
            if (resource.Status == 0)
            {
                ViewBag.Msg = RetechWing.LanguageResources.KnowledgeLanguage.ResourceNotApproval;
                return(View("ReadResourceError"));
            }
            if (resource.Status == 2)
            {
                ViewBag.Msg = RetechWing.LanguageResources.KnowledgeLanguage.ResourceNotApprovalNotPass;
                return(View("ReadResourceError"));
            }
            if (resource.IsOpen == 0 && resource.UserId != CurrentUser.UserId)//私有
            {
                ViewBag.Msg = RetechWing.LanguageResources.KnowledgeLanguage.ResourseNotOpen;
                return(View("ReadResourceError"));
            }
            else if (resource.IsOpen == 2 && resource.UserId != CurrentUser.UserId)//只开放部分人群 与 他本人
            {
                if (!_resourceManager.IsMyHasResource(id, CurrentUser.UserId))
                {
                    ViewBag.Msg = RetechWing.LanguageResources.KnowledgeLanguage.ResourseNotIn;
                    return(View("ReadResourceError"));
                }
            }

            //获取/更新阅读记录
            var readRecord = _readRecordManager.GetRecord(CurrentUser.UserId, id);

            if (readRecord == null)
            {
                readRecord = new KL_ReadRecord
                {
                    CurrentPage = 0,
                    Progress    = 0,
                    UserId      = CurrentUser.UserId,
                    ResourceId  = id,
                    ReadTime    = DateTime.Now
                };
                _readRecordManager.Add(readRecord);
                _resourceManager.AddResourceCount(new int[] { id }, 0);
            }
            else
            {
                _readRecordManager.UpdateReadTime(readRecord.RecordId);
            }

            resource.IsMyCollect  = _resourceManager.IsMyCollect(id, CurrentUser.UserId) ? 1 : 0;
            resource.IsMyDownload = _resourceManager.IsMyDownload(id, CurrentUser.UserId) ? 1 : 0;

            ViewBag.CurrentPage = readRecord.CurrentPage;
            ViewBag.Progress    = readRecord.Progress;
            ViewBag.RecordId    = readRecord.RecordId;

            ViewBag.IsComment = _resourceManager.IsMyComment(id, CurrentUser.UserId);

            ViewBag.attends = MyAttendUsers.Contains(resource.UserId);

            return(View(resource));
        }