Example #1
0
        /// <summary>
        /// 公告详情
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="ContentId"></param>
        /// <returns></returns>
        public ActionResult GongGaoDetial(string Id, string ContentId)
        {
            var entity = new DocumentNotificationEntity();

            if (!string.IsNullOrEmpty(Id) && Id != "undefined")
            {
                entity.Id = Id;
            }
            else
            {
                entity.Id = ContentId;
            }



            var data = new DocumentNotificationBll().GetAllResult(entity);



            if (data.Count > 0 && ContentId != "undefined" && !string.IsNullOrEmpty(ContentId))
            {
                var users = _crmUserBll.GetUserEntity(CurrentUser.CrmUser.Id);
                //未读状态
                if (!new DocNotfPersonBall().IsRead(ContentId, users.Id))
                {
                    //执行事务
                    new DocNotfPersonBall().UpdateDocState(ContentId, users.Id);
                }
            }

            return(View(data[0]));
        }
Example #2
0
        /// <summary>
        /// 获取公告通知表数据
        /// add by lpl
        /// 2018-12-14
        /// </summary>
        /// <param name="fileId"></param>
        /// <returns></returns>
        public string GetAllDoc(string limit, string page, string Title, string datafw, string Gglx)
        {
            #region 根据当前用户ID,取出属于当前用户的通告列表
            ////取当前用户
            //var usersId = _crmUserBll.GetUserEntity(CurrentUser.CrmUser.Id);

            ////搜索当前用户接受到的所有通知
            //var personentity = new DocNotfPersonEntity()
            //{
            //    Pid = usersId.Id
            //};
            //var person = new DocNotfPersonBall().search(personentity);

            ////拼接字符串,用来通知公告表筛选
            //string jieshouGuid = "";
            //foreach (DocNotfPersonEntity doc in person)
            //{

            //    jieshouGuid +=  "'" + doc.ContentId + "',";
            //}

            //jieshouGuid = jieshouGuid.TrimEnd(',');
            ////jieshouGuid = jieshouGuid.TrimEnd('\'');
            #endregion


            var usersId = _crmUserBll.GetUserEntity(CurrentUser.CrmUser.Id);
            var entity  = new DocumentNotificationEntity()
            {
                Title    = Title,
                Category = Gglx
            };

            var personentity = new DocNotfPersonEntity()
            {
                Title    = Title,
                Category = Gglx,
                Pid      = usersId.Id
            };

            var data  = new List <DocumentNotificationEntity>();
            var data2 = new List <DocNotfPersonEntity>();
            //领导权限
            var userrole = new CrmUserRoleEntity()
            {
                UserId = usersId.Id,
                RoleId = "96518d03-85c3-4ec3-a42c-ad56b9501099"
            };
            var list = new CrmUserRoleBll().GetSearchResult(userrole);

            //管理员权限
            var adminrole = new CrmUserRoleEntity()
            {
                UserId = usersId.Id,
                RoleId = "09c19ef1-77ef-4483-b7db-c09284d0deff"
            };
            var list2 = new CrmUserRoleBll().GetSearchResult(adminrole);
            //搜索条件

            //是管理员或者领导
            if (list.Count > 0 || list2.Count > 0)
            {
                //不查询接受人,全部可以看到
                data = new DocumentNotificationBll().SearchQuery(entity, datafw);
                var pagecount = data.Count;

                //分页有空重写,linq实现的数据量过大效率会出现瓶颈
                data = data.Skip((Convert.ToInt32(page) - 1) * Convert.ToInt32(limit)).Take(Convert.ToInt32(limit)).ToList();

                var result = new LayTableModel <DocumentNotificationEntity>
                {
                    code  = 0,
                    msg   = "成功",
                    count = pagecount,
                    data  = data
                };

                return(JsonConvert.SerializeObject(result));
            }
            else
            {
                //如果不是领导,而是接收人,则需要重新绑定数据源

                data2 = new DocNotfPersonBall().search(personentity, datafw);
                //分页有空重写,linq实现的数据量过大效率会出现瓶颈
                data2 = data2.Skip((Convert.ToInt32(page) - 1) * Convert.ToInt32(limit)).Take(Convert.ToInt32(limit)).ToList();
                var pagecount = data2.Count;
                var result    = new LayTableModel <DocNotfPersonEntity>
                {
                    code  = 0,
                    msg   = "成功",
                    count = pagecount,
                    data  = data2
                };

                return(JsonConvert.SerializeObject(result));
            }
        }