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(); }
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(); } }
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 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(); } } }
private bool checkOp(String operation) { client.write(operation); if (client.read().Equals(operation)) { return(true); } else { return(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(); } }
/*_________________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*/
/*_________________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*/