StateMessageClass.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:StateMessageClass.cs
  5. * 2.功能描述:状态信息处理共通类
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 庄天威 2015/12/01 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Windows.Forms;
  12. using Dongke.IBOSS.PRD.Basics.BaseResources;
  13. using Dongke.IBOSS.PRD.Basics.Library;
  14. using Dongke.IBOSS.PRD.WCF.Contracts;
  15. using Dongke.IBOSS.PRD.WCF.DataModels;
  16. namespace Dongke.IBOSS.PRD.Client.CommonModule
  17. {
  18. public class StateMessageClass
  19. {
  20. /// <summary>
  21. /// 根据错误编号获取状态枚举
  22. /// </summary>
  23. /// <param name="errorNum">错误编号</param>
  24. /// <returns>状态枚举</returns>
  25. public static ServiceResultStatus GetResultStatusByErrorNum(int errorNum)
  26. {
  27. if (errorNum == 1017)
  28. {
  29. //return ServiceResultStatus.ORANoLogon;
  30. return ServiceResultStatus.DBNonSQLError;
  31. }
  32. else if (errorNum == 12543)
  33. {
  34. //return ServiceResultStatus.ORANoHost;
  35. return ServiceResultStatus.DBNonSQLError;
  36. }
  37. else if (errorNum == 12505)
  38. {
  39. //return ServiceResultStatus.ORANoSID;
  40. return ServiceResultStatus.DBNonSQLError;
  41. }
  42. else if (errorNum == 12514)
  43. {
  44. //return ServiceResultStatus.ORANoService;
  45. return ServiceResultStatus.DBNonSQLError;
  46. }
  47. else if (errorNum == 9999)
  48. {
  49. //return ServiceResultStatus.ORAConnStrError;
  50. return ServiceResultStatus.DBNonSQLError;
  51. }
  52. else if (errorNum == 12170)
  53. {
  54. //return ServiceResultStatus.ORATimeOut;
  55. return ServiceResultStatus.DBNonSQLError;
  56. }
  57. else
  58. {
  59. return ServiceResultStatus.DBSQLError;
  60. }
  61. }
  62. /// <summary>
  63. /// 根据状态枚举获取提示信息
  64. /// </summary>
  65. /// <param name="resultStatus">状态枚举</param>
  66. /// <returns>提示信息</returns>
  67. public static bool GetErrorMessageByStatus(Form form, ServiceResultStatus resultStatus)
  68. {
  69. if (resultStatus == ServiceResultStatus.Success ||
  70. resultStatus == ServiceResultStatus.Other)
  71. {
  72. return false;
  73. }
  74. string messageError = string.Empty;// 连接超时
  75. if (resultStatus == ServiceResultStatus.DBNonSQLError)
  76. {
  77. messageError = Constant.W_CON_C_001;
  78. }
  79. //// 连接超时
  80. //else if (resultStatus == ServiceResultStatus.ORATimeOut)
  81. //{
  82. // messageError = Constant.W_CON_C_001;
  83. //}
  84. //// 连接字符串不正确
  85. //else if (resultStatus == ServiceResultStatus.ORAConnStrError)
  86. //{
  87. // messageError = Constant.W_CON_C_002;
  88. //}
  89. //// 数据库SID不存在
  90. //else if (resultStatus == ServiceResultStatus.ORANoSID)
  91. //{
  92. // messageError = Constant.W_CON_C_003;
  93. //}
  94. //// 服务端没有网络
  95. //else if (resultStatus == ServiceResultStatus.ORANoLine)
  96. //{
  97. // messageError = Constant.W_CON_C_004;
  98. //}
  99. //// 数据库账号密码不正确
  100. //else if (resultStatus == ServiceResultStatus.ORANoLogon)
  101. //{
  102. // messageError = Constant.W_CON_C_005;
  103. //}
  104. // 当前数据被占用
  105. else if (resultStatus == ServiceResultStatus.DataLockedByOther)
  106. {
  107. messageError = Constant.W_CMN_C_005_1;
  108. }
  109. // 未成功更新数据
  110. else if (resultStatus == ServiceResultStatus.DataNoUpdate)
  111. {
  112. messageError = Constant.W_CMN_C_002;
  113. }
  114. // 数据不存在
  115. else if (resultStatus == ServiceResultStatus.DataNoExists)
  116. {
  117. messageError = "数据不存在,请确认后再操作。";
  118. }
  119. // 数据无效
  120. else if (resultStatus == ServiceResultStatus.DataInvalid)
  121. {
  122. messageError = "数据是无效状态,请确认后再操作。";
  123. }
  124. // 重复数据
  125. else if (resultStatus == ServiceResultStatus.DataDuplicated)
  126. {
  127. messageError = Constant.W_CMN_C_014;
  128. }
  129. if (!string.IsNullOrEmpty(messageError))
  130. {
  131. MessageBox.Show(messageError, form.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  132. return true;
  133. }
  134. // 没有查询结果
  135. if (resultStatus == ServiceResultStatus.DataNoResult)
  136. {
  137. messageError = Constant.I_CMN_C_001;
  138. }
  139. if (!string.IsNullOrEmpty(messageError))
  140. {
  141. MessageBox.Show(messageError, form.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
  142. return true;
  143. }
  144. if (resultStatus == ServiceResultStatus.ServiceError ||
  145. resultStatus == ServiceResultStatus.DBSQLError)
  146. {
  147. messageError = Constant.E_CON_C_001;
  148. }
  149. // 命名空间错误
  150. else if (resultStatus == ServiceResultStatus.RequestNameSpaceError)
  151. {
  152. messageError = "客户端请求命名空间错误";// Constant.W_CMN_C_002;常量被别人占着 以后再改
  153. }
  154. if (!string.IsNullOrEmpty(messageError))
  155. {
  156. MessageBox.Show(messageError, form.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
  157. return true;
  158. }
  159. return false;
  160. }
  161. }
  162. }