Exemple #1
0
        /// <summary>
        /// 按部门群发短信
        /// </summary>
        /// <param name="messageEntity">实体</param>
        /// <param name="organizeId">部门主键</param>
        /// <returns>影响行数</returns>
        public int Send(CiMessageEntity messageEntity, string organizeId, bool saveSend = true)
        {
            int           returnValue = 0;
            int           i           = 0;
            PiUserManager userManager = new PiUserManager(DBProvider, UserInfo);
            DataTable     dataTable   = userManager.GetChildrenUsers(organizeId);

            string[] receiverIds = new string[dataTable.Rows.Count];
            foreach (DataRow dataRow in dataTable.Rows)
            {
                receiverIds[i++] = dataRow[CiMessageTable.FieldId].ToString();
            }
            returnValue = this.Send(messageEntity, receiverIds, saveSend);
            return(returnValue);
        }
Exemple #2
0
        /// <summary>
        /// 按部门获取用户列表
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="departmentId">部门主键</param>
        /// <param name="containChildren">含子部门</param>
        /// <returns>数据表</returns>
        public DataTable GetDTByDepartment(UserInfo userInfo, string departmentId, bool containChildren)
        {
            var dataTable = new DataTable(PiUserTable.TableName);
            var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_GetDTByDepartment);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var userManager = new PiUserManager(dbProvider, userInfo);
                if (string.IsNullOrEmpty(departmentId))
                {
                    dataTable = userManager.GetDT(PiUserTable.FieldDeleteMark, 0, PiUserTable.FieldSortCode);
                }
                else
                {
                    dataTable = containChildren? userManager.GetChildrenUsers(departmentId) : userManager.GetDTByDepartment(departmentId);
                }
                dataTable.TableName = PiUserTable.TableName;
            });
            return(dataTable);
        }
        /// <summary>
        /// 得到指定部门包含的用户列表
        /// </summary>
        /// <param name="userInfo">当前用户</param>
        /// <param name="departmentId">部门主键</param>
        /// <param name="containChildren">是否包含子部门</param>
        /// <returns>数据表</returns>
        public DataTable GetDepartmentUser(UserInfo userInfo, string departmentId, bool containChildren)
        {
            var result    = new DataTable(PiUserTable.TableName);
            var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_GetDepartmentUser);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var manager = new PiUserManager(dbProvider, userInfo);
                if (string.IsNullOrEmpty(departmentId))
                {
                    result = manager.GetDT(new KeyValuePair <string, object>(PiUserTable.FieldDeleteMark, 0), 200, PiUserTable.FieldSortCode);
                }
                else if (containChildren)
                {
                    result = manager.GetChildrenUsers(departmentId);
                }
                else
                {
                    result = manager.GetDataTableByDepartment(departmentId);
                }
            });
            return(result);
        }