Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            Module monMod    = BDDExterne.GetModule(listBoxModuleDisponible.SelectedValue.ToString());
            int    newNumMod = BDDExterne.getMaxNumModuleByDevis(monDevis.devId.ToString());

            newNumMod++;
            foreach (Parametre item in monMod.modParametres)
            {
                string query = @"INSERT INTO public.precise(id, id_parametre, id_devis, valeur, num_module) VALUES ('" + Guid.NewGuid().ToString() + "' , '" + item.parId.ToString() + "', '" + monDevis.devId.ToString() + "',0, " + newNumMod + ")";

                if (BDDExterne.Insert(query) == false)
                {
                    MessageBox.Show("echec insert");
                }
            }
            dataModuleDevis.Clear();
            foreach (Module item in BDDExterne.GetModulesByDevis(monDevis.devId.ToString()))
            {
                dataModuleDevis.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }

            listBoxModuleDevis.DataSource = null;
            listBoxModuleDevis.Items.Clear();
            listBoxModuleDevis.DisplayMember = "Text";
            listBoxModuleDevis.ValueMember   = "Value";
            listBoxModuleDevis.DataSource    = dataModuleDevis;

            // ----
            monDevis                    = BDDExterne.GetDevis(monDevis.devId.ToString());
            labelNomClient.Text         = monDevis.devClient.cliNom + " " + monDevis.devClient.cliPrenom;
            labelDevisDateCreation.Text = monDevis.devDateCreation.ToShortDateString();


            foreach (Module item in BDDExterne.GetAllModules())
            {
                data.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }
            listBoxModuleDisponible.DisplayMember = "Text";
            listBoxModuleDisponible.ValueMember   = "Value";
            listBoxModuleDisponible.DataSource    = data;

            foreach (Module item in BDDExterne.GetModulesByDevis(monDevis.devId.ToString()))
            {
                dataModuleDevis.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }


            listBoxModuleDevis.DisplayMember = "Text";
            listBoxModuleDevis.ValueMember   = "Value";
            listBoxModuleDevis.DataSource    = dataModuleDevis;
        }
Пример #2
0
        public void refresh()
        {
            monDevis                    = BDDExterne.GetDevis(monDevis.devId.ToString());
            labelNomClient.Text         = monDevis.devClient.cliNom + " " + monDevis.devClient.cliPrenom;
            labelDevisDateCreation.Text = monDevis.devDateCreation.ToShortDateString();


            foreach (Module item in BDDExterne.GetAllModules())
            {
                data.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }
            listBoxModuleDisponible.DisplayMember = "Text";
            listBoxModuleDisponible.ValueMember   = "Value";
            listBoxModuleDisponible.DataSource    = data;

            foreach (Module item in BDDExterne.GetModulesByDevis(monDevis.devId.ToString()))
            {
                dataModuleDevis.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }


            listBoxModuleDevis.DisplayMember = "Text";
            listBoxModuleDevis.ValueMember   = "Value";
            listBoxModuleDevis.DataSource    = dataModuleDevis;
        }
Пример #3
0
        public ListeModuleParDevis(string idDevis)
        {
            InitializeComponent();
            monDevis                    = BDDExterne.GetDevis(idDevis);
            labelNomClient.Text         = monDevis.devClient.cliNom + " " + monDevis.devClient.cliPrenom;
            labelDevisDateCreation.Text = monDevis.devDateCreation.ToShortDateString();


            foreach (Module item in BDDExterne.GetAllModules())
            {
                data.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }
            listBoxModuleDisponible.DisplayMember = "Text";
            listBoxModuleDisponible.ValueMember   = "Value";
            listBoxModuleDisponible.DataSource    = data;

            foreach (Module item in BDDExterne.GetModulesByDevis(idDevis))
            {
                dataModuleDevis.Add(new ComboxItem()
                {
                    Value = item.modId, Text = item.modLibele
                });
            }


            listBoxModuleDevis.DisplayMember = "Text";
            listBoxModuleDevis.ValueMember   = "Value";
            listBoxModuleDevis.DataSource    = dataModuleDevis;
        }
Пример #4
0
        public void generePDF()
        {
            StringWriter stringWriter = new StringWriter();

            using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
            {
                writer.Write(
                    "<!DOCTYPE html><html><head>" +
                    "<style>" +
                    "#calc {" +
                    "top: 350px;" +
                    "position: relative;" +
                    "}" +
                    "aside {" +
                    "border: 1px solid;" +
                    "padding: 0 10px 10px;" +
                    "position: absolute;" +
                    "}" +
                    "aside ul {" +
                    "list-style-type: none;" +
                    "margin: 0;" +
                    "padding: 0;" +
                    "}" +
                    "table {" +
                    "width: 100%;" +
                    "}" +
                    "table td[colspan] {" +
                    "text-align: right;" +
                    "padding: 0 20px;" +
                    "}" +
                    "table tfoot tr td:last-child {" +
                    "font-weight: bold;" +
                    "}" +
                    "#client {" +
                    "min-width: 150px;" +
                    "max-width: 500px;" +
                    "top: 10px;" +
                    "left: 10px;" +
                    "}" +
                    "#devis {" +
                    "min-width: 300px;" +
                    "max-width: 500px;" +
                    "top: 150px;" +
                    "right: 10px;" +
                    "}" +
                    "#sign-client {" +
                    "width: 200px;" +
                    "height: 150px;" +
                    "top: 800px;" +
                    "left: 10px;" +
                    "}" +
                    "#sign-commer {" +
                    "width: 200px;" +
                    "height: 150px;" +
                    "top: 800px;" +
                    "right: 10px;" +
                    "}" +
                    "#logo {" +
                    "position: absolute;" +
                    "top: 0;" +
                    "right: 0;" +
                    "}" +
                    "#logo img { width: 250px; }" +

                    ".right {" +
                    "display: inline-block;" +
                    "position: absolute;" +
                    "right: 1em;" +
                    "}" +
                    "/* bordure pour le tableau générale */" +
                    "table {" +
                    "border-collapse: collapse;" +
                    "}" +
                    "table tr {" +
                    "border-bottom: 1px solid #8a8787;" +
                    "}" +
                    "table td:last-child {" +
                    "text-align: right;" +
                    "border-left: 1px solid #8a8787;" +
                    "}" +

                    "/* bordure des totaux */" +
                    "tfoot::before {" +
                    "content: '';" +
                    "display: block;" +
                    "height: 18px;" +
                    "}" +
                    "table tfoot {" +
                    "margin-top: 20px;" +
                    "}" +
                    "table tfoot td {" +
                    "/*border-bottom: none;*/" +
                    "border: 1px solid #8a8787;" +
                    "}" +
                    "table tfoot tr, table tfoot td[colspan] {" +
                    "border: none;" +
                    "}" +
                    "</style>" +
                    "</head>" +
                    "<body>" +
                    "<section id=\"info\">" +

                    "<aside id=\"client\">" +
                    "<h2> Client</h2>" +
                    "<ul>" +
                    "<li><b>" + this.devClient.cliNom + "</b> " + this.devClient.cliPrenom + "</li>" +
                    "<li>" + this.devClient.cliNumRue + " " + this.devClient.cliRue + "</li>" +
                    "<li>" + this.devClient.cliCp + " <span class=\"right\">" + this.devClient.cliVille + "</span> </li>" +
                    "</ul>" +
                    "</aside>" +

                    "<aside id=\"devis\">" +

                    "<h2> Devis </h2>" +

                    "<ul>" +

                    "<li>N° de devis<span class=\"right\">5</span> </li>" +
                    "<li>Date de cr&eacute;ation : <span class=\"right\">" + this.devDateCreation.ToShortDateString() + "</span></li>" +
                    "<li> validité<span class=\"right\">25/07/2019</span> </li>" +
                    "</ul>" +
                    "</aside>" +

                    "<figure id=\"logo\">" +

                    "<img src='http://madera-construction.fr/images/site/logo.png'/>" +
                    "</figure>" +
                    "</section>" +

                    "<section id=\"calc\">" +

                    "<table>" +

                    "<thead>" +

                    "<tr>" +

                    "<th> N° </th>" +
                    "<th> Description</th>" +
                    "<th> Unité</th>" +
                    "<th> Prix</th>" +
                    "</tr>" +
                    "</thead>" +
                    "<tbody>");
                double total = 0;
                foreach (Module module in BDDExterne.GetModulesByDevis(this.devId.ToString()))
                {
                    writer.Write("<tr><td>" + module.num_module + "</td>");
                    writer.Write("<td>" + module.modLibele + "</td>");
                    writer.Write("<td>" + module.uniteUsage + "</td>");
                    writer.Write("<td>" + module.prixBase + " €</td></tr>");
                    total += module.prixBase;
                }
                writer.Write("<tr></tr></tbody>" +
                             "<tfoot>" +
                             "<tr>" +
                             "<td colspan=\"2\"></td>" +
                             "<td>Hors taxes</td>" +
                             "<td>" + total + " €</td>" +
                             "</tr>" +
                             "<tr>" +
                             "<td colspan=\"2\"></td>" +
                             "<td>Taxe valeur ajoutée</td>" +
                             "<td>20%</td>" +
                             "</tr>" +
                             "<tr>" +
                             "<td colspan=\"2\"></td>" +
                             "<td>Toutes taxes comprises</td>" +
                             "<td>" + total * 1.2 + " €</td>" +
                             "</tr>" +
                             "</tfoot>" +
                             "</table>" +
                             "</section>" +
                             "<aside id=\"sign-client\"><h2>Bon pour accord</h2>Signature du Client</aside>" +
                             "<aside id=\"sign-commer\"><h2>Bon pour accord</h2>Signature du Commercial</aside>" +
                             "</body></html>");

                //writer.AddAttribute(HtmlTextWriterAttribute.Src, @"C:\Users\maxna\source\repos\PFR-Madera\Madera\Resources\logo.png");
                //writer.AddAttribute(HtmlTextWriterAttribute.Alt, "Madera");
                //writer.RenderBeginTag(HtmlTextWriterTag.Img); // Begin #3
                //writer.RenderEndTag(); // End #3

                /*writer.Write(
                 *      "Client : " + this.devClient.cliNom + " " + this.devClient.cliPrenom + "<br>" +
                 *      "<br>" + this.devDateCreation.ToString() +
                 *      "<br><br> Modules associés au projet : <br>"
                 * );
                 * foreach (Module module in BDDExterne.GetModulesByDevis(this.devId.ToString()))
                 * {
                 *      writer.Write(module.modLibele + " " + module.uniteUsage + "<br>");
                 *      foreach (Parametre param in module.modParametres)
                 *      {
                 *              writer.Write(param.parNom + " " + param.parValeur + "<br>");
                 *      }
                 *      writer.Write("<br><br>");
                 * }*/
            }

            System.IO.File.WriteAllText(@"C:\Users\Public\WriteText.html", stringWriter.ToString());

            var    Renderer    = new IronPdf.HtmlToPdf();
            var    PDF         = Renderer.RenderHTMLFileAsPdf(@"C:\Users\Public\WriteText.html");
            string Outpath     = @"C:\Users\Public\";
            string OutpathView = "C:/Users/Public";

            PDF.SaveAs(Outpath + "Devis_du_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day + "_" + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + ".pdf");

            System.Windows.Forms.MessageBox.Show("Votre PDF a été généré dans le dossier " + OutpathView);
        }
Пример #5
0
        public static List <Devis> GetAllDevis()
        {
            NpgsqlConnection conn;

            conn = new NpgsqlConnection(chaineConnection);
            conn.Open();
            List <Devis> listeDevis = new List <Devis>();
            string       query      = @"SELECT id,status,date_creation,date_signature,date_facture,montant_facture,""id_Client"",""id_Salarie"" FROM ""devis""";

            Debug.WriteLine(query);
            NpgsqlCommand    command = new NpgsqlCommand(query, conn);
            NpgsqlDataReader dr      = command.ExecuteReader();

            while (dr.Read())
            {
                listeDevis.Add(new Devis(new Guid(dr[0].ToString()), Int32.Parse(dr[1].ToString()), DateTime.Parse(dr[2].ToString()), DateTime.Parse(dr[3].ToString()), DateTime.Parse(dr[4].ToString()), double.Parse(dr[5].ToString()), BDDExterne.GetClient(dr[6].ToString()), BDDExterne.GetSalarie(dr[7].ToString()), BDDExterne.GetModulesByDevis(dr[0].ToString())));
            }
            conn.Close();
            return(listeDevis);
        }