示例#1
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();
        }
示例#2
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();
            }
        }
示例#3
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();
         }
     }
 }
示例#4
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();
         }
     }
 }
示例#5
0
 private bool checkOp(String operation)
 {
     client.write(operation);
     if (client.read().Equals(operation))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
示例#6
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();
            }
        }
示例#7
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*/
示例#8
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*/