public async Task <ActionResult <Facture> > PostLigneFacture(int id, LigneFacture lignefacture) { var facture = await _context.Facture.Include(f => f.LigneFacture).Where(f => f.Id == id).FirstOrDefaultAsync(); if (facture == null) { return(NotFound("L'Id donné ne correspond pas à aucune des factures!")); } /*Ici on récupère la dernière valeur de la clé primaire de la ligneFacture pour la facture. * car il n'est pas autoincrementé. * et on l'incrémente de 1.*/ if (facture.LigneFacture.Any()) { lignefacture.NumLigne = facture.LigneFacture.LastOrDefault().NumLigne + 1; } else { lignefacture.NumLigne = 1; } facture.LigneFacture.Add(lignefacture); await _context.SaveChangesAsync(); return(Ok("La ligneFacture a bien été rajouté!")); }
public async Task <ActionResult> PostLigneFacture(int id, LigneFacture lignefacture) { //On vérifie que l'id passé en paramètre est similaire à celui de la requête if (id != lignefacture.IdFacture) { return(BadRequest("Erreur ID facture entre la requête et l'url")); } _context.LigneFacture.Add(lignefacture); try { await _context.SaveChangesAsync(); } catch (DbUpdateException e) { var sqle = e.InnerException as SqlException; if (sqle.Number == 2627) { return(BadRequest("Le numéro de ligne de facture existe déjà dans la base")); } return(BadRequest("Erreur lors de l'ajout de la ligne de facture dans la base")); } return(Ok("Le numéro de la ligne de facture créée est le suivant : " + lignefacture.NumLigne)); }
public async Task <IActionResult> Edit(int id, [Bind("LigneId,TotalHt,TotalTtc,Quantite,FactureId,ObjetFacturableId,Visible")] LigneFacture ligneFacture) { if (id != ligneFacture.LigneId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(ligneFacture); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LigneFactureExists(ligneFacture.LigneId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ObjetFacturableId"] = new SelectList(_context.ObjetsFacturables, "ObjetFacturableId", "ObjetFacturableId", ligneFacture.ObjetFacturableId); return(View(ligneFacture)); }
public LigneFacture Ajouter(Facture facture, Bareme bareme, decimal prix, bool archive) { LigneFacture ligneFacture = new LigneFacture(Guid.NewGuid(), facture, bareme, prix, archive); Database.Instance.insert(ligneFacture); return(ligneFacture); }
public FactureLigneViewModel(LigneFacture factureLigne) { IdArticle = factureLigne.IdArticle; IdFacture = factureLigne.IdFacture; Quantite = factureLigne.Quantite; PrixUnitaire = factureLigne.PrixUnitaire; Total = factureLigne.Quantite * factureLigne.PrixUnitaire; }
public void Modifier(LigneFacture ligneFacture, Facture facture, Bareme bareme, decimal prix, bool archive) { ligneFacture.Archive = archive; ligneFacture.Bareme = bareme; ligneFacture.Facture = facture; ligneFacture.Prix = prix; Database.Instance.update(ligneFacture); }
public FactureLigneViewModel(LigneFacture factureLigne, Article article) { IdArticle = factureLigne.Id; IdFacture = factureLigne.IdFacture; Reference = article.Reference; Designation = article.Designation; PrixUnitaire = article.Prix; Quantite = factureLigne.Quantite; Total = factureLigne.Quantite * factureLigne.PrixUnitaire; }
public void SaveLigneFacture(int id, LigneFacture ligne) { int numligne = db.LigneFacture.Where(x => x.IdFacture == id).Count(); ligne.NumLigne = numligne + 1; var fact = db.Facture.Where(x => x.Id == id).FirstOrDefault(); fact.LigneFacture.Add(ligne); db.SaveChanges(); }
public async Task <IActionResult> Create([Bind("LigneId,TotalHt,TotalTtc,Quantite,FactureId,ObjetFacturableId,Visible")] LigneFacture ligneFacture) { if (ModelState.IsValid) { _context.Add(ligneFacture); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ObjetFacturableId"] = new SelectList(_context.ObjetsFacturables, "ObjetFacturableId", "ObjetFacturableId", ligneFacture.ObjetFacturableId); return(View(ligneFacture)); }
//Saisir les lignes d'une facture donnée public static void SaisirLigneFacture(LigneFactureBOL nouvelleLigneFacture, int saisieIDfacture) { LigneFacture lf = new LigneFacture { IdFacture = saisieIDfacture, Quantite = nouvelleLigneFacture.Quantite, MontantHT = nouvelleLigneFacture.MontantHT, TauxTVA = nouvelleLigneFacture.TauxTVA, TauxReduction = nouvelleLigneFacture.TauxReduction }; BDD.EnregistrerLigne(lf); }
private static void runCreationLignesFacture() { Client client = ClientController.Instance.AjouterClient("Bugeavel-Track", "Amede", "3 rue du petit paris", "", "44950", "Flurne sur Loire", "0666785713", "Non", "*****@*****.**", "Pas de remarque", false); Facture facture = FactureStore.Instance.Ajouter(client, DateTime.Now.ToUniversalTime(), Facture.eFactureEtats.a_imprimer, 135, DateTime.Now.ToUniversalTime(), false); Vaccin vaccin = VaccinController.Instance.AjouterVaccin("VIH Vaccin", 50, 2, false); Bareme bareme = BaremeStore.Instance.Ajouter("103", "30/07/07", "VACC", "Vaccination DT", 11, 10, 14, vaccin, false); LigneFacture ligneFacture = LigneFactureStore.Instance.Ajouter(facture, bareme, 135, false); Console.WriteLine("INSERT"); Console.ReadKey(); Console.WriteLine("UPDATE"); LigneFactureStore.Instance.Modifier(ligneFacture, facture, bareme, 1350, true); Console.ReadKey(); Console.WriteLine("DELETE"); LigneFactureStore.Instance.Supprimer(ligneFacture); }
// GET: Factures/Details/5 public async Task <IActionResult> Details(int?id) { // Requête SQL optimisée: on ramène uniquement les infos nécessaires // Récupération du détail de la facture sélectionnée string req = @"select IdFacture, NumLigne, Quantite, MontantHT, TauxTVA, TauxReduction,Quantite*MontantHT*(1+TauxTVA)*(1-TauxReduction) as MontantTotal from LigneFacture where IdFacture=@id"; var lignefactures = new List <LigneFacture>(); using (var conn = (SqlConnection)_context.Database.GetDbConnection()) { var cmd = new SqlCommand(req, conn); cmd.Parameters.Add(new SqlParameter { ParameterName = "@id", Value = id }); await conn.OpenAsync(); using (var sdr = await cmd.ExecuteReaderAsync()) { while (sdr.Read()) { var c = new LigneFacture(); c.IdFacture = (int)sdr["IdFacture"]; c.NumLigne = (int)sdr["NumLigne"]; c.Quantite = (short)sdr["Quantite"]; c.MontantHt = (decimal)sdr["MontantHt"]; c.TauxTva = (decimal)sdr["TauxTVA"]; c.TauxReduction = (decimal)sdr["TauxReduction"]; c.MontantTotal = (decimal)sdr["MontantTotal"]; lignefactures.Add(c); } } } return(View(lignefactures)); }
//Permet de saisir une ligne de facture correspondant à une facture public void SaisirLigneFactureDonnee() { // charge les factures depuis la BDD et affiche leur nombre _listefactures = GrandHotelApp.DataContext.GetToutesFactures(); Console.WriteLine("Il y a {0} factures.", _listefactures.Count()); int numFacture = Input.Read <int>("Numero de la facture à saisir"); Facture fact = _listefactures.Where(f => f.Id == numFacture).FirstOrDefault(); LigneFacture ligne = new LigneFacture(); int ajout = 1; if (fact == null) { Output.WriteLine(ConsoleColor.Red, "Aucune facture trouvée"); } else { while (ajout == 1) { //Affiche les lignes de cette Facture List <LigneFacture> listeDetails = _listefactures.Where(f => f.Id == numFacture).Select(f => f.LigneFactures).FirstOrDefault(); ConsoleTable.From(listeDetails).Display("Détails Facture : "); ligne = new LigneFacture(); ligne.IdFacture = numFacture; ligne.NumLigne = Input.Read <int>("Ajoutez à la suite une NumLigne de la ligne de commande : "); ligne.Quantite = Input.Read <short>("Quantité des servives facturés(chambres, petits déjeuner ...) "); ligne.MontantHT = Input.Read <Decimal>("Montant HT : "); ligne.TauxTVA = Input.Read <Decimal>("TauxTVA : "); ligne.TauxReduction = Input.Read <Decimal>("TauxReduction : "); GrandHotelApp.DataContext.AddLigneDeCommande(ligne); ajout = Input.ReadIntBetween("Taper 1 pour ajouter une autre ligne, sinon taper 0 : ", 0, 1); } GrandHotelApp.DataContext.AddLigneDeCommande(ligne); Output.WriteLine(ConsoleColor.Green, "les lignes ont été saisies avec succès."); } }
public async Task <ActionResult <LigneFacture> > PostLigneFacture(int id, LigneFacture ligne) { try { //Récupère la dernière ligne de la facture pour incrémenter le numéro de la ligne à ajouter var lastRow = await _context.LigneFacture.Where(l => l.IdFacture == id).OrderBy(l => l.NumLigne).LastOrDefaultAsync(); if (lastRow.NumLigne > 0) { ligne.NumLigne = lastRow.NumLigne + 1; } ligne.IdFacture = id; _context.LigneFacture.Add(ligne); await _context.SaveChangesAsync(); } catch (Exception) { return(BadRequest()); } return(CreatedAtAction("PostLigneFacture", ligne)); }
private void pictureBox9_Click(object sender, EventArgs e) { if (textBox2.Text == "" || textBox7.Text == "") { MessageBox.Show("Vous devez remplir les champs vides!", "Champs vides", MessageBoxButtons.OK); label1.ForeColor = Color.Black; label2.ForeColor = Color.Black; if (textBox2.Text == "") { label7.ForeColor = Color.Red; } if (textBox7.Text == "") { label8.ForeColor = Color.Red; } } else { Produit_codeProduit = textBox2.Text; // string libelle_produit; //double TVA_produit; //double remise_produit; quantite = Convert.ToInt16(textBox7.Text); montant_Produit = quantite * prix_vente_produit; LigneFacture L = new LigneFacture(numero_ligneFacture); L.ModifierLigneFacture( Produit_codeProduit, quantite, montant_Produit, Facture_numeroFacture); this.lignefactureTableAdapter.Fill(this.gestioncommercialeDataSet1.lignefacture); textBox2.Text = ""; textBox7.Text = ""; panel1.Visible = false; Selection(); } }
private void pictureBox1_Click(object sender, EventArgs e) { if (textBox1.Text == "" || textBox8.Text == "") { MessageBox.Show("Vous devez remplir les champs vides!", "Champs vides", MessageBoxButtons.OK); label1.ForeColor = Color.Black; label2.ForeColor = Color.Black; label9.ForeColor = Color.Black; label4.ForeColor = Color.Black; label5.ForeColor = Color.Black; label6.ForeColor = Color.Black; label8.ForeColor = Color.Black; label9.ForeColor = Color.Black; if (textBox1.Text == "") { label1.ForeColor = Color.Red; } if (textBox8.Text == "") { label9.ForeColor = Color.Red; } } else { if (textBox5.Text == "") { textBox5.Text = "0"; } if (textBox6.Text == "") { textBox6.Text = "0"; } int numero_Facture = Convert.ToInt16(textBox1.Text); string date_Facture = dateTimePicker1.Value.ToString("dd / MM / yyyy"); double timbre_Facture = Convert.ToDouble(textBox5.Text); double remise_Facture = Convert.ToDouble(textBox6.Text); double montantHT_Facture = Convert.ToDouble(textBox3.Text); double montantTTC_Facture = Convert.ToDouble(textBox4.Text); int Client_codeClient = Convert.ToInt16(textBox8.Text); string statut_Facture; if (radioButton1.Checked == true) statut_Facture = radioButton1.Text; else { statut_Facture = radioButton2.Text; } Facture F = new Facture(numero_Facture, date_Facture, timbre_Facture, remise_Facture, montantHT_Facture, montantTTC_Facture, statut_Facture, Client_codeClient); F.creerFacture(); f.factureTableAdapter.Fill(f.gestioncommercialeDataSet1.facture); for (int i = 0; i < dataGridView1.Rows.Count; i++) { //numero_ligneFacture : numero de la ligne_factue dans la base string MyConString = "SERVER=localhost;" + "DATABASE=gestioncommerciale;" + "UID=root;" + "PASSWORD=freedomity;"; MySqlConnection connection = new MySqlConnection(MyConString); MySqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "select count(*) from lignefacture"; //where Facture_numeroFacture = " + Facture_numeroFacture; connection.Open(); int num = Convert.ToInt32(cmd.ExecuteScalar()); connection.Close(); if (num != 0) { cmd.CommandText = "select max(numero_ligneFacture) from lignefacture;"; //where Facture_numeroFacture = " + Facture_numeroFacture; connection.Open(); numero_ligneFacture = Convert.ToInt32(cmd.ExecuteScalar()) + 1; connection.Close(); } else { numero_ligneFacture = 1; } dataGridView1.Rows[i].Cells[8].Value = numero_ligneFacture; numero_ligneFacture = Convert.ToInt16(dataGridView1.Rows[i].Cells[8].Value); Produit_codeProduit = dataGridView1.Rows[i].Cells[1].Value.ToString(); quantite = Convert.ToInt16(dataGridView1.Rows[i].Cells[6].Value); montant_Produit = Convert.ToDouble(dataGridView1.Rows[i].Cells[7].Value); Facture_numeroFacture = numero_Facture; LigneFacture L = new LigneFacture(numero_ligneFacture,Produit_codeProduit, quantite, montant_Produit, Facture_numeroFacture); L.AjouterLigneFacture(); } //this.lignefactureTableAdapter.Fill(this.gestioncommercialeDataSet1.lignefacture); Hide(); ac.Enabled = true; } }
public static bool SupprimerLignesFacture(LigneFacture lignesFacture) { return(LigneFactureStore.Instance.Supprimer(lignesFacture)); }
public static void ModifierLignesFacture(LigneFacture lignesFacture, Facture facture, Bareme bareme, decimal prix, bool archive) { LigneFactureStore.Instance.Modifier(lignesFacture, facture, bareme, prix, archive); }
public LigneFactureVM(LigneFacture ligne) { Ligne = ligne; }
public async void TransfertTicket() { ticket.Client = this.SelectedClient; ticket.MontantPaye += MontantRecu; if (ticket.Reste <= 0) { ticket.EstPaye = true; } Facture fac = new Facture(); fac.EstDelivrer = true; fac.Position = ticket.Position; fac.Series = settings.SeriesFacture; fac.EstPaye = (MontantRetour >= 0); fac.Client = SelectedClient?.Id; fac.NomClient = SelectedClient?.NomComplet; fac.DateCreation = DateTime.Now; fac.DateEcheance = DateTime.Now; fac.Remarques = $"{ticket.ticketType.ToString()} {ticket.Numero}"; fac.VenteComptoir = true; fac.UpdateStock = true; var repas = ticket.CarteLines; foreach (var item in repas) { LigneFacture line = item.article.Map("LigneFacture") as LigneFacture; line.PrixUnitaire = item.PricUnitaire; line.Qts = item.Qts; fac.ArticleFacture.Add(line); } if (DeleteTicket && ticket.Reste > 0) { var response = MessageBox.Show("etes vous sur de vouloir supprimer le ticket partiellement payée?", "SUPPRIMER TICKET?", MessageBoxButton.YesNo); if (response == MessageBoxResult.No) { return; } } if (CreateFacture && ticket.Reste > 0) { MessageBox.Show("Vous pouvez pas facturer une commande partiellement payée. Décocher <FACTURER>"); return; } if (CreateFacture) { try { //214 214 fac.RemiseGlobal = ticket.Remise; ticket.RefFacture = fac.Id; if (settings.SeriesFacture != null && settings.SeriesFacture != ObjectId.Empty) { fac.Series = settings.SeriesFacture; } fac.Save(); fac.Submit(); //var paiement = fac.SaisirPaiement(false); //paiement.Save(); //paiement.Submit(); } catch (Exception s) { MessageBox.Show(s.Message); } } if (PrintKitchen) { } if (PrintPdf) { var local = PosSettings.getInstance().POSPrinter; if (string.IsNullOrWhiteSpace(settings.NomTemplate)) { MessageBox.Show("Définis le modéle d'impression dans paramétres"); return; } var doc = fac.ExportWORD(fac.GetType(), settings.NomTemplate, !settings.DontUseHeader); try { const string ESC = "\u001B"; const string p = "\u0070"; const string m = "\u0000"; const string t1 = "\u0025"; const string t2 = "\u0250"; const string openTillCommand = ESC + p + m + t1 + t2; RawPrinterHelper.SendStringToPrinter(local, openTillCommand); ProcessStartInfo info = new ProcessStartInfo(doc); info.Arguments = "\"" + local + "\""; info.Verb = "Printto"; info.CreateNoWindow = true; info.WindowStyle = ProcessWindowStyle.Hidden; Process.Start(info); } catch (Exception s) { MessageBox.Show(s.Message); } } if (OpenPdf) { await DataHelpers.Shell.OpenScreenDetach(fac, fac.Name); } if (DeleteTicket) { this.RequestClose(true); } else { this.RequestClose(false); } }
public bool Supprimer(LigneFacture ligneFacture) { return(Database.Instance.delete(ligneFacture)); }
public IActionResult OnGet(int id) { ligneFacture = _facture.GetBillsDetail(id); return(Page()); }
public void SupprimerLigneFacture() { if (dataGridView1.Rows.Count == 0) MessageBox.Show("Liste vide!", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); else { DialogResult rsl = MessageBox.Show("Voulez-vous vraiment éliminer ce produit de la facture?", "Supprimer Produit", MessageBoxButtons.YesNo); if (rsl == DialogResult.Yes) { int numero_ligneFacture = Convert.ToInt16(dataGridView1.CurrentRow.Cells[0].Value.ToString()); LigneFacture L = new LigneFacture(numero_ligneFacture); L.SupprimerLigneFacture(); this.lignefactureTableAdapter.Fill(this.gestioncommercialeDataSet1.lignefacture); Selection(); } } }
private void pictureBox6_Click_1(object sender, EventArgs e) { if (textBox2.Text == "" || textBox7.Text == "") { MessageBox.Show("Vous devez remplir les champs vides!", "Champs vides", MessageBoxButtons.OK); label7.ForeColor = Color.Black; label8.ForeColor = Color.Black; if (textBox2.Text == "") { label7.ForeColor = Color.Red; } if (textBox7.Text == "") { label8.ForeColor = Color.Red; } } else { //numero_ligneFacture int numero_ligneFacture; if (dataGridView1.Rows.Count == 0) { numero_ligneFacture = 1; } else { string MyConString = "SERVER=localhost;" + "DATABASE=gestioncommerciale;" + "UID=root;" + "PASSWORD=freedomity;"; MySqlConnection connection = new MySqlConnection(MyConString); MySqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "select max(numero_ligneFacture) from lignefacture"; connection.Open(); numero_ligneFacture = Convert.ToInt32(cmd.ExecuteScalar()) + 1; connection.Close(); } string Produit_codeProduit = textBox2.Text; //selectionner le prix produit string MyConString2 = "SERVER=localhost;" + "DATABASE=gestioncommerciale;" + "UID=root;" + "PASSWORD=freedomity;"; MySqlConnection connection2 = new MySqlConnection(MyConString2); MySqlCommand cmd2 = connection2.CreateCommand(); cmd2.CommandText = "select prix_vente_produit from produit where code_produit ='" + Produit_codeProduit + "';"; connection2.Open(); prix_vente_produit = Convert.ToInt32(cmd2.ExecuteScalar()); connection2.Close(); //selectionner le TVA produit cmd2.CommandText = "select TVA_produit from produit where code_produit ='" + Produit_codeProduit + "';"; connection2.Open(); TVA_produit = Convert.ToInt32(cmd2.ExecuteScalar()); connection2.Close(); //selectionner le remise produit cmd2.CommandText = "select remise_produit from produit where code_produit ='" + Produit_codeProduit + "';"; connection2.Open(); remise_produit = Convert.ToInt32(cmd2.ExecuteScalar()); connection2.Close(); int quantite = Convert.ToInt16(textBox7.Text); double montant_Produit = quantite * prix_vente_produit; int Facture_numeroFacture = Convert.ToInt16(textBox1.Text); //recuperer le montant HT de la facture montantHT_Facture += montant_Produit; textBox3.Text = montantHT_Facture.ToString(); //recuperer le montant TTC montantTTC_Facture = montantHT_Facture + ((TVA_produit * montantHT_Facture) / 100); textBox4.Text = montantTTC_Facture.ToString(); LigneFacture L = new LigneFacture(numero_ligneFacture, Produit_codeProduit, quantite, montant_Produit, Facture_numeroFacture); L.AjouterLigneFacture(); this.lignefactureTableAdapter.Fill(this.gestioncommercialeDataSet1.lignefacture); textBox2.Text = ""; textBox7.Text = ""; panel1.Visible = false; Selection(); } }