/// <summary> /// 修改资源 /// </summary> /// <param name="resource"></param> /// <returns></returns> public bool ModifyResource(KL_Resource resource) { var ps = typeof(KL_Resource).GetProperties(); var dict = ps.Where(info => !info.Name.Equals("FileContent")).ToDictionary(info => info.Name.ToFirstCharLower(), info => info.GetValue(resource, null)); FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", resource.ResourceId, dict, true); return(_dataAccess.UpdateEntity(resource) > 0); }
/// <summary> /// 增加资源的次数 /// </summary> /// <param name="resourceId"></param> /// <param name="type"> /// 类别 /// <para>0:阅读次数</para> /// <para>1:评分次数</para> /// <para>2:评价次数</para> /// <para>3:收藏次数</para> /// <para>4:下载次数</para> /// <para>5:喜欢次数</para> /// </param> /// <param name="doFlag">操作; 0:增;1:减</param> public void AddResourceCount(int[] resourceId, int type, int doFlag = 0) { if (resourceId == null) { return; } if (resourceId.Length == 0) { return; } string setStr = ""; if (type == 0) { setStr = string.Format(" ReadCount = ReadCount {0} 1 ", (doFlag == 0 ? "+" : "-")); } else if (type == 1) { setStr = string.Format(" ScoreCount = ScoreCount {0} 1 ", (doFlag == 0 ? "+" : "-")); } else if (type == 2) { setStr = string.Format(" PingCount = PingCount {0} 1 ", (doFlag == 0 ? "+" : "-")); } else if (type == 3) { setStr = string.Format(" FavoriteCount = FavoriteCount {0} 1 ", (doFlag == 0 ? "+" : "-")); } else if (type == 4) { setStr = string.Format(" LoadTimes = LoadTimes {0} 1 ", (doFlag == 0 ? "+" : "-")); } else if (type == 5) { setStr = string.Format(" LoveCount = LoveCount {0} 1 ", (doFlag == 0 ? "+" : "-")); } if (!string.IsNullOrWhiteSpace(setStr)) { _dataAccess.ExecuteSql(string.Format("Update KL_Resource set LastUpdateTime=GETDATE(), {1} where ResourceId in ({0})", resourceId.GetString(), setStr)); } var ks = _dataAccess.GetList <KL_Resource>("ResourceId IN (" + resourceId.GetString() + ")"); foreach (var k in ks) { FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", k.ResourceId, new { readCount = k.ReadCount, scoreCount = k.ScoreCount, pingCount = k.PingCount, favoriteCount = k.FavoriteCount, loadTimes = k.LoadTimes, loveCount = k.LoveCount }, true); } }
/// <summary> /// 批量删除资源,返回受影响的行数 /// </summary> /// <param name="ids">资源ids</param> /// <returns></returns> public int DeleteResource(int[] ids) { string sqlwhere = @"update KL_Resource set IsDeleted=1,LastUpdateTime=GETDATE() where ResourceId in (" + ids.GetString() + ")"; foreach (var id in ids) { FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", id, new { isDelete = 1 }, true); } return(_dataAccess.ExecuteSql(sqlwhere)); }
/// <summary> /// 保存学员对知识的评价分值 /// </summary> /// <param name="model"></param> public void AddResourceUserScore(KL_ResourceUserScore model) { _dataAccess.AddEntity(model); _dataAccess.ExecuteSql("Update KL_Resource set AvgScore = (select cast(sum(score) as DECIMAL)/count(0) from KL_ResourceUserScore where ResourceId = KL_Resource.ResourceId) where KL_Resource.ResourceId = " + model.ResourceId); //修改全文检索中的索引 var k = _dataAccess.GetList <KL_Resource>("ResourceId=" + model.ResourceId).FirstOrDefault(); FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", k.ResourceId, new { avgScore = k.AvgScore }); }
public int ChangeResourceSort(int resourceId, int newSort) { _dataAccess.UpdateField("KL_Resource", "LastUpdateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), "ResourceId=" + resourceId); var result = _dataAccess.UpdateField("KL_Resource", "SortId", newSort.ToString(), "ResourceId=" + resourceId); var sort = _dataAccess.Get <KL_KnowledgeSort>(newSort); FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", resourceId, new { sortId = newSort, sortName = sort.SortName, levelPath = sort.LevelPath }, true); return(result); }
public ActionResult CompleteConvert(int fileId, string fileContent) { var id = _resourceManager.GetResourceIdByFileId(fileId); if (id == -1) { //没有保存 _resourceManager.AddFileContent(fileId, fileContent); } if (id > 0) { FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", id, new { fileContent }, false); } return(Content("1")); }
/// <summary> /// /// </summary> /// <param name="sortId"></param> /// <param name="resIds"></param> /// <returns></returns> public int ChangeDsgnResourceSort(int sortId, int[] resIds) { _dataAccess.UpdateField("KL_Resource", "LastUpdateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), "ResourceId IN(" + resIds.GetString() + ")"); var result = _dataAccess.UpdateField("KL_Resource", "SortId", sortId.ToString(), "ResourceId IN(" + resIds.GetString() + ")"); var sort = _dataAccess.Get <KL_KnowledgeSort>(sortId); foreach (var id in resIds) { FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", id, new { sortId, sortName = sort.SortName, levelPath = sort.LevelPath }, true); } return(result); }
/// <summary> /// 批量审批资源 /// </summary> /// <param name="status">1:审批通过。 2 审批拒绝</param> /// <param name="ids">资源ID列表</param> /// <param name="refuseMemo"></param> /// <returns></returns> public bool AuditMultiResource(int status, string ids, string refuseMemo) { string strSql = "UPDATE KL_Resource SET RefuseMemo=@refuseMemo,Status=@status,LastUpdateTime=GETDATE(),AuditTime=@date WHERE ResourceId IN (" + ids + ")"; var param = new { status, refuseMemo, date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; var kids = ids.GetArray(); foreach (var kid in kids) { FullTextSearchProvider.UpdateIndex <KL_Resource>("knowledge", kid, new { refuseMemo, status, auditTime = DateTime.Now }, true); } return(_dataAccess.ExecuteSql(strSql, param) > 0); }