/// <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); }
/// <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); }