/// <summary>
        /// 提交工单
        /// </summary>
        private void CommitTask()
        {
            Tasks  model  = getTaskModel();
            string strErr = "";

            if (ckboxCOther.Checked && model.F_COther.Length == 0)
            {
                strErr += LanguageResource.Language.GbVerifyItems + ">" + LanguageResource.Language.Tip_OtherInfoNoEmpty + "!\n";
            }
            if (model.F_Note.Trim().Length == 0)
            {
                strErr += LanguageResource.Language.Tip_RemarkNoEmpty + "!\n";
            }

            if (model.F_URInfo.Trim().Length == 0)
            {
                strErr += LanguageResource.Language.Tip_CreateWorkNeedUserAndRoleInfo + "!\\n";
            }
            if (strErr != "")
            {
                MsgBox.Show(strErr, LanguageResource.Language.Tip_Tip, MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            ComitDoControl(false);
            if (_tasktype.HasValue && SystemConfig.WillCallServicesWorkOrder.ContainsKey(_tasktype.Value))
            { //1 create work order 2 action
                msgCommand cmd = (msgCommand)Enum.Parse(typeof(msgCommand), SystemConfig.WillCallServicesWorkOrder[_tasktype.Value]);
                GSSModel.Request.RoleData role = new GSSModel.Request.RoleData()
                {
                    UserID    = UserID.Value,
                    RoleID    = RoleID.Value,
                    BigZoneId = BigZoneID,
                    ZoneId    = ZoneID
                };
                _clienthandle.BindCommandWithSend(cmd, this.Handle.ToInt32(), model, role);//setup:create task 2:recovery role
            }
            else
            {
                model.F_GameBigZone = BigZoneID.ToString();
                model.F_GameZone    = ZoneID.ToString();
                _clienthandle.AddTask(model);
            }
        }
Example #2
0
        public static string RecoveryRoleWithRollBack(GSSModel.Request.RoleData role)
        {
            string code = (new DBHandle()).RecoveryRole(role);

            if (code != true.ToString())
            {
                return(code);
            }
            //读取MySQL匹配的连接串
            string linkName   = string.Format("LKSV_GSS_6_ZoneRoleDataDB_{0}_{1}", role.BigZoneId, role.ZoneId);
            string query      = string.Format("select provider_string from sys.servers  where name='{0}'", linkName);
            string connString = string.Empty;

            System.Data.SqlClient.SqlDataReader d = DbHelperSQL.ExecuteReader(query);
            if (d.Read())
            {
                connString = d["provider_string"] as string;
            }
            d.Close();
            if (string.IsNullOrEmpty(connString))
            {// 远程数据库连接实例名出现异常
                return("4042");
            }
            //需要进行特殊项过滤: DRIVER,OPTION,STMT
            string         filter = FilterDBConnString(connString);
            DbHelperMySQLP db     = new DbHelperMySQLP(filter);

            MySqlParameter[] param = new MySqlParameter[] {
                new MySqlParameter("ROLEID", MySqlDbType.Int32)
                {
                    Value = role.RoleID
                },
                new MySqlParameter("USERID", MySqlDbType.Int32)
                {
                    Value = role.UserID
                },
                new MySqlParameter("OverRoleID", MySqlDbType.Int32)
                {
                    Value = role.RoleID
                },
                new MySqlParameter("OverUserID", MySqlDbType.Int32)
                {
                    Value = role.UserID
                },
                new MySqlParameter("CODE", MySqlDbType.Int32)
            };
            param[param.Length - 1].Direction = ParameterDirection.Output;
            string msg  = db.RunNoQueryProcedure("TakeRoleData", param);
            object outd = param[param.Length - 1].Value;

            if (outd == null)
            {
                return(msg);
            }
            int c = (int)outd;

            if (c > 0)
            {
                return(true.ToString());
            }
            return(msg);
        }