Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        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");
            }
        }
Пример #3
0
        /// <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');
        }