Linkman.cs
上传用户:cha0314
上传日期:2014-03-02
资源大小:12522k
文件大小:12k
源码类别:

C#编程

开发平台:

C#

  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. namespace UDS.Components
  5. {
  6. /// <summary>
  7. /// Linkman 的摘要说明。
  8. /// </summary>
  9. public class MyLinkman
  10. {
  11. public MyLinkman()
  12. {
  13. }
  14. #region 得到联系人列表
  15. /// <summary>
  16. /// 得到我的联系人
  17. /// </summary>
  18. /// <param name="type">联系人类型(0:所有联系人1:员工联系人2:客户联系人3:自定义联系人)</param>
  19. /// <param name="staffid">用户id</param>
  20. /// <returns></returns>
  21. public SqlDataReader GetMyLinkman(int type,int staffid)
  22. {
  23. UDS.Components.Database data = new UDS.Components.Database();
  24. SqlParameter[] prams = {
  25.     data.MakeInParam("@type",SqlDbType.Int,4,type),
  26. data.MakeInParam("@staffid",SqlDbType.Int,4,staffid)
  27. };
  28. SqlDataReader dr = null;
  29. data.RunProc("sp_Linkman_GetList",prams,out dr);
  30. return(dr);
  31. }
  32. #endregion
  33. #region 得到自定义联系人
  34. /// <summary>
  35. /// 得到自定义联系人
  36. /// </summary>
  37. /// <returns></returns>
  38. public SqlDataReader GetCustomLinkman(int id)
  39. {
  40. UDS.Components.Database data = new UDS.Components.Database();
  41. SqlParameter[] prams = {
  42.    data.MakeInParam("@id",SqlDbType.Int,4,id)
  43.    };
  44. SqlDataReader dr = null;
  45. data.RunProc("sp_Linkman_GetCustomLinkman",prams,out dr);
  46. return(dr);
  47. }
  48. #endregion
  49. #region 得到自定义联系人类别
  50. public SqlDataReader GetCustomLinkmanType(int id)
  51. {
  52. UDS.Components.Database data = new UDS.Components.Database();
  53. SqlParameter[] prams = {
  54.    data.MakeInParam("@id",SqlDbType.Int,4,id)
  55.    };
  56. SqlDataReader dr = null;
  57. data.RunProc("sp_Linkman_GetCustomLinkmanTypeByCustomLinkmanID",prams,out dr);
  58. return(dr);
  59. }
  60. #endregion
  61. #region 获得所有联系人分类关系数据
  62. /// <summary>
  63. /// 获得所有联系人分类关系数据
  64. /// </summary>
  65. /// <returns></returns>
  66. public SqlDataReader GetLinkmanTypeRelation()
  67. {
  68. UDS.Components.Database data = new UDS.Components.Database();
  69. SqlDataReader dr = null;
  70. data.RunProc("sp_Linkman_GetAllLinkmanTypeData",out dr);
  71. return(dr);
  72. }
  73. #endregion
  74. #region 添加自定义联系人
  75. /// <summary>
  76. /// 添加自定义联系人
  77. /// </summary>
  78. /// <param name="clinkman">CustomLinkman结构</param>
  79. /// <returns>添加的ID</returns>
  80. public int AddCustomLinkman(CustomLinkman clinkman,int staffid)
  81. {
  82. int result = 0;
  83. UDS.Components.Database data = new UDS.Components.Database();
  84. SqlParameter[] prams = {
  85.     data.MakeInParam("@name",SqlDbType.VarChar,100,clinkman.Name),
  86. data.MakeInParam("@Gender",SqlDbType.Bit,1,clinkman.Gender),
  87. data.MakeInParam("@UnitTelephone",SqlDbType.VarChar,50,clinkman.UnitTelephone),
  88. data.MakeInParam("@Email",SqlDbType.VarChar,50,clinkman.Email),
  89. data.MakeInParam("@UnitAddress",SqlDbType.VarChar,200,clinkman.UnitAddress),
  90. data.MakeInParam("@UnitZip",SqlDbType.VarChar,50,clinkman.UnitZip),
  91. data.MakeInParam("@FamilyAddress",SqlDbType.VarChar,200,clinkman.FamilyAddress),
  92. data.MakeInParam("@FamilyZip",SqlDbType.VarChar,50,clinkman.FamilyZip),
  93. data.MakeInParam("@Mobile",SqlDbType.VarChar,100,clinkman.Mobile),
  94. data.MakeInParam("@FamilyTelephone",SqlDbType.VarChar,100,clinkman.FamilyTelephone),
  95. data.MakeInParam("@Memo",SqlDbType.VarChar,1000,clinkman.Memo),
  96. data.MakeInParam("@Staffid",SqlDbType.Int,4,staffid),
  97. data.MakeInParam("@Age",SqlDbType.VarChar,50,clinkman.Age)
  98.    };
  99. result = data.RunProc("sp_Linkman_AddCustomLinkman",prams);
  100. if(clinkman.Type.IndexOf(',',0)!=-1)
  101. {
  102. string [] arrtype = clinkman.Type.Split(',');
  103. for(int i = 0;i<arrtype.Length;i++)
  104. {
  105. if(arrtype[i].Trim()!="")
  106. {
  107. SqlParameter[] prams1 = {
  108. data.MakeInParam("@typeid",SqlDbType.Int,4,arrtype[i]),
  109. data.MakeInParam("@id",SqlDbType.Int,4,result)
  110. };
  111. data.RunProc("sp_Linkman_AddCustomLinkmanType",prams1);
  112. }
  113. }
  114. }
  115. return(result);
  116. }
  117. #endregion
  118. #region 更新自定义联系人
  119. /// <summary>
  120. /// 更新自定义联系人
  121. /// </summary>
  122. /// <param name="mlinkman"></param>
  123. public void UpdateCustomLinkman(CustomLinkman clinkman)
  124. {
  125. UDS.Components.Database data = new UDS.Components.Database();
  126. SqlParameter[] prams = {
  127.    data.MakeInParam("@ID",SqlDbType.Int,4,clinkman.ID),
  128.    data.MakeInParam("@name",SqlDbType.VarChar,100,clinkman.Name),
  129.    data.MakeInParam("@Gender",SqlDbType.Bit,1,clinkman.Gender),
  130.    data.MakeInParam("@UnitTelephone",SqlDbType.VarChar,50,clinkman.UnitTelephone),
  131.    data.MakeInParam("@Email",SqlDbType.VarChar,50,clinkman.Email),
  132.    data.MakeInParam("@UnitAddress",SqlDbType.VarChar,200,clinkman.UnitAddress),
  133.    data.MakeInParam("@UnitZip",SqlDbType.VarChar,50,clinkman.UnitZip),
  134.    data.MakeInParam("@FamilyAddress",SqlDbType.VarChar,200,clinkman.FamilyAddress),
  135.    data.MakeInParam("@FamilyZip",SqlDbType.VarChar,50,clinkman.FamilyZip),
  136.    data.MakeInParam("@Mobile",SqlDbType.VarChar,100,clinkman.Mobile),
  137.    data.MakeInParam("@FamilyTelephone",SqlDbType.VarChar,100,clinkman.FamilyTelephone),
  138.    data.MakeInParam("@Memo",SqlDbType.VarChar,1000,clinkman.Memo),
  139.    data.MakeInParam("@Age",SqlDbType.VarChar,50,clinkman.Age),
  140.    data.MakeInParam("@Type",SqlDbType.VarChar,200,clinkman.Type)
  141.    };
  142. data.RunProc("sp_Linkman_UpdateCustomLinkman",prams);
  143. }
  144. #endregion
  145. #region 获得自定义联系人分类
  146. /// <summary>
  147. /// 获得自定义联系人分类
  148. /// </summary>
  149. /// <returns></returns>
  150. public SqlDataReader GetCustomLinkmanType()
  151. {
  152. UDS.Components.Database data = new UDS.Components.Database();
  153. SqlDataReader dr = null;
  154. data.RunProc("sp_Linkman_GetCustomLinkmanType",out dr);
  155. return(dr);
  156. }
  157. #endregion
  158. #region 根据分类得到自定义联系人
  159. /// <summary>
  160. /// 根据分类得到自定义联系人
  161. /// </summary>
  162. /// <param name="type">类别id</param>
  163. /// <returns></returns>
  164. public SqlDataReader GetCustomLinkmanByType(int type,int staffid)
  165. {
  166. UDS.Components.Database data = new UDS.Components.Database();
  167. SqlParameter[] prams = {
  168. data.MakeInParam("@typeid",SqlDbType.Int,4,type),
  169. data.MakeInParam("@staffid",SqlDbType.Int,4,staffid)
  170.    };
  171. SqlDataReader dr = null;
  172. data.RunProc("sp_Linkman_GetCustomLinkmanByType",prams,out dr);
  173. return(dr);
  174. }
  175. #endregion
  176. #region 更新自定义联系人分类
  177. /// <summary>
  178. /// 更新自定义联系人分类
  179. /// </summary>
  180. /// <param name="mlinkman"></param>
  181. public void UpdateCustomLinkmanType(CustomLinkman clinkman)
  182. {
  183. UDS.Components.Database data = new UDS.Components.Database();
  184. if(clinkman.Type.IndexOf(',',0)!=-1)
  185. {
  186. string [] arrtype = clinkman.Type.Split(',');
  187. for(int i = 0;i<arrtype.Length;i++)
  188. {
  189. if(arrtype[i].Trim()!="")
  190. {
  191. SqlParameter[] prams1 = {
  192. data.MakeInParam("@typeid",SqlDbType.Int,4,arrtype[i]),
  193. data.MakeInParam("@id",SqlDbType.Int,4,clinkman.ID)
  194. };
  195. data.RunProc("sp_Linkman_AddCustomLinkmanType",prams1);
  196. }
  197. }
  198. }
  199. }
  200. #endregion
  201. #region 添加联系人到联系人列表
  202. /// <summary>
  203. /// 添加联系人到联系人列表
  204. /// </summary>
  205. /// <param name="type">联系人类别1:员工联系人2:客户联系人3:自定义联系人</param>
  206. /// <param name="id">联系人id</param>
  207. /// <param name="staffid">用户id</param>
  208. public void AddLinkmanToList(int type,int id,int staffid)
  209. {
  210. Database db = new Database();
  211. SqlParameter[] prams = {
  212.      db.MakeInParam("@type",SqlDbType.Int,4,type),
  213.  db.MakeInParam("@id",SqlDbType.Int,4,id),
  214.  db.MakeInParam("@staffid",SqlDbType.Int,4,staffid)
  215. };
  216. db.RunProc("sp_Linkman_AddToLinkmanList",prams);
  217. }
  218. #endregion
  219. #region 删除联系人列表中的联系人
  220. /// <summary>
  221. /// 删除联系人列表中的联系人
  222. /// </summary>
  223. /// <param name="id">联系人列表中的id</param>
  224. public void DelLinkmanFromList(int type,int linkmanid)
  225. {
  226. Database db = new Database();
  227. SqlParameter[] prams = {
  228.    db.MakeInParam("@type",SqlDbType.Int,4,type),
  229.    db.MakeInParam("@linkmanid",SqlDbType.Int,4,linkmanid)
  230.    };
  231. db.RunProc("sp_Linkman_DelLinkmanFromList",prams);
  232. }
  233. #endregion
  234. #region 检查此人是否已经在联系人列表中
  235. /// <summary>
  236. /// 检查此人是否已经在联系人列表中
  237. /// </summary>
  238. /// <param name="type">联系人类型(0:所有联系人1:员工联系人2:客户联系人3:自定义联系人)</param>
  239. /// <param name="staffid">用户id</param>
  240. /// <param name="id">联系人id</param>
  241. /// <returns></returns>
  242. public bool HaveInList(int type,int staffid,int id)
  243. {
  244. UDS.Components.Database data = new UDS.Components.Database();
  245. SqlParameter[] prams = {
  246.    data.MakeInParam("@type",SqlDbType.Int,4,type),
  247.    data.MakeInParam("@staffid",SqlDbType.Int,4,staffid),
  248.    data.MakeInParam("@id",SqlDbType.Int,4,id)
  249.    };
  250. return((data.RunProc("sp_Linkman_HaveInList",prams)==1)?true:false);
  251. }
  252. #endregion
  253. }
  254. #region 自定义联系人结构
  255. /// <summary>
  256. /// 自定义联系人结构
  257. /// </summary>
  258. public class CustomLinkman
  259. {
  260. private int m_id;
  261. private string m_name="";
  262. private bool m_gender;
  263. private string m_email="";
  264. private string m_unittelephone="";
  265. private string m_unitaddress="";
  266. private string m_unitzip="";
  267. private string m_familytelephone="";
  268. private string m_familyaddress="";
  269. private string m_familyzip="";
  270. private string m_type="";
  271. private string m_mobile="";
  272. private string m_memo="";
  273. private string m_age = "";
  274. /// <summary>
  275. /// ID
  276. /// </summary>
  277. public int ID
  278. {
  279. get{return m_id;}
  280. set{m_id = value;}
  281. }
  282. /// <summary>
  283. /// 姓名
  284. /// </summary>
  285. public string Name
  286. {
  287. get{return m_name;}
  288. set{m_name = value;}
  289. }
  290. /// <summary>
  291. /// 性别
  292. /// </summary>
  293. public bool Gender
  294. {
  295. get{return m_gender;}
  296. set{m_gender = value;}
  297. }
  298. /// <summary>
  299. /// Email
  300. /// </summary>
  301. public string Email
  302. {
  303. get{return m_email;}
  304. set{m_email = value;}
  305. }
  306. /// <summary>
  307. /// 单位电话
  308. /// </summary>
  309. public string UnitTelephone
  310. {
  311. get{return m_unittelephone;}
  312. set{m_unittelephone = value;}
  313. }
  314. /// <summary>
  315. /// 单位地址
  316. /// </summary>
  317. public string UnitAddress
  318. {
  319. get{return m_unitaddress;}
  320. set{m_unitaddress = value;}
  321. }
  322. /// <summary>
  323. /// 单位邮编
  324. /// </summary>
  325. public string UnitZip
  326. {
  327. get{return m_unitzip;}
  328. set{m_unitzip = value;}
  329. }
  330. /// <summary>
  331. /// 家庭电话
  332. /// </summary>
  333. public string FamilyTelephone
  334. {
  335. get{return m_familytelephone;}
  336. set{m_familytelephone = value;}
  337. }
  338. /// <summary>
  339. /// 家庭地址
  340. /// </summary>
  341. public string FamilyAddress
  342. {
  343. get{return m_familyaddress;}
  344. set{m_familyaddress = value;}
  345. }
  346. /// <summary>
  347. /// 家庭邮编
  348. /// </summary>
  349. public string FamilyZip
  350. {
  351. get{return m_familyzip;}
  352. set{m_familyzip = value;}
  353. }
  354. /// <summary>
  355. /// 所属分类
  356. /// </summary>
  357. public string Type
  358. {
  359. get{return m_type;}
  360. set{m_type = value;}
  361. }
  362. /// <summary>
  363. /// 手机
  364. /// </summary>
  365. public string Mobile
  366. {
  367. get{return m_mobile;}
  368. set{m_mobile = value;}
  369. }
  370. /// <summary>
  371. /// 备注
  372. /// </summary>
  373. public string Memo
  374. {
  375. get{return m_memo;}
  376. set{m_memo = value;}
  377. }
  378. /// <summary>
  379. /// 年龄
  380. /// </summary>
  381. public string Age
  382. {
  383. get{return m_age;}
  384. set{m_age = value;}
  385. }
  386. }
  387. #endregion
  388. }