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 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 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 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); } } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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; } }
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); } }
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]); } } }
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*/
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 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 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; }