/// <summary> /// Controlla se esiste un file programma.docx nel programma attualmente visualizzato /// - se esiste: apre il file docx /// - se non esiste : crea un file docx con tutte le informazioni del programma /// </summary> private void Button_Apri_Docx(object sender, RoutedEventArgs e) { string file = Globals.PROGRAMMIpath + "Id" + ProgSelezionato + @"\programma.docx"; if (File.Exists(file)) { System.Diagnostics.Process.Start(file); } else { Programma programma = Globals.PROGRAMMI.Find(x => x.numero.Equals(ProgSelezionato)); if (programma != null) { try { var doc = Xceed.Words.NET.DocX.Create(file); doc.InsertParagraph("Id" + ProgSelezionato + " - " + programma.nome).Bold(); doc.InsertParagraph("\n DATA CREAZIONE: " + programma.dataCreazione); doc.InsertParagraph("\n NOME UTENTE: " + programma.nomeUtente); doc.InsertParagraph("\n PASSWORD: "******"\n DESCRIZIONE: " + programma.descrizione); doc.Save(); } catch (IOException) { string msg = "E05 - Il file " + file + " non è stato creato per un problema"; MessageBox.Show(msg, "E05", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.RightAlign); Globals.log.Error(msg); } DataGrid dataGrid = this.FindName("dataGrid") as DataGrid; ChangePreview(dataGrid, null); } } }
/// <summary> /// Aggiorna gli elementi nella DataGrid: /// - aggiorna le ultime modifiche in programmi /// - aggiunge tutti i programmi presenti e FILTRATI dopo aver svuotato la DataGrid /// - mentre scorre i programmi restituisce il primo visualizzato per permettere di selezionarlo durante la ricerca /// </summary> private Programma updateList(string filter, bool?obsoleti) { Console.WriteLine("Update list1"); Globals.log.Info("Update list1"); Programma primo = new Programma(0, "", "", "", false, "", "", "", false); DataGrid dataGrid = this.FindName("dataGrid") as DataGrid; ultimaModifica.aggiornoModifiche(Globals.PROGRAMMI); if (dataGrid != null) { dataGrid.Items.Clear(); int i = 0; foreach (Programma p in Globals.PROGRAMMI) { if (obsoleti == null || p.obsoleto == obsoleti) { if (p.toName().IndexOf(filter, 0, StringComparison.CurrentCultureIgnoreCase) != -1) { if (i == 0) { primo = p; } dataGrid.Items.Add(p); i++; } } } } return(primo); }
/// <summary> /// Richiamato ogni volta che viene modificato il testo nella TextBox di ricerca. /// Aggiorna e filtra la lista e poi seleziona la prima riga visualizzata. /// </summary> private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { Programma p = updateList(((TextBox)sender).Text, obs); DataGrid dataGrid = this.FindName("dataGrid") as DataGrid; dataGrid.SelectedIndex = 0; dataGrid.ScrollIntoView(p); }
/// <summary> /// Costruttore a cui viene passato il programma da modificare /// Visualizza i dati relativi a quel programma /// </summary> public Form_Modifica(Programma prog) { this.prog = prog; InitializeComponent(); label5.Text = "Id" + prog.numero; textBox1.Text = prog.nome; textBox2.Text = prog.descrizione; textBox3.Text = prog.nomeUtente; textBox4.Text = prog.password; }
/// <summary> /// Bottone che apre il form per la modifica del programma selezionato /// - Possibilità di cambiarne i parametri /// - Possibilità di eliminare il programma /// </summary> private void Button_Modify(object sender, RoutedEventArgs e) { if (ProgSelezionato != 0) { try { Programma itemToRemove = Globals.PROGRAMMI.Single(r => r.numero == ProgSelezionato); Form_Modifica form = new Form_Modifica(itemToRemove); form.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.readAgainListPrograms); form.ShowDialog(); } catch (InvalidOperationException) { Globals.log.Info("Non è stato trovato nessun elemento con indice " + ProgSelezionato + " , probabilmente è stato eliminato in precedenza"); } } }
/// <summary> /// Da all'utente la possibilità di scegliere se effettuare l'importazione o no. /// Se i percorsi immessi portano a cartelle esistenti effettua la conversione. /// A conversione terminata un MessageBox visualizza l'esito ottenuto. /// </summary> private void button2_Click(object sender, EventArgs e) { string originFile = textBox1.Text.ToString(); string tb2 = textBox2.Text.ToString(); string destFile = tb2 + "PROGRAMMI.csv"; if (!File.Exists(originFile) || !Directory.Exists(tb2)) { string msg = "Uno dei percorsi inseriti non esiste, impossibile eseguire l'operazione."; System.Windows.MessageBoxResult me = System.Windows.MessageBox.Show( msg, "Percorso inesistente", MessageBoxButton.OK, MessageBoxImage.Question, MessageBoxResult.No, System.Windows.MessageBoxOptions.RightAlign); Globals.log.Warn(msg); return; } List <Programma> programmi = new List <Programma>(); if (File.Exists(originFile)) { StreamReader objReader = new StreamReader(originFile); do { string num = objReader.ReadLine(); objReader.Peek(); string nome = objReader.ReadLine(); objReader.Peek(); string utente = objReader.ReadLine(); objReader.Peek(); string pwd = objReader.ReadLine(); objReader.Peek(); string data = objReader.ReadLine(); objReader.Peek(); if (nome.Equals(".") && utente.Equals(".") && pwd.Equals(".") && data.Equals(".")) { break; } Programma prog = new Programma(Int32.Parse(num), nome, data, ".", false, utente, pwd, ".", false); programmi.Add(prog); } while (objReader.Peek() != -1); objReader.Close(); } string[] lines = new string[programmi.Count]; int i = 0; foreach (Programma p in programmi) { lines[i] = p.numero + "," + p.nome + "," + p.dataCreazione + "," + p.dataModifica + "," + p.obsoleto + "," + p.nomeUtente + "," + p.password + "," + p.descrizione + "," + p.presenzaCartella; i++; } try { File.WriteAllLines(destFile, lines); System.Windows.MessageBox.Show("Convertito TXT da " + originFile + " a " + destFile, "TXT convertito", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.No, System.Windows.MessageBoxOptions.RightAlign); Globals.log.Info("Convertito TXT da " + originFile + " a " + destFile); } catch (IOException) { string msg = "E18 - errore nella conversione file"; System.Windows.MessageBox.Show(msg, "E18", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.No, System.Windows.MessageBoxOptions.RightAlign); Globals.log.Error(msg); } this.Close(); }