public List <CommandeAdministration> SelectCommande(int nombreCommandes) { List <CommandeAdministration> listeCommande = new List <CommandeAdministration>(); string query = "SELECT * FROM Commande ORDER BY Id_Commande DESC LIMIT " + nombreCommandes; if (OpenConnection() == true) { MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader dataReader = cmd.ExecuteReader(); while (dataReader.Read()) { CommandeAdministration com = new CommandeAdministration(true); com.IdCommande = Convert.ToInt32(dataReader["Id_Commande"].ToString()); com.Reference = dataReader["Reference_Commande"].ToString(); com.Date = Convert.ToDateTime(dataReader["Date_Commande"]); com.DatePrevisionnelle = Convert.ToDateTime(dataReader["Date_Livraison_Previsionnelle_Commande"]); com.DateEffective = dataReader["Date_Livraison_Effective_Commande"] as DateTime?; com.Prix = Convert.ToDecimal(dataReader["Prix_Commande"]); com.State = (CommandeAdministration.Etat)dataReader["Etat_Commande"]; com.RetourClientCommande = Convert.ToInt32(dataReader["Retour_Client_Commande"]); com.IdClient = Convert.ToInt32(dataReader["Id_Client"]); listeCommande.Add(com); } } return(listeCommande); }
public static List <CommandeAdministration> GenerateRandomCommandes(int nombreCommandes) { //Administration List <CommandeAdministration> listeCommande = new List <CommandeAdministration>(); List <ProduitAdministration> listeProduits = new List <ProduitAdministration>(); listeProduits = ProduitAdministration.GetProduitsFromDataBase(); for (int i = 0; i < nombreCommandes; i++) { listeCommande.Add(new CommandeAdministration(listeProduits)); } foreach (CommandeAdministration com in listeCommande) { foreach (ProduitAdministration pro in com.ListProduit) { pro.DateDebutAssemblage = RandomDate(com.Date, com.DatePrevisionnelle); pro.DateFinAssemblage = RandomDate(pro.DateDebutAssemblage, com.DatePrevisionnelle); } } Administration.DBConnect connect = new Administration.DBConnect(); var listFinaleCommande = listeCommande.Select(item => new { item.IdCommande, item.Reference, item.Date, item.DatePrevisionnelle, item.DateEffective, item.Prix, item.State, item.RetourClientCommande, item.IdClient }); connect.InsertDT(CreateDataTable(listFinaleCommande), "commande"); List <CommandeAdministration> listeCommandesFromDB = CommandeAdministration.GetCommandesFromDataBase(nombreCommandes); for (int i = 0; i < listeCommandesFromDB.Count(); i++) { listeCommandesFromDB[i].ListProduit = listeCommande[i].ListProduit; listeCommandesFromDB[i].RetourClientCommande = listeCommande[i].RetourClientCommande; } foreach (var commande in listeCommandesFromDB) { List <KeyValuePair <int, int> > contient = new List <KeyValuePair <int, int> >(); foreach (var produit in commande.ListProduit) { contient.Add(new KeyValuePair <int, int>((int)produit.Id, commande.IdCommande)); } connect.InsertDT(Commande.CreateDataTable(contient), "contient"); } //Fabrication List <Produit> listePro = new List <Produit>(); foreach (CommandeAdministration commande in listeCommande) { foreach (ProduitAdministration proA in commande.ListProduit) { Produit tempPro = new Produit(true); tempPro.Nom = proA.Nom; tempPro.Prix = proA.Prix; tempPro.ListPiece = proA.ListPiece; tempPro.LigneProduit = proA.LigneProduit; tempPro.Reference = proA.Reference; tempPro.RetourClient = proA.RetourClient; tempPro.Stock = proA.Stock + commande.State == Etat.Annule ? 1 : 0; tempPro.DateDebutAssemblage = proA.DateDebutAssemblage; tempPro.DateFinAssemblage = proA.DateFinAssemblage; listePro.Add(tempPro); //on cast les ProduitAdministration en Produits, pour les passer en Fabrication } } Produit.MakeProduit(listePro); //Expédition var listFinaleCommandeExpedition = listeCommande.Select(item => new { item.IdCommande, item.Reference, item.Date, item.DateExpedition, item.IdClient }); Expédition.DBConnect connectExpe = new Expédition.DBConnect(); connectExpe.InsertDT(CreateDataTable(listFinaleCommandeExpedition), "commande"); //Préparation var listFinaleCommandePreparation = listeCommande.Select(item => new { item.IdCommande, item.Reference, item.Temps, item.DateDebut, item.DateFin }); Préparation.DBConnect connectPrep = new Préparation.DBConnect(); connectPrep.InsertDT(CreateDataTable(listFinaleCommandePreparation), "commande"); List <Commande> listeCommandesFromDBPrep = Commande.GetCommandesFromDataBase(nombreCommandes); List <CommandeAdministration> listFinaleCommandePrep = new List <CommandeAdministration>(); foreach (var commande in listeCommandesFromDBPrep) { CommandeAdministration ca = new CommandeAdministration(); ca.IdCommande = commande.IdCommande; ca.ListProduit = listeCommande.Where(o => o.Reference == commande.Reference).First().ListProduit; listFinaleCommandePrep.Add(ca); } foreach (var commande in listFinaleCommandePrep) { List <KeyValuePair <int, int> > contient = new List <KeyValuePair <int, int> >(); foreach (var produit in commande.ListProduit) { contient.Add(new KeyValuePair <int, int>(commande.IdCommande, (int)produit.Id)); } connectPrep.InsertDT(Commande.CreateDataTable(contient), "contient"); } return(listeCommande); }