/// <summary> 登出 /// </summary> /// <param name="str"></param> /// <returns></returns> public string LoginOut(string strJson) { RespFunStruct resp = new RespFunStruct(); try { string objStr = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(strJson); ReqeFunStruct reqeObj = Newtonsoft.Json.JsonConvert.DeserializeObject <ReqeFunStruct>(objStr); if (string.IsNullOrEmpty(reqeObj.AccCode)) { resp.IsSuccess = "0"; resp.Msg = "帐套不能为空"; } else { SetDbName(reqeObj.AccCode, false); string userID = reqeObj.userIDOP.UserID; BLL.ClientUser.UserLoginOut(userID, reqeObj.AccCode); //将登陆id及cookie信息从缓存中移除 LoginSessionInfo.Instance.LoginOut(reqeObj.AccCode, userID); resp.IsSuccess = "1"; } } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "登出失败:" + ex.Message; GlobalStaticObj_Server.WCFLogService.WriteLog("用户登出", ex); } return(Newtonsoft.Json.JsonConvert.SerializeObject(resp)); }
public static RespFunStruct ExtBaseFuncCall(ReqeFunStruct reqeObj) { RespFunStruct resp = new RespFunStruct(); bool result = false; UserIDOP userID = reqeObj.userIDOP; switch (reqeObj.FunName) { case ComFunCallEnum.LogFunctionCall: UserFunctionOPLog add = JsonConvert.DeserializeObject <UserFunctionOPLog>(reqeObj.FunObject.ToString()); try { result = BLL.OPLog.Add(add, GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "ComFunCallEnum.LogFunctionCall error"; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.LogFunctionCall;Add对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; } return(resp); }
private void tSMenuItem_UserInfo_Click(object sender, EventArgs e) { RespFunStruct respO = new RespFunStruct(); ReqeFunStruct UserO = opUserParam(); FunctionReturnBoolDelegateHandler funcCall = new FunctionReturnBoolDelegateHandler(Call); OpCommand.ShowLoadForm(GlobalStaticObj.AppMainForm, OpCommand.LForm); funcCall.BeginInvoke("新建用户", UserO, out respO, CallBack, funcCall); }
/// <summary> 登陆验证 /// </summary> /// <param name="str"></param> /// <returns></returns> public string LoginIn(string str) { RespFunStruct resp = new RespFunStruct(); try { string loginStr = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(str); LoginInput loginObj = Newtonsoft.Json.JsonConvert.DeserializeObject <LoginInput>(loginStr); if (string.IsNullOrEmpty(loginObj.acccode)) { resp.IsSuccess = "0"; resp.Msg = "帐套不能为空"; } else { SetDbName(loginObj.acccode, false); OperationContext context = OperationContext.Current; //获取传进的消息属性 MessageProperties properties = context.IncomingMessageProperties; //获取消息发送的远程终结点IP和端口 RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; string IPStr = endpoint.Address + ":" + endpoint.Port.ToString(); DataSet ds = BLL.ClientUser.UserLogin(loginObj, IPStr, GlobalStaticObj_Server.Instance.CurrAccDbName); if (ds == null || ds.Tables.Count == 0 || (ds.Tables.Count == 1 && ds.Tables[0].Rows.Count == 0)) { resp.IsSuccess = "0"; resp.Msg = "登录失败,用户名、密码问题"; } else { string userID = ds.Tables[0].Rows[0][0].ToString(); //将登陆id及cookie信息加入到缓存中 string cookieStr = LoginSessionInfo.Instance.LoginIn(userID);; DataTable dt = new DataTable("cookieStr"); DataColumn dc = new DataColumn("cookieStr", typeof(string)); dt.Columns.Add(dc); DataRow dr = dt.NewRow(); dr["cookieStr"] = cookieStr; dt.Rows.Add(dr); ds.Tables.Add(dt); resp.IsSuccess = "1"; resp.ReturnObject = JsonConvert.SerializeObject(ds); } } } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "登陆失败:" + ex.Message; Utility.Log.Log.writeLineToLog("【登陆验证】" + ex.Message, "wcf服务"); } return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); }
private void CallBack(IAsyncResult ar) { RespFunStruct result = new RespFunStruct(); FunctionReturnBoolDelegateHandler andl = (FunctionReturnBoolDelegateHandler)ar.AsyncState; andl.EndInvoke(out result, ar); bool flag = false; string str = bool.TryParse(result.ReturnObject, out flag) ? "新建用户成功" : "新建用户失败"; OpCommand.closeForm(OpCommand.myFormClose, OpCommand.LForm); MessageBox.Show(str); }
/// <summary> 数据操作 /// </summary> /// <param name="strJson">json字串</param> /// <returns></returns> public string JsonOperate(string strJson) { RespFunStruct resp = new RespFunStruct(); string returnStr = string.Empty; string opName = string.Empty; try { string objStr = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(strJson); ReqeFunStruct reqeObj = Newtonsoft.Json.JsonConvert.DeserializeObject <ReqeFunStruct>(objStr); opName = reqeObj.userIDOP.OPName; if (string.IsNullOrEmpty(reqeObj.AccCode)) { resp.IsSuccess = "0"; resp.Msg = "帐套不能为空"; } else { SetDbName(reqeObj.AccCode, false); string errMsg = LoginSessionInfo.Instance.ValidaiteUser(reqeObj.AccCode, reqeObj.userIDOP.UserID, reqeObj.PCClientCookieStr); if (!string.IsNullOrEmpty(errMsg)) { resp.IsSuccess = "0"; resp.Msg = errMsg; } else { switch (reqeObj.SubSysName) { case SubSysName.CommonBaseFuncCall: resp = CommonBaseFuncCall.ComFunCall(reqeObj); break; case SubSysName.ExtendBaseFuncCall: resp = ExtendBaseFuncCall.ExtBaseFuncCall(reqeObj); break; } } } } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "【接口调用】-" + opName + ":" + ex.Message; GlobalStaticObj_Server.WCFLogService.WriteLog("数据操作-" + opName, ex); } returnStr = HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp)); return(returnStr); }
/// <summary> 数据操作 /// </summary> /// <param name="strJson">json字串</param> /// <returns></returns> public string JsonOperate(string strJson) { RespFunStruct resp = new RespFunStruct(); string returnStr = string.Empty; try { string objStr = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(strJson); ReqeFunStruct reqeObj = Newtonsoft.Json.JsonConvert.DeserializeObject <ReqeFunStruct>(objStr); if (string.IsNullOrEmpty(reqeObj.AccCode)) { resp.IsSuccess = "0"; resp.Msg = "帐套不能为空"; } else { SetDbName(reqeObj.AccCode, false); if (!LoginSessionInfo.Instance.ValidaiteUser(reqeObj.userIDOP.UserID, reqeObj.PCClientCookieStr)) { resp.IsSuccess = "0"; resp.Msg = "用户验证失败"; } else { switch (reqeObj.SubSysName) { case SubSysName.CommonBaseFuncCall: resp = CommonBaseFuncCall.ComFunCall(reqeObj); break; case SubSysName.ExtendBaseFuncCall: resp = ExtendBaseFuncCall.ExtBaseFuncCall(reqeObj); break; } } } } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "执行失败:" + ex.Message; Utility.Log.Log.writeLineToLog("【数据操作】" + ex.Message, "wcf服务"); } returnStr = HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp)); return(returnStr); }
/// <summary> webservice方法调用 /// </summary> /// <param name="strJson">json串</param> /// <returns>返回RespFunStruct</returns> public string HandleWebServ(string strJson) { RespFunStruct resp = new RespFunStruct(); string returnStr = string.Empty; string opName = string.Empty; try { string objStr = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(strJson); ReqeFunStruct_WebServ reqeObj = Newtonsoft.Json.JsonConvert.DeserializeObject <ReqeFunStruct_WebServ>(objStr); opName = reqeObj.userIDOP.OPName; if (string.IsNullOrEmpty(reqeObj.AccCode)) { resp.IsSuccess = "0"; resp.Msg = "帐套不能为空"; } else { SetDbName(reqeObj.AccCode, true); string errMsg = LoginSessionInfo.Instance.ValidaiteUser(reqeObj.AccCode, reqeObj.userIDOP.UserID, reqeObj.PCClientCookieStr); if (!string.IsNullOrEmpty(errMsg)) { resp.IsSuccess = "0"; resp.Msg = errMsg; } else { EnumWebServFunName enumFun = reqeObj.FunName; resp = WebServHelper.WebServHandler(reqeObj.FunName, reqeObj.FunObject); } } } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "【接口调用】-" + opName + ":" + ex.Message; Utility.Log.Log.writeLineToLog("【接口调用】-" + opName + ":" + ex.Message, "wcf服务"); } returnStr = HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp)); return(returnStr); }
/// <summary> 获取所有未删除的帐套列表 /// </summary> /// <returns>返回resp对象</returns> public string GetAccList() { RespFunStruct resp = new RespFunStruct(); DataTable dt = new DataTable(); try { string where = string.Format("setbook_code!='000' and enable_flag='{0}' ", ((int)DataSources.EnumEnableFlag.USING)); dt = BLL.DBHelper.GetTable("获取帐套列表", GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode, "sys_setbook", "*", where, "", "order by setbook_code"); resp.IsSuccess = "1"; resp.RecordCount = dt.Rows.Count; resp.ReturnObject = Newtonsoft.Json.JsonConvert.SerializeObject(dt); } catch (Exception ex) { dt = new DataTable(); resp.IsSuccess = "0"; resp.RecordCount = dt.Rows.Count; resp.Msg = "获取账套信息失败:" + ex.Message; resp.ReturnObject = Newtonsoft.Json.JsonConvert.SerializeObject(dt); GlobalStaticObj_Server.WCFLogService.WriteLog("获取账套", ex); } return(Newtonsoft.Json.JsonConvert.SerializeObject(resp)); }
/// <summary> 登陆验证 /// </summary> /// <param name="str"></param> /// <returns></returns> public string LoginIn(string str) { RespFunStruct resp = new RespFunStruct(); try { string loginStr = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(str); LoginInput loginObj = Newtonsoft.Json.JsonConvert.DeserializeObject <LoginInput>(loginStr); #region 账套信息 if (string.IsNullOrEmpty(loginObj.acccode)) { resp.IsSuccess = "0"; resp.Msg = "帐套不能为空"; return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } #endregion SetDbName(loginObj.acccode, false); #region 软件注册信息 DataTable dt = BLL.DBHelper.GetTable("获取注册信息", GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode, "tb_signing_info", "authentication_status,protocol_expires_time", "", "", ""); if (dt.Rows.Count == 0) { resp.IsSuccess = "0"; resp.Msg = "软件未注册"; return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } DataSources.EnumAuthenticationStatus enumAuthenticationStatus = (DataSources.EnumAuthenticationStatus)Convert.ToInt32(dt.Rows[0]["authentication_status"].ToString()); if (enumAuthenticationStatus != DataSources.EnumAuthenticationStatus.AUTHORIZED) { resp.IsSuccess = "0"; resp.Msg = "软件" + DataSources.GetDescription(enumAuthenticationStatus, true); return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } DateTime applyTime = Common.UtcLongToLocalDateTime(Convert.ToInt64(dt.Rows[0]["protocol_expires_time"].ToString())); if (applyTime < GlobalStaticObj_Server.Instance.CurrentDateTime) { resp.IsSuccess = "0"; resp.Msg = "软件过期"; return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } #endregion #region 验证用户 string tempUserID = BLL.DBHelper.GetSingleValue("验证用户是否存在", GlobalStaticObj_Server.Instance.CurrAccDbName, "sys_user", "user_id", " land_name='" + loginObj.username + "'", ""); if (string.IsNullOrEmpty(tempUserID)) { resp.IsSuccess = "0"; resp.Msg = "登录用户不存在"; return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } //if (LoginSessionInfo.Instance.dicLoginInfos.ContainsKey(tempUserID)) //{ // resp.IsSuccess = "0"; // resp.Msg = "该用户已在其他电脑登录"; // return HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp)); //} OperationContext context = OperationContext.Current; //获取传进的消息属性 MessageProperties properties = context.IncomingMessageProperties; //获取消息发送的远程终结点IP和端口 RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; string IPStr = endpoint.Address + ":" + endpoint.Port.ToString(); DataSet ds = new DataSet(); string errMsg = BLL.ClientUser.UserLogin(loginObj, IPStr, GlobalStaticObj_Server.Instance.CurrAccDbName, out ds); if (!string.IsNullOrEmpty(errMsg)) { resp.IsSuccess = "0"; //resp.Msg = "登录密码错误"; resp.Msg = errMsg; return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } if (ds == null || ds.Tables.Count == 0 || (ds.Tables.Count == 1 && ds.Tables[0].Rows.Count == 0)) { resp.IsSuccess = "0"; resp.Msg = "登录异常"; return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); } #endregion string userID = ds.Tables[0].Rows[0][0].ToString(); //将登陆id及cookie信息加入到缓存中 string cookieStr = LoginSessionInfo.Instance.LoginIn(loginObj.acccode, userID);; DataTable dtReturn = new DataTable("cookieStr"); DataColumn dc = new DataColumn("cookieStr", typeof(string)); dtReturn.Columns.Add(dc); DataRow dr = dtReturn.NewRow(); dr["cookieStr"] = cookieStr; dtReturn.Rows.Add(dr); ds.Tables.Add(dtReturn); resp.IsSuccess = "1"; resp.ReturnObject = JsonConvert.SerializeObject(ds); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "登陆失败:" + ex.Message; GlobalStaticObj_Server.WCFLogService.WriteLog("登陆验证", ex); } return(HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(resp))); }
public static RespFunStruct ComFunCall(ReqeFunStruct reqeObj) { RespFunStruct resp = new RespFunStruct(); bool result = false; int exeCount = 0; UserIDOP userID = reqeObj.userIDOP; switch (reqeObj.FunName) { //根据主键值,单表添加或者更新,给定主键为Update,缺失为Insert操作 case ComFunCallEnum.Submit_AddOrEdit: Submit_AddOrEdit add = JsonConvert.DeserializeObject <Submit_AddOrEdit>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.Submit_AddOrEdit(connString, add.TableName, add.pkName, add.pkVal, (Dictionary <string, string>)add.DicParam, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "Submit_AddOrEdit error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.Submit_AddOrEdit;Submit_AddOrEdit对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据主键值,单表删除单记录 case ComFunCallEnum.DeleteDataByID: DeleteDataByID del = JsonConvert.DeserializeObject <DeleteDataByID>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.DeleteDataByID(connString, del.TableName, del.pkName, del.pkVal, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "DeleteDataByID error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.DeleteDataByID;DeleteDataByID对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据主键值,单表删除多记录,In操作 case ComFunCallEnum.BatchDeleteDataByIn: BatchDeleteDataByIn delBat = JsonConvert.DeserializeObject <BatchDeleteDataByIn>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.BatchDeleteDataByIn(connString, delBat.TableName, delBat.pkName, delBat.pkValues, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchDeleteDataByIn error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchDeleteDataByIn;BatchDeleteDataByIn对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据Where条件,单表删除多记录 case ComFunCallEnum.BatchDeleteDataByWhere: BatchDeleteDataByWhere delWhere = JsonConvert.DeserializeObject <BatchDeleteDataByWhere>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.BatchDeleteDataByWhere(connString, delWhere.TableName, delWhere.whereString, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchDeleteDataByWhere error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchDeleteDataByWhere;BatchDeleteDataByWhere对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据主键值,单表更新多记录,In操作 case ComFunCallEnum.BatchUpdateDataByIn: BatchUpdateDataByIn updaByIn = JsonConvert.DeserializeObject <BatchUpdateDataByIn>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.BatchUpdateDataByIn(connString, updaByIn.TableName, (Dictionary <string, string>)updaByIn.DicParam, updaByIn.pkName, updaByIn.pkValues, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchUpdateDataByIn error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchUpdateDataByIn;BatchUpdateDataByIn对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; // 根据Where条件,单表更新多记录 case ComFunCallEnum.BatchUpdateDataByWhere: BatchUpdateDataByWhere updaByWhere = JsonConvert.DeserializeObject <BatchUpdateDataByWhere>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.BatchUpdateDataByWhere(connString, updaByWhere.TableName, (Dictionary <string, string>)updaByWhere.DicParam, updaByWhere.whereString, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchUpdateDataByWhere error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchUpdateDataByWhere;BatchUpdateDataByWhere对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; // 批处理更新操作,普通型 case ComFunCallEnum.BatchUpdateDataMulti: BatchUpdateDataMulti updaMulti = JsonConvert.DeserializeObject <BatchUpdateDataMulti>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.BatchUpdateDataMulti(connString, updaMulti.batUpdateList, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchUpdateDataMulti error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchUpdateDataMulti;BatchUpdateDataMulti对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; // 批处理更新操作,事务型 case ComFunCallEnum.BatchUpdateDataMultiByTrans: BatchUpdateDataMultiByTrans updaMultiByTrans = JsonConvert.DeserializeObject <BatchUpdateDataMultiByTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.BatchUpdateDataMultiByTrans(connString, updaMultiByTrans.batUpdateList, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchUpdateDataMultiByTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchUpdateDataMultiByTrans;BatchUpdateDataMultiByTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,多次执行多条语句,多参数多次添加)多条语句,返回bool;参数为SQLObj. case ComFunCallEnum.BatchExeSQLMultiByTrans: BatchExeSQLMultiByTrans BatchExeSQLMultiByTrans = JsonConvert.DeserializeObject <BatchExeSQLMultiByTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.BatchExeSQLMultiByTrans(connString, BatchExeSQLMultiByTrans.batSQLObjList, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchExeSQLMultiByTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchExeSQLMultiByTrans;BatchExeSQLMultiByTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,多次执行多条语句,多参数多次添加)多条语句,返回bool;参数为SQLString. case ComFunCallEnum.BatchExeSQLStringMultiByTrans: BatchExeSQLStringMultiByTrans BatchExeSQLStringMultiByTrans = JsonConvert.DeserializeObject <BatchExeSQLStringMultiByTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.BatchExeSQLMultiByTrans(connString, BatchExeSQLStringMultiByTrans.batSQLStringList, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchExeSQLMultiByTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchExeSQLStringMultiByTrans;BatchExeSQLStringMultiByTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,一次执行多条语句,多参数一次添加)多条语句,返回bool case ComFunCallEnum.ExecuteNonQueryReturnBoolByTrans: ExecuteNonQueryReturnBoolByTrans ExeSQLMultiByTrans = JsonConvert.DeserializeObject <ExecuteNonQueryReturnBoolByTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.ExecuteNonQueryReturnBoolByTrans(connString, ExeSQLMultiByTrans.sqlObj.cmdType, ExeSQLMultiByTrans.sqlObj.sqlString, ExeSQLMultiByTrans.sqlObj.Param, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "ExecuteNonQueryReturnBoolByTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.ExecuteNonQueryReturnBoolByTrans;ExecuteNonQueryReturnBoolByTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,多次执行多条语句,没有参数)多条语句带事务(无备份操作记录功能,无SQL日志操作记录功能),返回带事务的bool执行结果 case ComFunCallEnum.BatchExeSQLStrMultiByTransNoLogNoBackup: BatchExeSQLStringMultiByTrans BatchExeSQLStringMultiByTransNoLog = JsonConvert.DeserializeObject <BatchExeSQLStringMultiByTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.BatchExeSQLStrMultiByTransNoLogNoBackup(connString, BatchExeSQLStringMultiByTransNoLog.batSQLStringList, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "BatchExeSQLStrMultiByTransNoLogNoBackup error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.BatchExeSQLStrMultiByTransNoLogNoBackup;BatchExeSQLStringMultiByTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,一次执行多条语句)多条语句(不带事务),返回bool。 case ComFunCallEnum.ExecuteNonQueryReturnBoolNoTrans: ExecuteNonQueryReturnBoolByTrans ExeSQLReturnBoolNoTrans = JsonConvert.DeserializeObject <ExecuteNonQueryReturnBoolByTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.ExecuteNonQueryReturnBoolNoTrans(connString, ExeSQLReturnBoolNoTrans.sqlObj.cmdType, ExeSQLReturnBoolNoTrans.sqlObj.sqlString, ExeSQLReturnBoolNoTrans.sqlObj.Param, userID); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "ExecuteNonQueryReturnBoolNoTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.ExecuteNonQueryReturnBoolNoTrans;ExecuteNonQueryReturnBoolNoTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,一次执行多条语句)多条语句(不带事务),返回影响行数Int。 case ComFunCallEnum.ExecuteNonQueryReturnIntNoTrans: ExecuteNonQueryReturnIntNoTrans ExeSQLReturnIntNoTrans = JsonConvert.DeserializeObject <ExecuteNonQueryReturnIntNoTrans>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); exeCount = BLL.DbCommon.Instance.ExecuteNonQueryReturnIntNoTrans(connString, ExeSQLReturnIntNoTrans.sqlObj.cmdType, ExeSQLReturnIntNoTrans.sqlObj.sqlString, ExeSQLReturnIntNoTrans.sqlObj.Param, userID); resp.IsSuccess = "1"; resp.ReturnObject = exeCount.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "ExecuteNonQueryReturnIntNoTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.ExecuteNonQueryReturnIntNoTrans;ExecuteNonQueryReturnIntNoTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,一次执行多条语句)多条语句(不带事务),返回Object。 case ComFunCallEnum.ExecuteNonQueryReturnObjectNoTrans: ExecuteNonQueryReturnDataSetNoTrans ExeSQLReturnObjNoTrans = JsonConvert.DeserializeObject <ExecuteNonQueryReturnDataSetNoTrans>(reqeObj.FunObject.ToString()); Object obj; try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); obj = BLL.DbCommon.Instance.ExecuteNonQueryReturnObjectNoTrans(connString, ExeSQLReturnObjNoTrans.sqlObj.cmdType, ExeSQLReturnObjNoTrans.sqlObj.sqlString, ExeSQLReturnObjNoTrans.sqlObj.Param, userID); resp.IsSuccess = "1"; resp.ReturnObject = obj == null ? "" : obj.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "ExecuteNonQueryReturnObjectNoTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.ExecuteNonQueryReturnObjectNoTrans;ExecuteNonQueryReturnObjectNoTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //一次执行(一次连接,一次执行多条语句)多条语句(不带事务),返回DataSet。 case ComFunCallEnum.ExecuteNonQueryReturnDataSetNoTrans: ExecuteNonQueryReturnDataSetNoTrans ExeSQLReturnDSNoTrans = JsonConvert.DeserializeObject <ExecuteNonQueryReturnDataSetNoTrans>(reqeObj.FunObject.ToString()); DataSet ds = new DataSet(); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringReadonly); ds = BLL.DbCommon.Instance.ExecuteNonQueryReturnDataSetNoTrans(connString, ExeSQLReturnDSNoTrans.sqlObj.cmdType, ExeSQLReturnDSNoTrans.sqlObj.sqlString, ExeSQLReturnDSNoTrans.sqlObj.Param, userID); resp.IsSuccess = "1"; resp.ReturnObject = JsonConvert.SerializeObject(ds); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "ExecuteNonQueryReturnDataSetNoTrans error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.ExecuteNonQueryReturnDataSetNoTrans;ExecuteNonQueryReturnDataSetNoTrans对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据查询条件,查单表,重点是Where条件,拼接SQL case ComFunCallEnum.SelOPSingleTable: SelOPSingleTable selOpSingTable = JsonConvert.DeserializeObject <SelOPSingleTable>(reqeObj.FunObject.ToString()); DataSet ds1 = new DataSet(); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringReadonly); ds1 = BLL.DbCommon.Instance.SelOPSingleTable(connString, selOpSingTable.Fields, selOpSingTable.TableName, selOpSingTable.whereString, selOpSingTable.AdditionalConditions, userID); //var jSetting = new JsonSerializerSettings(); //jSetting.NullValueHandling = NullValueHandling.Include; //jSetting.DefaultValueHandling = DefaultValueHandling.Include; //jSetting.MissingMemberHandling = MissingMemberHandling.Error; resp.IsSuccess = "1"; resp.ReturnObject = JsonConvert.SerializeObject(ds1); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "SelOPSingleTable error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.SelOPSingleTable;SelOPSingleTable对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据查询条件,查单表,查前几条,重点是Where条件,拼接SQL case ComFunCallEnum.SelTopOPSingleTable: SelTopOPSingleTable selTopOpSingTable = JsonConvert.DeserializeObject <SelTopOPSingleTable>(reqeObj.FunObject.ToString()); DataSet ds2 = new DataSet(); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringReadonly); ds2 = BLL.DbCommon.Instance.SelTopOPSingleTable(connString, selTopOpSingTable.TopNum, selTopOpSingTable.Fields, selTopOpSingTable.TableName, selTopOpSingTable.whereString, selTopOpSingTable.AdditionalConditions, userID); resp.IsSuccess = "1"; resp.ReturnObject = JsonConvert.SerializeObject(ds2); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "SelTopOPSingleTable error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.SelTopOPSingleTable;SelTopOPSingleTable对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; //根据通用的分页存储过程,分页查询GetListPageStoreProcedure(page, pageSize, tableSource, whereValue, OrderExpression, Fields, ref Counts); case ComFunCallEnum.SelOPByStoreProcePage: SelOPByStoreProcePage selOpBySPPage = JsonConvert.DeserializeObject <SelOPByStoreProcePage>(reqeObj.FunObject.ToString()); DataSet ds3 = new DataSet(); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringReadonly); ds3 = BLL.DbCommon.Instance.GetListPageStoreProcedure(connString, selOpBySPPage.PageIndex, selOpBySPPage.PageSize, selOpBySPPage.TableSource, selOpBySPPage.whereString, selOpBySPPage.OrderExpression, selOpBySPPage.Fields, userID, ref exeCount); resp.IsSuccess = "1"; resp.ReturnObject = JsonConvert.SerializeObject(ds3); resp.RecordCount = exeCount; } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "SelOPByStoreProcePage error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.SelOPByStoreProcePage;SelOPByStoreProcePage对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; /// <summary> /// SQLBulk方式操作带事务,无日志记录,无操作备份 /// </summary> /// <param name="connStr">数据库连接串</param> /// <param name="tableName">表名</param> /// <param name="listRow">DataRowList集合</param> /// <returns>SQLBulk批处理方式操作带事务,执行结果。全部成功,返回Bool True; 否则,返回False。</returns> case ComFunCallEnum.SqlBulkByTransNoLogNoBackUp: SqlBulkByTransNoLogNoBackUp SqlBulkNoLogNoBackUp = JsonConvert.DeserializeObject <SqlBulkByTransNoLogNoBackUp>(reqeObj.FunObject.ToString()); try { string connString = LocalVariable.GetConnString(GlobalStaticObj_Server.Instance.CurrAccDbName, ConfigConst.ConnectionStringWrite); result = BLL.DbCommon.Instance.SqlBulkByTransNoLogNoBackUp(connString, SqlBulkNoLogNoBackUp.tableName, SqlBulkNoLogNoBackUp.listRow); resp.IsSuccess = "1"; resp.ReturnObject = result.ToString(); } catch (Exception ex) { resp.IsSuccess = "0"; resp.Msg = "SqlBulkByTransNoLogNoBackUp error:" + ex.Message; ex.Data.Add("UserCustomDefinitionMsg", "准确点错误描述:ComFunCallEnum.SqlBulkByTransNoLogNoBackUp;SqlBulkByTransNoLogNoBackUp对象JSON字串描述:" + reqeObj.FunObject.ToString()); throw ex; } break; } exeCount = 0; return(resp); }
private bool Call(string opName, ReqeFunStruct request0, out RespFunStruct result) { return(CommonFuncCall.TryCallWCFFunc(opName, request0, out result)); }