/// <summary> /// Evento generato automaticamente prima dell'apertura della form. Se esiste un file del salvataggio vado a prenderlo e lo apro. /// Se non esiste chiedo se vuole caricare dei dati di test, se non vuole (apre la form senza dati) o se vuole cancellare l'operazione (chiude la form). /// Carica la prima schermata di visualizzazione, includento i veicoli più recenti. /// </summary> private void Main_Load(object sender, EventArgs e) { if (File.Exists(DbPath)) { dbManagement = new UtilsDb(connStr); if (dbManagement.PresTabella("Automobili")) { dbManagement.GetVeicolListAuto(ref listaVeicoli); } if (dbManagement.PresTabella("Moto")) { dbManagement.GetVeicolListMoto(ref listaVeicoli); } /* * Il cambio della proprietà SelectedIndex, anche da codice, genera un'evento automatico. */ cmbVisual.SelectedIndex = 0; } else { MessageBox.Show("Impossibile trovare il database, caricamento dei dati dal salvataggio di backup. Contattare l'amministratore del database.", "Autosalone Nico"); Utils.loadData(listaVeicoli); cmbVisual.SelectedIndex = 0; } if (!(listaVeicoli.Count > 0)) { Utils.loadData(listaVeicoli); } }
private void btnVendi_Click(object sender, EventArgs e) { string resourcesDirectoryPath = $"{Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName}\\resources\\salvataggi"; //Percorso della cartella "resources". string DbPath = Path.Combine(resourcesDirectoryPath, Properties.Resources.DB_Name); //Percorso del file contenente il database. string connStr = $"Provider=Microsoft.Ace.Oledb.12.0;Data Source={DbPath};"; //Stringa di connessione completa al database access. UtilsDb udDb = new UtilsDb(connStr); if (udDb.PresTabella("Report_Vendite")) { try { string filepath = Utils.OutputFileName(Utils.SelectPath(fbd), "docx"); using (WordprocessingDocument doc = WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document)) { //Aggiunge la parte principale del documento. MainDocumentPart mainPart = doc.AddMainDocumentPart(); //Crea la struttura principale del documento. mainPart.Document = new Document(); Body body = mainPart.Document.AppendChild(new Body()); //Definizione di alcuni stili per il testo. WordUtilities.AddStyle(mainPart, false, false, false, false, "Head1", "Titolone", "Calibri Light", 30, "000000"); WordUtilities.AddStyle(mainPart, false, false, false, false, "Main1", "Calibri", "Calibri", 10, "000000"); //Aggiunge il titolo con lo stile "Head1". Paragraph headingPar = WordUtilities.CreateParagraphWithStyle("Head1", JustificationValues.Center); WordUtilities.AddTextToParagraph(headingPar, $"Fattura per il veicolo: {veicolo.Targa}"); body.AppendChild(headingPar); //Aggiunge del testo Paragraph para = body.AppendChild(new Paragraph()); Run run = para.AppendChild(new Run()); // String msg contains the text, "Hello, Word!" run.AppendChild(new Text($"Busca, {DateTime.Today.ToShortDateString()}")); //Aggiunta dello stile "Main" e del corpo del documento. Paragraph typescriptParagraph = WordUtilities.CreateParagraphWithStyle("Main1", JustificationValues.Distribute); WordUtilities.AddTextToParagraph(typescriptParagraph, $"Con il presente documento si sottoscrive il cambio di proprietà per il veicolo targato {veicolo.Targa}, immatricolato il {veicolo.Immatricolazione.ToShortDateString()}" + $" da Autosalone Nico a #nome_Compratore# in data {(DateTime.Today).ToShortDateString()} presso la sede legale di Autosalone Nico."); body.AppendChild(typescriptParagraph); //Aggiunta della tabella bool[] bolds = { false, false, false, false, false, false, false, false, false, false, false, false }; bool[] italics = { false, false, false, false, false, false, false, false, false, false, false, false }; bool[] underlines = { false, false, false, false, false, false, false, false, false, false, false, false }; string aus; if (veicolo.GetType().ToString().Contains("Moto")) { aus = $"Marca£Modello£Colore£Cilindrata£Potenza£Marcasella£{veicolo.Marca}£{veicolo.Modello}£{veicolo.Colore}£{veicolo.Cilindrata}£{veicolo.PotenzaKw}£{(veicolo as Moto).MarcaSella}"; } else { aus = $"Marca£Modello£Colore£Cilindrata£Potenza£Marcasella£{veicolo.Marca}£{veicolo.Modello}£{veicolo.Colore}£{veicolo.Cilindrata}£{veicolo.PotenzaKw}£{(veicolo as Automobili).NumAirbag}"; } string[] texts1 = aus.Split('£'); JustificationValues[] justifications = { JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left, JustificationValues.Left }; Table myTable = WordUtilities.createTable(mainPart, bolds, italics, underlines, texts1, justifications, 2, 6, "000000"); body.Append(myTable); WordUtilities.InsertPicture(doc, veicolo.ImgPath); /* * //Lista a pallini. * string[] texts2 = { "First element", "Second Element", "Third Element" }; * WordUtilities.CreateBulletNumberingPart(mainPart); * List<Paragraph> bulletList = new List<Paragraph>(); * WordUtilities.CreateBulletOrNumberedList(100, 200, bulletList, texts2.Length, texts2); * foreach (Paragraph paragraph in bulletList) * body.Append(paragraph); * * //Lista con i numeri. * List<Paragraph> numberedList = new List<Paragraph>(); * WordUtilities.CreateBulletOrNumberedList(100, 240, numberedList, texts2.Length, texts2, false); * foreach (Paragraph paragraph in numberedList) * body.Append(paragraph); */ //Aggiunta immagine. } Utils.ProcedureCompleted("Il documento è pronto!", filepath); //Aggiunta del veicolo alla tabella 'Report_Ventite' ed eliminazione di esso dalla lista. if (udDb.PresTabella("Report_Vendite")) { udDb.AggiungiVendita(veicolo); listVeicoli.Remove(veicolo); } Close(); } catch (Exception) { MessageBox.Show("Problemi con il documento. Se è aperto da un altro programma, chiudilo e riprova.", "Autosalone Nico"); } } else { MessageBox.Show("Impossibile effettuare la vendita. Contattare l'amministratore del database.", "Autosalone Nico"); } }
/// <summary> /// Stampa il menù delle opzioni e si occupa di smistare al sottoprogramma competente a seconda della scelta. /// </summary> /// <param name="args"></param> static void Main(string[] args) { u = new UtilsDb(connStr); char scelta; do { menu(); Console.Write("La tua selezione: "); scelta = Console.ReadKey().KeyChar; if (File.Exists(DbPath)) { switch (scelta) { case '1': creaTabelle(); break; case '2': aggiungiVeicolo(); break; case '3': listaTabella(); break; case '4': modify(); break; case '5': cancellaTabella(); break; case 'c': creaDatabase(); break; case 'd': dropDatabase(); break; case 'b': creaBackup(); break; case 'r': prendiJson(); break; default: break; } } else { switch (scelta) { case 'c': creaDatabase(); break; case 'b': caricaBckup(); break; default: break; } } }while (scelta != 'X' && scelta != 'x'); }