Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
0
        /// <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));
        }
Ejemplo n.º 4
0
        /// <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 });
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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"));
        }
Ejemplo n.º 7
0
        /// <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);
        }
Ejemplo n.º 8
0
        /// <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);
        }