Пример #1
0
        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();
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
/*        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.";
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
        /// <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);
            //##############################################################
        }
Пример #6
0
        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);
 }