Example #1
0
        private void CreaAlberoButton_Click(object sender, RoutedEventArgs e)
        {
            if ((!checkParameters(NomeCreaTextBox.Text, TipoTextBox.Text, SplitSizeCreaTextBox.Text, DepthCreaTextBox.Text)) || edgeAttrList.Count == 0 || vertexAttrList.Count == 0)
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Riempire tutti i campi!");
                error.ShowDialog();
            }
            else
            {
                //Nome$Tipo$Splitsize$Depth
                String toSend = NomeCreaTextBox.Text + "$" + TipoTextBox.Text + "$" + SplitSizeCreaTextBox.Text + "$" + DepthCreaTextBox.Text;
                client.write(toSend);

                //NomeAttrVertex1#tipoAttr:valore$NomeAttrVertex2#tipoAttr2:valore2$etc
                toSend = dictAttrParser(vertexAttrList);
                client.write(toSend);
                //NomeAttrEdge1#tipoAttr:valore$NomeAttrEdge2#tipoAttr2:valore2$etc
                toSend = dictAttrParser(edgeAttrList);
                client.write(toSend);

                int    length  = int.Parse(client.read());
                byte[] fileXml = new byte[length];
                client.stream.Read(fileXml, 0, length);

                using (FileStream fileStr = new FileStream(NomeCreaTextBox.Text + ".exi", FileMode.Create, System.IO.FileAccess.Write))
                {
                    fileStr.Write(fileXml, 0, length);
                }

                ParametersErrorWindow err = new ParametersErrorWindow(true, NomeCreaTextBox.Text + ".exi creato!");
                err.ShowDialog();
                this.Close();
            }
        }
Example #2
0
        private void EsportaButton_Click(object sender, RoutedEventArgs e)
        {
            if (file.Equals(""))
            {
                ParametersErrorWindow err = new ParametersErrorWindow(false, "Selezionare file albero");
                err.ShowDialog();
            }
            else
            {
                client.write(file);
                int length = int.Parse(client.read());
                byte[] fileXml = new byte[length];
                client.stream.Read(fileXml, 0, length);

                using (FileStream fileStr = new FileStream(file + ".exi", FileMode.Create, System.IO.FileAccess.Write))
                {
                    fileStr.Write(fileXml, 0, length);

                }

                ParametersErrorWindow err = new ParametersErrorWindow(true, file + ".exi creato!");
                err.ShowDialog();

                
            }

            this.Close();

        }
Example #3
0
 private void CaricaFileButton_Click(object sender, RoutedEventArgs e)
 {
     if (PathFileTextBox.Text.Equals(""))
     {
         ParametersErrorWindow error = new ParametersErrorWindow(false, "Inserire path file!");
         error.ShowDialog();
     }
     else
     {
         byte[] arr = File.ReadAllBytes(PathFileTextBox.Text);
         client.write(arr.Length.ToString());
         client.stream.Write(arr, 0, arr.Length);
         /***Lettura delle risposta dal server***/
         String response = client.read();
         if (response.Equals("0"))
         {
             ParametersErrorWindow error = new ParametersErrorWindow(true, "File importato");
             error.ShowDialog();
             this.Close();
         }
         else
         {
             ParametersErrorWindow error = new ParametersErrorWindow(false, "Errore nell'importazione");
             error.ShowDialog();
             this.Close();
         }
     }
 }
Example #4
0
        private void EsportaButton_Click(object sender, RoutedEventArgs e)
        {
            if (file.Equals(""))
            {
                ParametersErrorWindow err = new ParametersErrorWindow(false, "Selezionare file albero");
                err.ShowDialog();
            }
            else
            {
                client.write(file);
                int    length  = int.Parse(client.read());
                byte[] fileXml = new byte[length];
                client.stream.Read(fileXml, 0, length);

                using (FileStream fileStr = new FileStream(file + ".exi", FileMode.Create, System.IO.FileAccess.Write))
                {
                    fileStr.Write(fileXml, 0, length);
                }

                ParametersErrorWindow err = new ParametersErrorWindow(true, file + ".exi creato!");
                err.ShowDialog();
            }

            this.Close();
        }
Example #5
0
 private void ConfermaModButton_Click(object sender, RoutedEventArgs e)
 {
     if (!isSelected || !int.TryParse(NodInitListBox.Text, out nodIniz) || !int.TryParse(NodFinListBox.Text, out nodFin) || newEdgeAttrList.Count == 0 && newNodeAttrList.Count == 0)
     {
         /* int edit(String graphName,int startNode,int endNode, Dictionary<String, String> newNodeAttrList, Dictionary<String, String> newEdgeAttrList, DatabaseInterface dbConnection);*/
         ParametersErrorWindow error = new ParametersErrorWindow(false, "Controllare i parametri");
         error.ShowDialog();
     }
     else
     {
         /*nomeAlbero$NodoInizio$NodoFine*/
         this.nomeStartEnd += albero + "$" + NodInitListBox.Text + "$" + NodFinListBox.Text;
         client.write(nomeStartEnd);
         /*nomeAttrVertex1:newVal1$nomeAttrVertex2:newVal2$etc*/
         this.nodeString = parseAttrDict(newNodeAttrList);
         client.write(nodeString);
         /*nomeAttrEdge1:newVal1$nomeAttrEdge2:newVal2$etc*/
         this.edgeString = parseAttrDict(newEdgeAttrList);
         client.write(edgeString);
         if (client.read().Equals("1"))
         {
             ParametersErrorWindow result = new ParametersErrorWindow(false, "Errore nella modifica");
             result.ShowDialog();
             this.Close();
         }
         else
         {
             ParametersErrorWindow result = new ParametersErrorWindow(true, "Modifica avvenuta con successo");
             result.ShowDialog();
             this.Close();
         }
     }
 }
Example #6
0
 private void ConfeNewValButton_Click(object sender, RoutedEventArgs e)
 {
     if (NomAttrLabel.Content.ToString().Equals(""))
     {
         ParametersErrorWindow error = new ParametersErrorWindow(false, "Selezionare un attributo");
         error.ShowDialog();
     }
     else if (type.Equals("numeric") && (!int.TryParse(NValTextBox.Text, out num)))
     {
         ParametersErrorWindow error = new ParametersErrorWindow(false, "Attributo di tipo 'numeric'");
         error.ShowDialog();
     }
     else
     {
         /*Dopo che ho inserito il nuovo valore aggiungo la coppia Nome:val al dizionario*/
         if (NomAttrLabel.Content.ToString().Contains("Arco"))
         {
             newEdgeAttrList.Add(NomAttrLabel.Content.ToString().Split('[')[0], NValTextBox.Text);
         }
         else
         {
             newNodeAttrList.Add(NomAttrLabel.Content.ToString().Split('[')[0], NValTextBox.Text);
         }
     }
 }
Example #7
0
 private void CaricaFileButton_Click(object sender, RoutedEventArgs e)
 {
     if (PathFileTextBox.Text.Equals(""))
     {
         ParametersErrorWindow error = new ParametersErrorWindow(false, "Inserire path file!");
         error.ShowDialog();
     }
     else
     {
         byte[] arr = File.ReadAllBytes(PathFileTextBox.Text);
         client.write(arr.Length.ToString());
         client.stream.Write(arr, 0, arr.Length);
         /***Lettura delle risposta dal server***/
         String response = client.read();
         if (response.Equals("0"))
         {
             ParametersErrorWindow error = new ParametersErrorWindow(true, "File importato");
             error.ShowDialog();
             this.Close();
         }
         else
         {
             ParametersErrorWindow error = new ParametersErrorWindow(false, "Errore nell'importazione");
             error.ShowDialog();
             this.Close();
         }
     }
 }
Example #8
0
 private void buttCalcAlb_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Calcola"))
     {
         CalcoloSuAlberoWindow calcoloSuAlberoWindow = new CalcoloSuAlberoWindow(client);
         calcoloSuAlberoWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
 }
Example #9
0
 private void buttModAlb_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Modifica"))
     {
         ModificaAlberoWindow modificaAlberoWindow = new ModificaAlberoWindow(client);
         modificaAlberoWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
 }
Example #10
0
 private void buttCreaAlb_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Crea"))
     {
         CreaAlberoWindow creaAlberoWindow = new CreaAlberoWindow(treeHandler, attrDef, client);
         creaAlberoWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
 }
Example #11
0
 private void buttEspFile_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Esporta"))
     {
         EsportaFileWindow esportaFileWindow = new EsportaFileWindow(client, treeHandler);
         esportaFileWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
 }
Example #12
0
 private void buttImpFile_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Importa"))
     {
         ImportaFileWindow importaFileWindow = new ImportaFileWindow(client);
         importaFileWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
 }
Example #13
0
 private void buttEspFile_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Esporta"))
     {
         EsportaFileWindow esportaFileWindow = new EsportaFileWindow(client,treeHandler);
         esportaFileWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
    
 }
Example #14
0
        private void buttImpFile_Click(object sender, RoutedEventArgs e)
        {

            if(checkOp("Importa"))
            {
                ImportaFileWindow importaFileWindow = new ImportaFileWindow(client);
                importaFileWindow.ShowDialog();
            }
            else
            {
                ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
                err.ShowDialog();
            }
        }
Example #15
0
        private void buttCreaAlb_Click(object sender, RoutedEventArgs e)
        {

            if (checkOp("Crea"))
            {
              CreaAlberoWindow creaAlberoWindow = new CreaAlberoWindow(treeHandler, attrDef, client);
              creaAlberoWindow.ShowDialog();
                
            }
            else
            {
                ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
                err.ShowDialog();
            }
        }
Example #16
0
        public bool connect()
        {
            try
            {
                client.Connect(ipAddress, portNum);

                this.sReader = new StreamReader(client.GetStream(), Encoding.UTF8);
                this.sWriter = new StreamWriter(client.GetStream(), Encoding.UTF8);
                this.stream = client.GetStream();
                return true;
            }
            catch (Exception sockEx)
            {
                ParametersErrorWindow errConn = new ParametersErrorWindow(false, "Errore Connessione");
                errConn.ShowDialog();
                client.Close();
                return false;
            }
        }
Example #17
0
        public bool connect()
        {
            try
            {
                client.Connect(ipAddress, portNum);

                this.sReader = new StreamReader(client.GetStream(), Encoding.UTF8);
                this.sWriter = new StreamWriter(client.GetStream(), Encoding.UTF8);
                this.stream  = client.GetStream();
                return(true);
            }
            catch (Exception sockEx)
            {
                ParametersErrorWindow errConn = new ParametersErrorWindow(false, "Errore Connessione");
                errConn.ShowDialog();
                client.Close();
                return(false);
            }
        }
Example #18
0
 private void AggiungiButton_Click(object sender, RoutedEventArgs e)
 {
     if (NomAttrLabel.Content.ToString().Equals(""))
     {
         ParametersErrorWindow error = new ParametersErrorWindow(false, "Selezionare un attributo");
         error.ShowDialog();
     }
     else
     {
         if (NomAttrLabel.Content.ToString().Contains("Arco"))
         {
             attrArchi.Add(NomAttrLabel.Content.ToString().Split('(')[0]);
         }
         else
         {
             attrNodi.Add(NomAttrLabel.Content.ToString().Split('(')[0]);
         }
     }
 }
Example #19
0
        private void CalcoloButton_Click(object sender, RoutedEventArgs e)
        {
            if (!isSelected || !int.TryParse(NodInizioListBox.Text, out nodIniz) || !int.TryParse(NodFineListBox.Text, out nodFin) || attrArchi.Count == 0 && attrNodi.Count == 0)
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Controllare i parametri");
                error.ShowDialog();
            }
            else
            {
                /*nomeAlbero$NodoInizio$NodoFine*/
                this.nomeStartEnd += albero + "$" + NodInizioListBox.Text + "$" + NodFineListBox.Text;
                client.write(nomeStartEnd);
                /*nomeAttrVertex1$nomeAttrVertex2$etc*/
                this.nodeString = parseAttrDict(attrNodi);
                client.write(nodeString);
                /*nomeAttrEdge1$nomeAttrEdge2$etc*/
                this.edgeString = parseAttrDict(attrArchi);
                client.write(edgeString);

                ParametersErrorWindow result = new ParametersErrorWindow(true, "Il risultato è: " + client.read());
                result.ShowDialog();
                this.Close();
            }
        }
Example #20
0
/*_________________Metodo che si connette al server e al db specificati dai parametri___________________________________________*/ 
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            /*controlla se i parametri sono errati*/
            if (!CheckParameters())
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Parametri errati");
                error.ShowDialog();
            }

            /*Se i parametri sono sintatticamente corretti*/
            else
            {
                /*parsing parametri*/
                IPAddress ip = IPAddress.Parse(IPStartTextBox.Text);
                int porta = Int32.Parse(PortStartTextBox.Text);
            /*______-----1-------Connettersi al Server_________________________*/
                ClientClass clientGui = new ClientClass(ip, porta);
                /*verifica il successo della connessione con il server*/
                if (!clientGui.connect())
                {
                    this.Close();
                    return;
                }
            
            /*______-----2-------Inviare username e password al server_________*/
                String parameters = IpDBTextBox.Text + '$' + UsernameTextBoxStart.Text + '$' + PasswordBoxStart.Password;
                clientGui.write(parameters);
          
            /*______-----3--------Check login database andato a buon fine_______*/
                String checkAuth = clientGui.read();
                /*-3.1- Se l'autenticazione non è andata a buon fine il server ci ritorna "1", altrimenti "0" */
                if (checkAuth.Equals("1"))
                {
                    ParametersErrorWindow errorAuth = new ParametersErrorWindow(false, "Auth DB fallita");
                    errorAuth.ShowDialog();
                    clientGui.disconnect();
                }/*Fine if-autenticazione non andata a buon fine*/
                else
                /*-3.2-Autenticazione andata a buon fine*/
                {
            /*______-----4-------Salvare in una strutturadati i dati dei database ricevuti dal server*/
                    String treeParameters = clientGui.read();
                    TreeHandler[] treeHandler;
                    if (!treeParameters.Equals("Vuoto"))
                    {

                        /*-4.1- I parametri arrivano nel formato seguente "NomeAlbero#attr1Vertex?tipo:attr2Vertex?tipo#attrEdge?tipo:attrEdge2?tipo$NomeAlbero2#etc*/

                        treeHandler = fillTreeHandl(treeParameters);
                    }
                    else
                    {
                        treeHandler = new TreeHandler[0];
                    }
           /*______-----5-------Una volta che il server ci ha inviato la lista degli alberi con gli attributi,viene inviata l'attribute definition */
                    Dictionary<String, String> attrDef = attrDefPars(clientGui.read());
                    
           /*______-----6-------Instanziare finestra TreeView passando al costruttore treeHandler[] e attrDef e client*/
                    TreeView treeView = new TreeView(treeHandler, attrDef, clientGui);
                    treeView.Show();
                    this.Close();
                }/*Fine if-autenticazione andata a buon-fine*/
            }/*Fine if-Se i parametri sono sintatticamente corretti*/
        }/*Fine funzione ConnectButton_Click*/
        private void ConfermaModButton_Click(object sender, RoutedEventArgs e)
        {
            if (!isSelected || !int.TryParse(NodInitListBox.Text, out nodIniz) || !int.TryParse(NodFinListBox.Text, out nodFin) || newEdgeAttrList.Count == 0 && newNodeAttrList.Count == 0)
            {
                /* int edit(String graphName,int startNode,int endNode, Dictionary<String, String> newNodeAttrList, Dictionary<String, String> newEdgeAttrList, DatabaseInterface dbConnection);*/
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Controllare i parametri");
                error.ShowDialog();
           
            }
            else
            {
                /*nomeAlbero$NodoInizio$NodoFine*/
                this.nomeStartEnd += albero + "$" + NodInitListBox.Text + "$" + NodFinListBox.Text;
                client.write(nomeStartEnd);
                /*nomeAttrVertex1:newVal1$nomeAttrVertex2:newVal2$etc*/
                this.nodeString = parseAttrDict(newNodeAttrList);
                client.write(nodeString);
                /*nomeAttrEdge1:newVal1$nomeAttrEdge2:newVal2$etc*/
                this.edgeString = parseAttrDict(newEdgeAttrList);
                client.write(edgeString);
                if (client.read().Equals("1"))
                {
                    ParametersErrorWindow result = new ParametersErrorWindow(false, "Errore nella modifica");
                    result.ShowDialog();
                    this.Close();
                }
                else
                {
                    ParametersErrorWindow result = new ParametersErrorWindow(true, "Modifica avvenuta con successo");
                    result.ShowDialog();
                    this.Close();
                }
            }

            
        }
        private void ConfeNewValButton_Click(object sender, RoutedEventArgs e)
        {
            if (NomAttrLabel.Content.ToString().Equals(""))
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Selezionare un attributo");
                error.ShowDialog();
            }
            else if (type.Equals("numeric") && (!int.TryParse(NValTextBox.Text, out num)))
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Attributo di tipo 'numeric'");
                error.ShowDialog();
            }
            else
            {

                /*Dopo che ho inserito il nuovo valore aggiungo la coppia Nome:val al dizionario*/
                if (NomAttrLabel.Content.ToString().Contains("Arco"))
                {
                    newEdgeAttrList.Add(NomAttrLabel.Content.ToString().Split('[')[0], NValTextBox.Text);
                }
                else
                {
                    newNodeAttrList.Add(NomAttrLabel.Content.ToString().Split('[')[0], NValTextBox.Text);
                }
            }
            
        }
Example #23
0
/*_________________Metodo che si connette al server e al db specificati dai parametri___________________________________________*/
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            /*controlla se i parametri sono errati*/
            if (!CheckParameters())
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Parametri errati");
                error.ShowDialog();
            }

            /*Se i parametri sono sintatticamente corretti*/
            else
            {
                /*parsing parametri*/
                IPAddress ip    = IPAddress.Parse(IPStartTextBox.Text);
                int       porta = Int32.Parse(PortStartTextBox.Text);
                /*______-----1-------Connettersi al Server_________________________*/
                ClientClass clientGui = new ClientClass(ip, porta);
                /*verifica il successo della connessione con il server*/
                if (!clientGui.connect())
                {
                    this.Close();
                    return;
                }

                /*______-----2-------Inviare username e password al server_________*/
                String parameters = IpDBTextBox.Text + '$' + UsernameTextBoxStart.Text + '$' + PasswordBoxStart.Password;
                clientGui.write(parameters);

                /*______-----3--------Check login database andato a buon fine_______*/
                String checkAuth = clientGui.read();
                /*-3.1- Se l'autenticazione non è andata a buon fine il server ci ritorna "1", altrimenti "0" */
                if (checkAuth.Equals("1"))
                {
                    ParametersErrorWindow errorAuth = new ParametersErrorWindow(false, "Auth DB fallita");
                    errorAuth.ShowDialog();
                    clientGui.disconnect();
                }/*Fine if-autenticazione non andata a buon fine*/
                else
                /*-3.2-Autenticazione andata a buon fine*/
                {
                    /*______-----4-------Salvare in una strutturadati i dati dei database ricevuti dal server*/
                    String        treeParameters = clientGui.read();
                    TreeHandler[] treeHandler;
                    if (!treeParameters.Equals("Vuoto"))
                    {
                        /*-4.1- I parametri arrivano nel formato seguente "NomeAlbero#attr1Vertex?tipo:attr2Vertex?tipo#attrEdge?tipo:attrEdge2?tipo$NomeAlbero2#etc*/

                        treeHandler = fillTreeHandl(treeParameters);
                    }
                    else
                    {
                        treeHandler = new TreeHandler[0];
                    }
                    /*______-----5-------Una volta che il server ci ha inviato la lista degli alberi con gli attributi,viene inviata l'attribute definition */
                    Dictionary <String, String> attrDef = attrDefPars(clientGui.read());

                    /*______-----6-------Instanziare finestra TreeView passando al costruttore treeHandler[] e attrDef e client*/
                    TreeView treeView = new TreeView(treeHandler, attrDef, clientGui);
                    treeView.Show();
                    this.Close();
                } /*Fine if-autenticazione andata a buon-fine*/
            }     /*Fine if-Se i parametri sono sintatticamente corretti*/
        }         /*Fine funzione ConnectButton_Click*/
Example #24
0
 private void buttCalcAlb_Click(object sender, RoutedEventArgs e)
 {
     if (checkOp("Calcola"))
     {
         CalcoloSuAlberoWindow calcoloSuAlberoWindow = new CalcoloSuAlberoWindow(client);
         calcoloSuAlberoWindow.ShowDialog();
     }
     else
     {
         ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
         err.ShowDialog();
     }
     
 }
Example #25
0
        private void buttModAlb_Click(object sender, RoutedEventArgs e)
        {
            if (checkOp("Modifica"))
            {

               ModificaAlberoWindow modificaAlberoWindow = new ModificaAlberoWindow(client);
               modificaAlberoWindow.ShowDialog();
            }
            else
            {
                ParametersErrorWindow err = new ParametersErrorWindow(false, "Errore lato server..");
                err.ShowDialog();
            }
            
        }
Example #26
0
        private void ConfermaAttrButton_Click(object sender, RoutedEventArgs e)
        {
            int tmp, temp;

            /*checkbox nodo selezionato*/
            if ((bool)NodoCheckBox.IsChecked)
            {
                /*Default String*/
                if (type.Equals("string"))
                {
                    if (!(DefStringTextBox.Text.Equals("")))
                    {
                        vertexAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { "string", DefStringTextBox.Text });
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire stringa di default ");
                        err.ShowDialog();
                    }
                }
                /*Fine Default String*/

                /*Numero random*/
                else if (type.Equals("numeric"))
                {
                    if (!(MinNumTextBox.Text.Equals("") || MaxNumTextBox.Text.Equals("")))
                    {
                        if (int.TryParse(MinNumTextBox.Text, out tmp) && int.TryParse(MaxNumTextBox.Text, out temp))
                        {
                            vertexAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { "numeric", MinNumTextBox.Text + "-" + MaxNumTextBox.Text });
                        }
                        else
                        {
                            ParametersErrorWindow err = new ParametersErrorWindow(false, "Range non valido");
                        }
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire range");
                        err.ShowDialog();
                    }
                }
                /*Fine Numero random*/
                else
                {
                    ParametersErrorWindow err = new ParametersErrorWindow(false, "Selezionare Attribute Value Generation Rule");
                    err.ShowDialog();
                }
            }/*Fine checkbox nodo selezionato*/

            /*checkbox arco selezionato*/
            if ((bool)ArcoCheckBox.IsChecked)
            {
                /*Default String*/
                if (type.Equals("string"))
                {
                    if (!(DefStringTextBox.Text.Equals("")))
                    {
                        edgeAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { type, DefStringTextBox.Text });
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire stringa di default ");
                        err.ShowDialog();
                    }
                }
                /*Fine Default String*/

                /*Numero random*/
                else if (type.Equals("numeric"))
                {
                    if (!(MinNumTextBox.Text.Equals("") || MaxNumTextBox.Text.Equals("")))
                    {
                        if (int.TryParse(MinNumTextBox.Text, out tmp) && int.TryParse(MaxNumTextBox.Text, out temp))
                        {
                            edgeAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { type, MinNumTextBox.Text + "-" + MaxNumTextBox.Text });
                        }
                        else
                        {
                            ParametersErrorWindow err = new ParametersErrorWindow(false, "Range non valido");
                        }
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire range ");
                        err.ShowDialog();
                    }
                }
                /*Fine Numero random*/
                else
                {
                    ParametersErrorWindow err = new ParametersErrorWindow(false, "Selezionare Attribute Value Generation Rule");
                    err.ShowDialog();
                }
            }

            if (!((bool)ArcoCheckBox.IsChecked || (bool)NodoCheckBox.IsChecked))
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Selezionare nodo o arco");
                error.ShowDialog();
            }

            setRandomNumberVisibility(false);
            setDefStringVisibility(false);
            setVisibile(true);
            MaxNumTextBox.Text     = "";
            MinNumTextBox.Text     = "";
            DefStringTextBox.Text  = "";
            ArcoCheckBox.IsChecked = false;
            NodoCheckBox.IsChecked = false;
        }
        private void CalcoloButton_Click(object sender, RoutedEventArgs e)
        {
            if (!isSelected || !int.TryParse(NodInizioListBox.Text, out nodIniz) || !int.TryParse(NodFineListBox.Text, out nodFin) || attrArchi.Count == 0 && attrNodi.Count == 0)
            {
                
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Controllare i parametri");
                error.ShowDialog();

            }
            else
            {
                /*nomeAlbero$NodoInizio$NodoFine*/
                this.nomeStartEnd += albero + "$" + NodInizioListBox.Text + "$" + NodFineListBox.Text;
                client.write(nomeStartEnd);
                /*nomeAttrVertex1$nomeAttrVertex2$etc*/
                this.nodeString = parseAttrDict(attrNodi);
                client.write(nodeString);
                /*nomeAttrEdge1$nomeAttrEdge2$etc*/
                this.edgeString = parseAttrDict(attrArchi);
                client.write(edgeString);
                    
                ParametersErrorWindow result = new ParametersErrorWindow(true,"Il risultato è: " + client.read());
                result.ShowDialog();
                this.Close();
            }
        }
        private void AggiungiButton_Click(object sender, RoutedEventArgs e)
        {
            if (NomAttrLabel.Content.ToString().Equals(""))
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Selezionare un attributo");
                error.ShowDialog();
            }
            else
            {

               
                if (NomAttrLabel.Content.ToString().Contains("Arco"))
                {
                    attrArchi.Add(NomAttrLabel.Content.ToString().Split('(')[0]);
                }
                else
                {
                    attrNodi.Add(NomAttrLabel.Content.ToString().Split('(')[0]);
                }
            }

        }
Example #29
0
        private void CreaAlberoButton_Click(object sender, RoutedEventArgs e)
        {
           
            if((!checkParameters(NomeCreaTextBox.Text,TipoTextBox.Text, SplitSizeCreaTextBox.Text, DepthCreaTextBox.Text)) || edgeAttrList.Count == 0 || vertexAttrList.Count == 0)
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Riempire tutti i campi!");
                error.ShowDialog();
            }
            else
            {
                //Nome$Tipo$Splitsize$Depth
                String toSend = NomeCreaTextBox.Text + "$" + TipoTextBox.Text + "$" + SplitSizeCreaTextBox.Text + "$" + DepthCreaTextBox.Text;
                client.write(toSend);

                //NomeAttrVertex1#tipoAttr:valore$NomeAttrVertex2#tipoAttr2:valore2$etc
                toSend = dictAttrParser(vertexAttrList);
                client.write(toSend);
                //NomeAttrEdge1#tipoAttr:valore$NomeAttrEdge2#tipoAttr2:valore2$etc
                toSend = dictAttrParser(edgeAttrList);
                client.write(toSend);

                int length = int.Parse(client.read());
                byte[] fileXml = new byte[length];
                client.stream.Read(fileXml, 0, length);

                using (FileStream fileStr = new FileStream(NomeCreaTextBox.Text + ".exi", FileMode.Create, System.IO.FileAccess.Write))
                {
                    fileStr.Write(fileXml, 0, length);

                }

                ParametersErrorWindow err = new ParametersErrorWindow(true, NomeCreaTextBox.Text + ".exi creato!");
                err.ShowDialog();
                this.Close();
                
                
            }
       }
Example #30
0
        private void ConfermaAttrButton_Click(object sender, RoutedEventArgs e)
        {
            int tmp, temp;
            /*checkbox nodo selezionato*/
            if ((bool)NodoCheckBox.IsChecked)
            {
                /*Default String*/
                if (type.Equals("string"))
                {
                    if (!(DefStringTextBox.Text.Equals("")))
                    {
                        vertexAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { "string", DefStringTextBox.Text });
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire stringa di default ");
                        err.ShowDialog();
                    }

                }
                /*Fine Default String*/

                /*Numero random*/
                else if (type.Equals("numeric"))
                {
                    if (!(MinNumTextBox.Text.Equals("") || MaxNumTextBox.Text.Equals("")))
                    {
                        if (int.TryParse(MinNumTextBox.Text, out tmp) && int.TryParse(MaxNumTextBox.Text, out temp))
                        {
                            vertexAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { "numeric", MinNumTextBox.Text + "-" + MaxNumTextBox.Text });
                        }
                        else
                        {
                            ParametersErrorWindow err = new ParametersErrorWindow(false, "Range non valido");
                        }
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire range");
                        err.ShowDialog();
                    }
                }
                /*Fine Numero random*/
                else
                {
                    ParametersErrorWindow err = new ParametersErrorWindow(false, "Selezionare Attribute Value Generation Rule");
                    err.ShowDialog();
                }
            }/*Fine checkbox nodo selezionato*/

            /*checkbox arco selezionato*/
            if((bool) ArcoCheckBox.IsChecked)
            {
                /*Default String*/
                if (type.Equals("string"))
                {
                    if (!(DefStringTextBox.Text.Equals("")))
                    {
                        edgeAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { type, DefStringTextBox.Text });
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire stringa di default ");
                        err.ShowDialog();
                    }

                }
                /*Fine Default String*/

                /*Numero random*/
                else if (type.Equals("numeric"))
                {
                    if (!(MinNumTextBox.Text.Equals("") || MaxNumTextBox.Text.Equals("")))
                    {
                        if(int.TryParse(MinNumTextBox.Text, out tmp) && int.TryParse(MaxNumTextBox.Text, out temp) )
                        {
                            edgeAttrList.Add(AttributeNameLabel.Content.ToString().Split('(')[0], new String[] { type, MinNumTextBox.Text + "-" + MaxNumTextBox.Text });
                        }
                        else
                        {
                            ParametersErrorWindow err = new ParametersErrorWindow(false, "Range non valido");
                        }
                    }
                    else
                    {
                        ParametersErrorWindow err = new ParametersErrorWindow(false, "Inserire range ");
                        err.ShowDialog();
                    }
                }
                /*Fine Numero random*/
                else
                {
                    ParametersErrorWindow err = new ParametersErrorWindow(false, "Selezionare Attribute Value Generation Rule");
                    err.ShowDialog();
                }
            }

            if (!((bool)ArcoCheckBox.IsChecked || (bool)NodoCheckBox.IsChecked))
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Selezionare nodo o arco");
                error.ShowDialog();
            }

            setRandomNumberVisibility(false);
            setDefStringVisibility(false);
            setVisibile(true);
            MaxNumTextBox.Text = "";
            MinNumTextBox.Text = "";
            DefStringTextBox.Text = "";
            ArcoCheckBox.IsChecked = false;
            NodoCheckBox.IsChecked = false;
            
        }