Amélioration de la gestion d'erreur + Ajout du nombre d'éléments affichés et sélectionnés en ba de la fenêtre principale
This commit is contained in:
@@ -257,7 +257,12 @@ namespace Hermes {
|
||||
sb.AppendLine($"\"{civilite}\";\"{nom}\";\"{nomNaissance}\";\"{prenom}\";\"{profession}\";\"{typeResidence}\";\"{mail}\";\"{tel}\";\"{telPort}\";\"{quartier}\";\"{batiment}\";\"{numeroBatiment}\";\"{adresseLocale}\";\"{cpLocal}\";{villeLocale};\"{adressePrincipale}\";\"{cpPrincipal}\";\"{villePrincipale}\";\"{adresseSecondaire}\";\"{cpSecondaire}\";\"{villeSecondaire}\"");
|
||||
}
|
||||
|
||||
File.WriteAllText(csvPath, sb.ToString(), Encoding.GetEncoding("ISO-8859-1"));
|
||||
try {
|
||||
File.WriteAllText(csvPath, sb.ToString(), Encoding.GetEncoding("ISO-8859-1"));
|
||||
} catch(Exception) {
|
||||
MessageBox.Show("Erreur lors de la préparation des données pour le publipostage.", "Publipostage", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
OpenFileDialog ofd = new OpenFileDialog();
|
||||
ofd.Filter = "Document World|*.doc;*.docx;*.dotx|Tous les ficiers|*.*";
|
||||
@@ -276,11 +281,14 @@ namespace Hermes {
|
||||
|
||||
private void Importer_Click(object sender, RoutedEventArgs e) {
|
||||
OpenFileDialog ofd = new OpenFileDialog();
|
||||
ofd.Filter = "Fichiers de données|*.xls;*.xlsx;*.xlsm;*.csv";
|
||||
ofd.Filter = "Fichiers de données|*.csv|Tous les fichiers|*.*";
|
||||
if(ofd.ShowDialog() == true) {
|
||||
if(Path.GetExtension(ofd.FileName).ToLower().Equals(".csv")) {
|
||||
StreamReader reader = null;
|
||||
Cursor previousCursor = Mouse.OverrideCursor;
|
||||
Mouse.OverrideCursor = Cursors.Wait;
|
||||
try {
|
||||
StreamReader reader = File.OpenText(ofd.FileName);
|
||||
reader = File.OpenText(ofd.FileName);
|
||||
string csvHeader = reader.ReadLine();
|
||||
if(csvHeader == null) {
|
||||
return;
|
||||
@@ -292,11 +300,20 @@ namespace Hermes {
|
||||
Citoyen citoyen = serializer.Deserialize(line);
|
||||
if(citoyen != null) {
|
||||
dbContext.CitoyenSet.Add(citoyen);
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
} catch(Exception ex) {
|
||||
MessageBox.Show("Erreur lors de l'import des données", "Importer", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
if(ex is IOException || ex is UnauthorizedAccessException) {
|
||||
MessageBox.Show("Impossible d'ouvrir le fichier. Il est possible qu'il soit déjà utilisé par un autre programme ou que le chemin d'accès soit incorrect.", "Importer", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
} else {
|
||||
MessageBox.Show("Erreur lors de l'import des données.", "Importer", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
} finally {
|
||||
Mouse.OverrideCursor = previousCursor;
|
||||
if(reader != null) {
|
||||
reader.Close();
|
||||
}
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
} else {
|
||||
ImportWindow importWindow = new ImportWindow(this, ofd.FileName);
|
||||
@@ -315,16 +332,27 @@ namespace Hermes {
|
||||
sfd.Filter = "Fichier CSV|*.csv";
|
||||
sfd.OverwritePrompt = true;
|
||||
if(sfd.ShowDialog() == true) {
|
||||
StreamWriter s = null;
|
||||
Cursor previousCursor = Mouse.OverrideCursor;
|
||||
Mouse.OverrideCursor = Cursors.Wait;
|
||||
try {
|
||||
StreamWriter s = File.CreateText(sfd.FileName);
|
||||
s = File.CreateText(sfd.FileName);
|
||||
CitoyensSerializer serializer = new CitoyensSerializer();
|
||||
s.WriteLine(serializer.GetCsvHeader());
|
||||
foreach(Citoyen citoyen in dgCitoyens.SelectedItems) {
|
||||
s.WriteLine(serializer.Serialize(citoyen));
|
||||
}
|
||||
s.Close();
|
||||
} catch(Exception) {
|
||||
MessageBox.Show("Erreur lors de l'export des données", "Exporter", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
} catch(Exception ex) {
|
||||
if(ex is IOException || ex is UnauthorizedAccessException) {
|
||||
MessageBox.Show("Impossible d'ouvrir ou de créer le fichier. Il est possible qu'il soit déjà utilisé par un autre programme ou que le chemin d'accès soit incorrect.", "Importer", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
} else {
|
||||
MessageBox.Show("Erreur lors de l'export des données.", "Exporter", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
} finally {
|
||||
Mouse.OverrideCursor = previousCursor;
|
||||
if(s != null) {
|
||||
s.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user