Esempio n. 1
0
        //Bouton Importer fichier csv
        private void SélectionnerLeFichierDactivitéToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //initialisation de la db
            DBConnect.DbConnection();

            //Variables de sélection du mois en cours
            int      monthcombo       = comboBox1.SelectedIndex + 1;
            int      yearcombo        = Int32.Parse(comboBox3.Text);
            DateTime DateSelectionnee = new DateTime(yearcombo, monthcombo, 1);

            //Liste des activités à charger depuis csv
            List <ENT_Activites> activiteCollection = new List <ENT_Activites>();
            //on ouvre la sélection d'un fichier

            var filePath = string.Empty;

            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                //openFileDialog.InitialDirectory = "c:\\";
                openFileDialog.Filter           = "fichier csv (*.csv)|*.csv|Tous les fichiers (*.*)|*.*";
                openFileDialog.FilterIndex      = 1;
                openFileDialog.RestoreDirectory = true;

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    //Get the path of specified file
                    filePath = openFileDialog.FileName;
                }
            }
            //suppression des activités pour le mois en cours
            DAL_Activites.DeleteAll(DBConnect.dbconn);

            //On charge tout dans la collection d'activite
            if (filePath != "")
            {
                using (TextFieldParser parser = new TextFieldParser(filePath))
                {
                    parser.TextFieldType = FieldType.Delimited;
                    parser.SetDelimiters(";");
                    while (!parser.EndOfData)
                    {
                        //Processing row
                        string[] fields = parser.ReadFields();
                        //MessageBox.Show(fields[0]);
                        if (fields[0] != "Date")
                        {
                            try
                            {
                                DateTime madate = DateTime.ParseExact(fields[0], "dd/MM/yy", CultureInfo.InvariantCulture);
                                if (madate.Month == DateSelectionnee.Month & madate.Year == DateSelectionnee.Year)
                                {
                                    //MessageBox.Show("on est dans la date ! " + fields[0]);
                                    //on ajoute la ligne dans notre activitecsv
                                    ENT_Activites monActivite = new ENT_Activites();
                                    Console.WriteLine(fields[0]);
                                    monActivite.Dateact        = DateTime.ParseExact(fields[0], "dd/MM/yy", CultureInfo.InvariantCulture);
                                    monActivite.Temps          = float.Parse(fields[1], CultureInfo.InvariantCulture.NumberFormat);
                                    monActivite.Tache          = fields[2];
                                    monActivite.Nomutilisateur = fields[3];
                                    monActivite.Projet         = fields[4];

                                    //récupération du compte
                                    ENT_Comptes Moncompte = DAL_Comptes.GetOneComptesByFiliale(DBConnect.dbconn, fields[7]);
                                    if (Moncompte.Id > 0)
                                    {
                                        //on affecte le compte à l'activité
                                        monActivite.ENT_ComptesId = Moncompte.Id;
                                        monActivite.ENT_Comptes   = Moncompte;
                                        //MessageBox.Show(Moncompte.Id.ToString());
                                    }
                                    else
                                    {
                                        //on créé le compte
                                        ENT_Comptes Moncompte2 = new ENT_Comptes();
                                        Moncompte2.Filiale = fields[7];
                                        DAL_Comptes.CreateComptes(DBConnect.dbconn, Moncompte2);
                                        //on affecte le compte à l'activité
                                        monActivite.ENT_Comptes   = Moncompte2;
                                        monActivite.ENT_ComptesId = Moncompte2.Id;
                                    }

                                    //on ajout l'activité à la liste d'activite
                                    activiteCollection.Add(monActivite);
                                }
                            }
                            catch (FormatException)
                            {
                                Console.WriteLine("{0} n'est pas dans le format dd/MM/yy", fields[0]);
                            }
                        }
                    }
                    //on persiste toutes les activités en base
                    DAL_Activites.InsertListofActivities(DBConnect.dbconn, activiteCollection);
                    //GestionCSVActivite.listeActivite = activiteCollection;

                    /*
                     * GestionCSVActivite.ListeClientDistinct();
                     * GestionCSVActivite.ListeUtilisateurDistinct();
                     */
                    MessageBox.Show("Activitès chargées !");
                    //on raffraichit notre grid
                    refreshDataGridView();
                }
            }
        }
Esempio n. 2
0
 public void refreshDataGridView()
 {
     DBConnect.DbConnection();
     eNTComptesBindingSource.DataSource = DAL_Comptes.GetAllComptes(DBConnect.dbconn);
 }