public void selectUserTransitionUtteranceOption(int transitionId, string userNote) { //--Data Base Access Variables-- MySql.Data.MySqlClient.MySqlCommand dbCommand = new MySql.Data.MySqlClient.MySqlCommand(); MySql.Data.MySqlClient.MySqlConnection dbConnection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); dbCommand.Connection = dbConnection; //----------------------------- int queryResult = -1; try { dbConnection.Open(); TTransitionUtterance tTransitionUtterance = getTransitionUtterance(transitionId); THistory tHistory = new THistory(tTransitionUtterance.simulation_id, tTransitionUtterance.id, userNote, -1, "", DateTime.Now); addHistory(tHistory); do { dbCommand.CommandText = "DELETE FROM TB_TRANSITION_UTTERANCES WHERE simulation_id = " + tTransitionUtterance.simulation_id + " AND history_id = -1"; queryResult = dbCommand.ExecuteNonQuery(); //Futuramente deletar os que não possuem correspondência. } while (queryResult < 0); } catch { System.Threading.Thread.Sleep(20000); } dbConnection.Close(); }
public TTransitionUtterance getTransitionUtterance(int transitionId) { //--Data Base Access Variables-- MySql.Data.MySqlClient.MySqlCommand dbCommand = new MySql.Data.MySqlClient.MySqlCommand(); MySql.Data.MySqlClient.MySqlConnection dbConnection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); MySql.Data.MySqlClient.MySqlDataReader dbDataReader; dbCommand.Connection = dbConnection; //----------------------------- dbCommand.CommandText = "SELECT * FROM TB_TRANSITION_UTTERANCES WHERE (id = " + transitionId + ")"; try { dbConnection.Open(); TTransitionUtterance tTransitionUtterance; dbDataReader = dbCommand.ExecuteReader(); dbDataReader.Read(); tTransitionUtterance = new TTransitionUtterance(transitionId, Convert.ToInt32(dbDataReader["simulation_id"]), Convert.ToInt32(dbDataReader["history_id"]), Convert.ToString(dbDataReader["xml_id"]), Convert.ToString(dbDataReader["description"]), dbDataReader["emitter"].ToString(), Convert.ToBoolean(dbDataReader["isBreakdown"]), dbDataReader["source"].ToString(), dbDataReader["target"].ToString(), Convert.ToInt32(dbDataReader["legend"]), dbDataReader["source_topic"].ToString()); dbDataReader.Close(); dbConnection.Close(); return(tTransitionUtterance); } catch { dbConnection.Close(); System.Threading.Thread.Sleep(20000); return(null); } }
/* void showSignsAndImgLegend(string interactionModel) * { * string targetTagName; * Image imgLegend = imgListLegends.Images[0]; * listBoxLocation.Items.Clear(); * //###### Set Img Legend ###### * XPathNavigator nav = xmlDocument.CreateNavigator(); * // Compile a standard XPath expression * XPathExpression expr; * expr = nav.Compile("//*[@id='" + interactionModel + "']"); * XPathNodeIterator iterator = nav.Select(expr); * if (iterator.MoveNext()) * { * XPathNavigator nav2 = iterator.Current.Clone(); * switch (nav2.Name) * { * case "scene": * targetTagName = "scene"; * imgLegend = imgListLegends.Images[1]; * break; * case "closingPoint": * targetTagName = "closingPoint"; * imgLegend = imgListLegends.Images[4]; * break; * case "systemProcess": * targetTagName = "systemProcess"; * imgLegend = imgListLegends.Images[5]; * break; * case "ubiquitousAccess": * targetTagName = "ubiquitousAccess"; * imgLegend = imgListLegends.Images[6]; * break; * } * * if (((this.transitionUtteranceChoosed.emitter == "user") && (interactionModel != "systemProcess")) || (interactionModel == "scene")) * dataGridHistory.Rows.Add(imgLegend, "ID - " + interactionModel, imgListLegends.Images[0], ""); * else * dataGridHistory.Rows.Add(imgListLegends.Images[0], "", imgLegend, "ID - " + interactionModel); * * //if (nav2.InnerXml == "") * // return; * listBoxLocation.Items.Clear(); * dgSigns.Rows.Clear(); * if (nav2.InnerXml == "") * return; * XmlDocument xmlDocumentLocal = new XmlDocument(); * xmlDocumentLocal.InnerXml = nav2.InnerXml; * XmlNodeList situatedSignTokenNodes = xmlDocumentLocal.GetElementsByTagName("situatedSignToken"); * for (int countSigns = 0; countSigns < situatedSignTokenNodes.Count; countSigns++) * { * //Get sign * string sign = getAttributeFromXml("situatedSignToken", situatedSignTokenNodes[countSigns].InnerXml, "name"); * listBoxLocation.Items.Add("Sign: " + sign); * dgSigns.Rows.Add(sign, ""); * //####################### * } * if (situatedSignTokenNodes.Count <= 0) * { * listBoxLocation.Items.Add("No signs found!"); * dgSigns.Enabled = false; * } * } * }*/ void showInteractionPosition() { try { TTransitionUtterance transitionUtterance = (TTransitionUtterance)listBoxOptions.Items[0]; Image imgLegend = imgListLegends.Images[0]; //####### Set Location ######## if (transitionUtterance.source.Contains("scene")) { imgLegend = imgListLegends.Images[1]; } if (transitionUtterance.source.Contains("system")) { imgLegend = imgListLegends.Images[5]; } if (transitionUtterance.source.Contains("op")) { imgLegend = imgListLegends.Images[3]; } //pbLocation.Image = imgLegend; //############################# } catch { //Set Location //pbLocation.Image = imgListLegends.Images[3]; lblSpeaker.Text = "Please, choose a Opening Point to START."; } }
public int addUserTransitionUtteranceOption(TTransitionUtterance tTransitionUtterance, List <TDialog> tDialogs) { //--Data Base Access Variables-- MySql.Data.MySqlClient.MySqlCommand dbCommand = new MySql.Data.MySqlClient.MySqlCommand(); MySql.Data.MySqlClient.MySqlConnection dbConnection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); MySql.Data.MySqlClient.MySqlDataReader dbDataReader; dbCommand.Connection = dbConnection; //----------------------------- int transitionId = -1; int queryResult = 0; try { dbConnection.Open(); while (queryResult <= 0) { dbCommand.CommandText = "INSERT INTO TB_TRANSITION_UTTERANCES (simulation_id, history_id, xml_id, description, emitter, isBreakdown, source, target, legend, source_topic) VALUES(" + tTransitionUtterance.simulation_id.ToString() + ", -1, '" + tTransitionUtterance.xml_id + "', '" + tTransitionUtterance.description + "', '" + tTransitionUtterance.emitter + "'," + tTransitionUtterance.isBreakdown.ToString() + ", '" + tTransitionUtterance.source + "', '" + tTransitionUtterance.target + "', " + tTransitionUtterance.legend + ",'" + tTransitionUtterance.source_topic + "')"; queryResult = dbCommand.ExecuteNonQuery(); } dbCommand.CommandText = "SELECT * FROM TB_TRANSITION_UTTERANCES WHERE (simulation_id = " + tTransitionUtterance.simulation_id.ToString() + ") AND (xml_id = '" + tTransitionUtterance.xml_id + "') AND (history_id = -1)"; dbDataReader = dbCommand.ExecuteReader(); dbDataReader.Read(); transitionId = Convert.ToInt32(dbDataReader["id"]); dbDataReader.Close(); if (tDialogs != null) { for (int countDialogs = 0; countDialogs < tDialogs.Count; countDialogs++) { dbCommand.CommandText = "INSERT INTO TB_DIALOGS (transition_id, dialog) VALUES(" + transitionId + ", '" + tDialogs[countDialogs].dialog + "')"; dbCommand.ExecuteNonQuery(); if (tDialogs[countDialogs].signs != null) { dbDataReader.Close(); dbCommand.CommandText = "SELECT * FROM TB_DIALOGS WHERE (transition_id = " + transitionId + ") AND (dialog = '" + tDialogs[countDialogs].dialog + "')"; dbDataReader = dbCommand.ExecuteReader(); dbDataReader.Read(); int dialogId = Convert.ToInt32(dbDataReader["id"]); dbDataReader.Close(); for (int countSigns = 0; countSigns < tDialogs[countDialogs].signs.Count; countSigns++) { dbCommand.CommandText = "INSERT INTO TB_SIGNS (dialog_id, sign, sign_value) VALUES(" + dialogId.ToString() + ", '" + tDialogs[countDialogs].signs[countSigns].sign + "', '" + tDialogs[countDialogs].signs[countSigns].sign_value + "')"; dbCommand.ExecuteNonQuery(); } } } } dbDataReader.Close(); dbConnection.Close(); } catch (Exception e) { dbConnection.Close(); System.Threading.Thread.Sleep(20000); } return(queryResult); }
/// <summary> /// Get XML TransitionUtterances with a specific SOURCE /// </summary> /// <param name="source"></param> /// <returns></returns> private List <TTransitionUtterance> getXmlTransitionUtterances(string source) { TTransitionUtterance transitionUtteranceAux = null; List <TTransitionUtterance> listTransitionUtterances = new List <TTransitionUtterance>(); listTransitionUtterances.Clear(); //####### Get TransitionUtterance with SOURCE = source ####### XmlNodeList transitionUtteranceNodes = xmlDocument.GetElementsByTagName("transitionUtterance"); for (int count = 0; count < transitionUtteranceNodes.Count; count++) { //TransitionUtterance with SOURCE = source => AddTransitionUtterance if (transitionUtteranceNodes[count].Attributes["source"].Value == source) { transitionUtteranceAux = new TTransitionUtterance(); transitionUtteranceAux.simulation_id = simulationId; transitionUtteranceAux.xml_id = transitionUtteranceNodes[count].Attributes["id"].Value; transitionUtteranceAux.source = source; transitionUtteranceAux.target = transitionUtteranceNodes[count].Attributes["target"].Value; transitionUtteranceAux.isBreakdown = Convert.ToBoolean(transitionUtteranceNodes[count].Attributes["isBreakdown"].Value); transitionUtteranceAux.emitter = transitionUtteranceNodes[count].Attributes["emitter"].Value; transitionUtteranceAux.description = transitionUtteranceNodes[count].Attributes["description"].Value; //------ Set Transition Legend and Topic/Title ------ int legendId = 0; if (transitionUtteranceAux.source.Contains("scene")) { legendId = 1; transitionUtteranceAux.source_topic = getAttributeFromXml("scene", transitionUtteranceAux.source, "topic"); } if (transitionUtteranceAux.source.Contains("system")) { legendId = 5; transitionUtteranceAux.source_topic = transitionUtteranceAux.source; } if (transitionUtteranceAux.source.Contains("op")) { legendId = 3; transitionUtteranceAux.source_topic = "Choose the first dialog"; } //--------------------------------- transitionUtteranceAux.legend = legendId; listTransitionUtterances.Add(transitionUtteranceAux); } } return(listTransitionUtterances); //############################################################## }
private void proceedConversation() { if (listBoxOptions.Items.Count <= 0) { //##### USER TURN ##### THistory tHistory = DbControl.getInstance().getLastHistory(simulationId); tHistory.designer_note = txtDesignerNote.Text; DbControl.getInstance().setHistory(tHistory); dataGridHistory.Rows[dataGridHistory.Rows.Count - 2].Cells[5].Value = tHistory.designer_note; //Wait For User Response callNextSpeakerAndWait(); txtDesignerNote.Text = ""; continueNavigation(); //##################### } else { //##### DESIGNER TURN ##### if (listBoxOptions.SelectedIndex < 0) { return; } TTransitionUtterance tTransitionUtterance = (TTransitionUtterance)listBoxOptions.SelectedItem; int transitionId = DbControl.getInstance().addTransitionUtterance(tTransitionUtterance, null); THistory tHistory = new THistory(tTransitionUtterance.simulation_id, -1, "", transitionId, txtDesignerNote.Text, DateTime.Now); DbControl.getInstance().addHistory(tHistory); txtDesignerNote.Text = ""; //Continue... continueNavigation(); //Clear "listBoxOptions" with the Designer's selected Option listBoxOptions.Items.Clear(); //Wait For User Response callNextSpeakerAndWait(); //Continue... continueNavigation(); //######################### } }
public void addDialogOption(TTransitionUtterance transitionUtterance) { listBoxOptions.Items.Add(transitionUtterance); }