根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V1.0
#region 根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V1.0
/// <summary>
/// 13.0 根据群ID和用户Id查询
/// </summary>
/// <param name="userId"></param>
/// <param name="qunId"></param>
/// <returns></returns>
public string QueryQunByUserIdAndQunId(int userId, int qunId)
{
string where = "";
if (userId > 0 && qunId > 0)
where = string.Format("UserId={0} and QunId={1} and Deleted='{2}'", userId, qunId, false);
T_UserRolePermission model = m_userRolePermissionManager.GetModelByQunIdAndUserId(qunId, userId);
//判断是否存在
if (model == null)
{
return Convert.ToString(ErrorCode.DATA_NOT_EXIST);
}
M_User user = m_userManager.GetModel(userId);
#region 格式
//<qun>
// <qunId>xxx</qunId>1
// <qunNo>群编号</qunNo>2
// <qunName>="群名称"</qunName>3
// <iconUrl>群头像地址</iconUrl> 4
// <isPublish>公开/私密</isPublish>5
// <description>群介绍</description>6
// <contact>联系方式</contact> 7
// <address>地点</address>8
// <createrId>群主Id</createrId>9
// <createrIconUrl>群主头像地址</createrIconUrl> 10
// <createrName>群主用户名</createrName> 11
// <qunTypeName>类别名称</qunTypeName> 12
// <groupName>用户所在的组名称</groupName>13
//</qun>
#endregion
M_Qun qun = m_qunManager.GetModel(qunId);
StringBuilder sb = new StringBuilder();
M_QunType qunTypeModel = m_qunTypeManager.GetModelByTypeId((int)t_qunTypeRelationManager.GetModelByqunId(qun.ID).QunTypId);
M_Groups groupsModel = m_groupsManager.GetModelByQunId(qun.ID);
sb.Append("<quns>");
sb.AppendFormat(@"<qun qunId = ""{0}"" qunNo = ""{1}"" qunName = ""{2}"" iconUrl = ""{3}"" isPublish = ""{4}"" description = ""{5}"" contact = ""{6}"" address = ""{7}"" createrId = ""{8}"" createrIconUrl = ""{9}"" createrName = ""{10}"" qunTypeName = ""{11}"" groupName = ""{12}"" />",
qun.ID, //0
qun.QunNo, //1
qun.QunName,//2
qun.Logo, //3
qun.IsOpen, //4
qun.Description, //5
qun.Contact, //6
qun.Address, //7
model.UserId, //8
user.Icon, //9
user.UserName, //10
qunTypeModel == null ? "" : qunTypeModel.TypeName, //11
groupsModel == null ? "" : groupsModel.GroupsName //12
);
sb.Append("</quns>");
return sb.ToString();
}
#endregion
#region 根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V2.0
#region 13.0 根据群ID + string QueryQunByUserIdAndQunId(int userId, int qunId)
/// <summary>
/// 13.0 根据群ID查询
/// </summary>
/// <param name="userId"></param>
/// <param name="qunId"></param>
/// <returns></returns>
public string QueryQunByQunId(int qunId)
{
M_Qun qun = m_qunManager.GetModel(qunId);
string where = string.Format("QunId={0} and IsQunCreater='true' and Deleted='false'", qunId);
DataSet ds = m_userRolePermissionManager.GetList(where);
M_User user = null;
if (ds != null && ds.Tables.Count > 0)
user = m_userManager.GetModel(Convert.ToInt32(ds.Tables[0].Rows[0]["UserId"]));
//判断是否存在
if (user == null)
{
return Convert.ToString(ErrorCode.DATA_NOT_EXIST);
}
#region 格式
//<qun>
// <qunId>xxx</qunId>1
// <qunNo>群编号</qunNo>2
// <qunName>="群名称"</qunName>3
// <iconUrl>群头像地址</iconUrl> 4
// <isPublish>公开/私密</isPublish>5
// <description>群介绍</description>6
// <contact>联系方式</contact> 7
// <address>地点</address>8
// <createrId>群主Id</createrId>9
// <createrIconUrl>群主头像地址</createrIconUrl> 10
// <createrName>群主用户名</createrName> 11
// <qunTypeName>类别名称</qunTypeName> 12
// <groupName>用户所在的组名称</groupName>13
//</qun>
#endregion
StringBuilder sb = new StringBuilder();
M_QunType qunTypeModel = m_qunTypeManager.GetModelByTypeId((int)t_qunTypeRelationManager.GetModelByqunId(qun.ID).QunTypId);
M_Groups groupsModel = m_groupsManager.GetModelByQunId(qun.ID);
sb.Append("<quns>");
sb.AppendFormat(@"<qun qunId = ""{0}"" qunNo = ""{1}"" qunName = ""{2}"" iconUrl = ""{3}"" isPublish = ""{4}"" description = ""{5}"" contact = ""{6}"" address = ""{7}"" createrId = ""{8}"" createrIconUrl = ""{9}"" createrName = ""{10}"" qunTypeName = ""{11}"" groupName = ""{12}"" />",
qun.ID, //0
qun.QunNo, //1
qun.QunName,//2
qun.Logo, //3
qun.IsOpen, //4
qun.Description, //5
qun.Contact, //6
qun.Address, //7
user.ID, //8
user.Icon, //9
user.UserName, //10
qunTypeModel == null ? "" : qunTypeModel.TypeName, //11
groupsModel == null ? "" : groupsModel.GroupsName //12
);
sb.Append("</quns>");
return sb.ToString();
}
#endregion
根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V1.0的更多相关文章
- 关于计算机的ID和用户ID之间的关系
关于计算机的ID和用户ID之间的关系 计算机安装完系统后就会生成计算机ID,然后系统会以计算机ID为前缀附加数字创建Administrator(500)和Guest(501)用户ID,其他用户的ID将 ...
- 第11章 使用OpenID Connect添加用户身份验证 - Identity Server 4 中文文档(v1.0.0)
在本快速入门中,我们希望通过OpenID Connect协议向我们的IdentityServer添加对交互式用户身份验证的支持. 一旦到位,我们将创建一个将使用IdentityServer进行身份验证 ...
- 【转】linux 设置用户id 设置组id
linux 设置用户id 设置组id 转自 linux 设置用户id 设置组id 最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个 ...
- 转: unix实际用户ID和有效用户ID解析
今天在看APUE,这两个问题很难理解,GOOGLE一下,有篇文章总结的不错,看了一下才明白透彻了. 由于用户在UNIX下经常会遇到 SUID.SGID的概念,而且SUID和SGID涉及到系统安全,所以 ...
- 《UNIX环境高级编程》笔记--更改用户ID和组ID
在unix系统中,特权是基于用户和组ID的,当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己 用户ID或组ID,使的新ID具有合适的特权或访问权限.与此类似,当程序需要降低其特 ...
- 设置用户ID和设置组ID
与一个进程关联的ID有6个或更多,如下图所示: 与每个进程相关联的用户ID和组ID 实际用户ID 实际组ID 我们实际是谁 有效用户ID 有效组ID 附加组ID 用于文件访问权限检索 保存的设置用户I ...
- 文件和目录之设置用户ID和设置组ID
与一个进程相关联的ID有6个或更多,它们如表4-4所示: 表4-4 与每个进程相关联的用户ID和组ID 实际用户ID 我们实际上是谁 实际组ID ...
- 进程控制之更改用户ID和组ID
在UNIX系统中,特权(例如能改变当前日期的表示法以及访问控制(例如,能否读.写一特定文件))是基于用户ID和组ID的.当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己的用户I ...
- linux系统学习笔记:无死角理解保存的设置用户ID,设置用户ID位,有效用户ID,实际用户ID
一.基本概念 实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid. 有效用户ID(EUID):用于系统决定用户对系统资源的权限,也就是说当用 ...
随机推荐
- (原)STL中vector的疑问
以前基本上没有用过STL,当然包括里面的vector.今天试验了一下. 主要看了这个网址: http://blog.csdn.net/phoebin/article/details/3864590 代 ...
- ios html5 长按复制文本
以前做的项目,主要是针对ios的,安卓上面也没有测试. 原理其实是系统自带的功能,那时候借鉴的其他网站,没有试验通过document.execCommand("Copy"),别的j ...
- 1003 Crashing Balloon
考察DFS的应用,判断两个数的因子. #include <stdio.h> int f1,f2; void DFS(int m,int n,int k){ ){ f2=; ) f1=; } ...
- SQL Server数据库空间管理 (1)
数据库经常遇到的问题: 1).数据库文件空间用尽 2).日志文件不停增长 3).数据库文件无法收缩 4).自动增长和自动收缩 本系列就以上面的4个问题入手分析并总结数据库空间的管理方法. 1. ...
- CSS 注意事项
使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读. 明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中你可以只写width="100&q ...
- poj 2425 A Chess Game_sg函数
题意:给你一个有向无环图,再给你图上的棋子,每人每次只能移动一个棋子,当轮到你不能移动棋子是就输了,棋子可以同时在一个点 比赛时就差这题没ak,做了几天博弈终于搞懂了. #include <io ...
- Windows下通过脚本快速修改IP地址
Windows下通过脚本快速修改IP地址 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了. 经常要切换ip,所以我写了两个脚本: c:\办公室.bat netsh interface i ...
- Zipper
Zipper Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- C#中的反射原理及应用(转)
反射的概述 反射的定义:审查元数据并收集关于它的类型信息的能力.元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等, ...
- JAVA File类 分析(三)
前面两篇与大家一起研究了unix下的文件系统,本篇将和大家一起分析 文件的属性和文件夹. ok,废话不说,先来段代码 #include <stdio.h> #include <sys ...