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; }
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; }
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; }
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é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); }
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); }