/*******************************************************************************
* Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:StateMessageClass.cs
* 2.功能描述:状态信息处理共通类
* 编辑履历:
* 作者 日期 版本 修改内容
* 庄天威 2015/12/01 1.00 新建
*******************************************************************************/
using System;
using System.Windows.Forms;
using Dongke.IBOSS.PRD.Basics.BaseResources;
using Dongke.IBOSS.PRD.Basics.Library;
using Dongke.IBOSS.PRD.WCF.Contracts;
using Dongke.IBOSS.PRD.WCF.DataModels;
namespace Dongke.IBOSS.PRD.Client.CommonModule
{
public class StateMessageClass
{
///
/// 根据错误编号获取状态枚举
///
/// 错误编号
/// 状态枚举
public static ServiceResultStatus GetResultStatusByErrorNum(int errorNum)
{
if (errorNum == 1017)
{
//return ServiceResultStatus.ORANoLogon;
return ServiceResultStatus.DBNonSQLError;
}
else if (errorNum == 12543)
{
//return ServiceResultStatus.ORANoHost;
return ServiceResultStatus.DBNonSQLError;
}
else if (errorNum == 12505)
{
//return ServiceResultStatus.ORANoSID;
return ServiceResultStatus.DBNonSQLError;
}
else if (errorNum == 12514)
{
//return ServiceResultStatus.ORANoService;
return ServiceResultStatus.DBNonSQLError;
}
else if (errorNum == 9999)
{
//return ServiceResultStatus.ORAConnStrError;
return ServiceResultStatus.DBNonSQLError;
}
else if (errorNum == 12170)
{
//return ServiceResultStatus.ORATimeOut;
return ServiceResultStatus.DBNonSQLError;
}
else
{
return ServiceResultStatus.DBSQLError;
}
}
///
/// 根据状态枚举获取提示信息
///
/// 状态枚举
/// 提示信息
public static bool GetErrorMessageByStatus(Form form, ServiceResultStatus resultStatus)
{
if (resultStatus == ServiceResultStatus.Success ||
resultStatus == ServiceResultStatus.Other)
{
return false;
}
string messageError = string.Empty;// 连接超时
if (resultStatus == ServiceResultStatus.DBNonSQLError)
{
messageError = Constant.W_CON_C_001;
}
//// 连接超时
//else if (resultStatus == ServiceResultStatus.ORATimeOut)
//{
// messageError = Constant.W_CON_C_001;
//}
//// 连接字符串不正确
//else if (resultStatus == ServiceResultStatus.ORAConnStrError)
//{
// messageError = Constant.W_CON_C_002;
//}
//// 数据库SID不存在
//else if (resultStatus == ServiceResultStatus.ORANoSID)
//{
// messageError = Constant.W_CON_C_003;
//}
//// 服务端没有网络
//else if (resultStatus == ServiceResultStatus.ORANoLine)
//{
// messageError = Constant.W_CON_C_004;
//}
//// 数据库账号密码不正确
//else if (resultStatus == ServiceResultStatus.ORANoLogon)
//{
// messageError = Constant.W_CON_C_005;
//}
// 当前数据被占用
else if (resultStatus == ServiceResultStatus.DataLockedByOther)
{
messageError = Constant.W_CMN_C_005_1;
}
// 未成功更新数据
else if (resultStatus == ServiceResultStatus.DataNoUpdate)
{
messageError = Constant.W_CMN_C_002;
}
// 数据不存在
else if (resultStatus == ServiceResultStatus.DataNoExists)
{
messageError = "数据不存在,请确认后再操作。";
}
// 数据无效
else if (resultStatus == ServiceResultStatus.DataInvalid)
{
messageError = "数据是无效状态,请确认后再操作。";
}
// 重复数据
else if (resultStatus == ServiceResultStatus.DataDuplicated)
{
messageError = Constant.W_CMN_C_014;
}
if (!string.IsNullOrEmpty(messageError))
{
MessageBox.Show(messageError, form.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return true;
}
// 没有查询结果
if (resultStatus == ServiceResultStatus.DataNoResult)
{
messageError = Constant.I_CMN_C_001;
}
if (!string.IsNullOrEmpty(messageError))
{
MessageBox.Show(messageError, form.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
return true;
}
if (resultStatus == ServiceResultStatus.ServiceError ||
resultStatus == ServiceResultStatus.DBSQLError)
{
messageError = Constant.E_CON_C_001;
}
// 命名空间错误
else if (resultStatus == ServiceResultStatus.RequestNameSpaceError)
{
messageError = "客户端请求命名空间错误";// Constant.W_CMN_C_002;常量被别人占着 以后再改
}
if (!string.IsNullOrEmpty(messageError))
{
MessageBox.Show(messageError, form.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
return true;
}
return false;
}
}
}