/// <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); } }
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); }