Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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)));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        /// <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);
        }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
        /// <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));
        }
Ejemplo n.º 10
0
        /// <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)));
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
 private bool Call(string opName, ReqeFunStruct request0, out RespFunStruct result)
 {
     return(CommonFuncCall.TryCallWCFFunc(opName, request0, out result));
 }