/** * Au click du bouton "Ajouter fichier", on ouvre la fenêtre de sélection d'un fichier de mail * Puis on ajoute ce fichier sur la view et en DB */ private void button2_Click_1(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "CSV file (*.csv)|*.csv| Txt file (*.txt)|*.txt"; // file types, that will be allowed to upload dialog.Multiselect = true; // allow/deny user to upload more than one file at a time int campaignSelectedId = Convert.ToInt32(listView1.SelectedItems[0].SubItems[1].Text); //campaignId de la campagne selectionnée if (dialog.ShowDialog() == DialogResult.OK) // if user clicked OK { String path = dialog.FileName; // get name of file using (StreamReader reader = new StreamReader(new FileStream(path, FileMode.Open), new UTF8Encoding())) { EmailsFile newEmailsFile = new EmailsFile(dialog.SafeFileName); //Ajout du nouveau EmailsFile associé à la campagne selectionnée en passant par le controller MainController.getInstance().AddEmailsFileByCampaignId(campaignSelectedId, newEmailsFile); //Mise à jour de la liste de fichiers d'emails this.UpdateEmailsFileListFromDb(MainController.getInstance().GetCampaignEmailsFilesById(campaignSelectedId)); // Path courrant du projet string workingDirectory = Environment.CurrentDirectory; //Copie du fichier dans le repertoire du projet File.Copy(path, (@Directory.GetParent(workingDirectory).Parent.FullName + @"\Storage\EmailsFiles\" + @dialog.SafeFileName), true); //Création d'une copie du fichier selectionné, à l'intérieur du projet System.Windows.Forms.MessageBox.Show("Fichier sauvegardé !"); } } }
/* Ajoute un EmailsFile en DB à la campagne dont l'id est donné en param*/ public bool AddCampaignEmailsFile(int campaignId, EmailsFile newEmailsFile) { Campaign campaign = this.GetCampaignById(campaignId); campaign.emailsFileList.Add(newEmailsFile); int ret = this.dbContext.SaveChanges(); return(ret != 0 ? true : false); }
/* Ajoute un nouveau EmailsFile à la campagne dont le campaignId est passé en param */ public void AddEmailsFileByCampaignId(int campaignSelectedId, EmailsFile newEmailsFile) { this.campaignDao.AddCampaignEmailsFile(campaignSelectedId, newEmailsFile); }