/// <summary> /// 更新分组信息 /// </summary> /// <param name="group"></param> public static int UpdateGroupVcard(GroupVcard group) { string sql = "update Groups set GroupName=@GroupName,SuperiorId=@SuperiorId,orderID=@orderID where GroupID=@GroupID"; System.Data.SqlClient.SqlParameter[] sqlpar = new System.Data.SqlClient.SqlParameter[] { new System.Data.SqlClient.SqlParameter("@GroupID", group.GroupID), new System.Data.SqlClient.SqlParameter("@GroupName", group.GroupName), new System.Data.SqlClient.SqlParameter("@SuperiorId", group.SuperiorID), new System.Data.SqlClient.SqlParameter("@orderID", group.OrderID), }; return(IMLibrary.SqlData.DataAccess.ExecSql(sql, sqlpar)); }
/// <summary> /// 创建分组 /// </summary> /// <param name="group"></param> public static int CreateGroupVcard(GroupVcard group) { string sql = "insert into Groups(GroupID,GroupName,SuperiorId,orderID)" + "values(@GroupID,@GroupName,@SuperiorId,@orderID)"; System.Data.SqlClient.SqlParameter[] sqlpar = new System.Data.SqlClient.SqlParameter[] { new System.Data.SqlClient.SqlParameter("@GroupID", group.GroupID), new System.Data.SqlClient.SqlParameter("@GroupName", group.GroupName), new System.Data.SqlClient.SqlParameter("@SuperiorId", group.SuperiorID), new System.Data.SqlClient.SqlParameter("@orderID", group.OrderID), }; return(IMLibrary.SqlData.DataAccess.ExecSql(sql, sqlpar)); }
/// <summary> /// 更新分组Card,无数据则添加 /// </summary> /// <param name="GroupID"></param> /// <param name="e"></param> public static void UpdateGroupVcard(GroupVcard card) { string sql = "update GroupsVcard set Vcard=@Vcard where GroupID=@GroupID"; System.Data.SQLite.SQLiteParameter[] parameters = new System.Data.SQLite.SQLiteParameter[] { new System.Data.SQLite.SQLiteParameter("@GroupID", card.GroupID), new System.Data.SQLite.SQLiteParameter("@Vcard", Factory.CreateXMLMsg(card)), new System.Data.SQLite.SQLiteParameter("@GroupName", card.GroupName), new System.Data.SQLite.SQLiteParameter("@SuperiorID", card.SuperiorID), new System.Data.SQLite.SQLiteParameter("@OrderID", card.OrderID), }; if (SQLiteDBHelper.ExecuteNonQuery(sql, parameters) == 0) { sql = "insert into Groups(GroupID,GroupName,SuperiorID,OrderID) values(@GroupID,@GroupName,@SuperiorID,@OrderID);" + "insert into GroupsVcard(GroupID,Vcard) values(@GroupID,@Vcard)"; SQLiteDBHelper.ExecuteNonQuery(sql, parameters); } }
void msgServer_RequestChangeGroupVcard(object sender, MsgServerEventArgs e) { GroupVcard card = e.obj as GroupVcard; if (card.GroupID.Trim() == "" || card.GroupName.Trim() == "") { return; } card.GroupID = card.GroupID.Trim(); if (card.type == type.New && e.RequestUser.isAdmin) //如果用户是管理员 { if (DBHelper.CreateGroupVcard(card) > 0) //保存于数据库 { orgVersion = DBHelper.ResetOrgVersion(); //重设组织架构版本相关信息 BroadcastingMessageToOnlineUser(e.XMLMsg); //将创建的分组信息广播给所有在线用户 } } else if (card.type == type.set && e.RequestUser.isAdmin) //如果是更新分组信息 { if (DBHelper.UpdateGroupVcard(card) > 0) //更新数据库 { orgVersion = DBHelper.ResetOrgVersion(); //重设组织架构版本相关信息 SendMessageToUser(e.RequestUser, e.XMLMsg); //通知管理员创建新用户成功 } } else if (card.type == type.get)//如果是更新 { card.type = type.result; SendMessageToUser(e.RequestUser, Factory.CreateXMLMsg(card)); //将分组信息资料发送给请求者 } else if (card.type == type.delete && e.RequestUser.isAdmin) //如果是删除分组 { if (DBHelper.DelGroup(card.GroupID) > 0) //数据库中删除 { orgVersion = DBHelper.ResetOrgVersion(); //重设组织架构版本相关信息 BroadcastingMessageToOnlineUser(e.XMLMsg); //将删除的用户广播给所有在线用户 } } }
/// <summary> /// 管理员变更分组信息 /// </summary> /// <param name="card"></param> /// <param name="xmlMsg"></param> /// <param name="session"></param> private void onGroupVcard(GroupVcard card, string xmlMsg, TCPServerSession session) { if (card.GroupID.Trim() == "" || card.GroupName.Trim() == "") { return; } card.GroupID = card.GroupID.Trim(); UserVcard requestUser = session.Tag as UserVcard; //请求用户 if (card.type == type.New && requestUser.isAdmin) //如果用户是管理员 { if (DBHelper.CreateGroupVcard(card) > 0) //保存于数据库 { orgVersion = DBHelper.ResetOrgVersion(); //重设组织架构版本相关信息 BroadcastingMessageToOnlineUser(xmlMsg); //将创建的分组信息广播给所有在线用户 } } else if (card.type == type.set && requestUser.isAdmin) //如果是更新分组信息 { if (DBHelper.UpdateGroupVcard(card) > 0) //更新数据库 { orgVersion = DBHelper.ResetOrgVersion(); //重设组织架构版本相关信息 SendMessageToUser(requestUser, xmlMsg); //通知管理员创建新用户成功 } } else if (card.type == type.get)//如果是更新 { card.type = type.result; SendMessageToUser(requestUser, Factory.CreateXMLMsg(card)); //将分组信息资料发送给请求者 } else if (card.type == type.delete && requestUser.isAdmin) //如果是删除分组 { if (DBHelper.DelGroup(card.GroupID) > 0) //数据库中删除 { orgVersion = DBHelper.ResetOrgVersion(); //重设组织架构版本相关信息 BroadcastingMessageToOnlineUser(xmlMsg); //将删除的用户广播给所有在线用户 } } }