Compare commits
No commits in common. "master" and "0.9.3" have entirely different histories.
@ -230,40 +230,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<SplashScreen Include="hermes_splash.png" />
|
<SplashScreen Include="hermes_splash.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="doc\img\main.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="doc\img\add.png" />
|
|
||||||
<Resource Include="doc\img\first_launch_1.png" />
|
|
||||||
<Resource Include="doc\img\first_launch_2.png" />
|
|
||||||
<Resource Include="doc\img\list_1.png" />
|
|
||||||
<Resource Include="doc\img\list_2.png" />
|
|
||||||
<Resource Include="doc\img\menu_display.png" />
|
|
||||||
<Resource Include="doc\img\menu_edit.png" />
|
|
||||||
<Resource Include="doc\img\menu_file.png" />
|
|
||||||
<Resource Include="doc\img\menu_tools.png" />
|
|
||||||
<Resource Include="doc\img\smartscreen_1.png" />
|
|
||||||
<Resource Include="doc\img\smartscreen_2.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="doc\img\publi_1.png" />
|
|
||||||
<Resource Include="doc\img\publi_2.png" />
|
|
||||||
<Resource Include="doc\img\publi_3.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="doc\img\ovh_1.png" />
|
|
||||||
<Resource Include="doc\img\ovh_2.png" />
|
|
||||||
<Resource Include="doc\img\ovh_3.png" />
|
|
||||||
<Resource Include="doc\img\ovh_4.png" />
|
|
||||||
<Resource Include="doc\img\ovh_5.png" />
|
|
||||||
<Resource Include="doc\img\ovh_6.png" />
|
|
||||||
<Resource Include="doc\img\ovh_7.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="doc\img\sms_1.png" />
|
|
||||||
<Resource Include="doc\img\sms_2.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -154,6 +154,12 @@
|
|||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_UNDEFINED"
|
"MsmKey" = "8:_UNDEFINED"
|
||||||
|
"OwnerKey" = "8:_5FE7F4CD40C5D5EAEC6A24FAE0548A1E"
|
||||||
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
}
|
||||||
|
"Entry"
|
||||||
|
{
|
||||||
|
"MsmKey" = "8:_UNDEFINED"
|
||||||
"OwnerKey" = "8:_EDA497A114444E23814EEE023731C727"
|
"OwnerKey" = "8:_EDA497A114444E23814EEE023731C727"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
@ -187,12 +193,6 @@
|
|||||||
"OwnerKey" = "8:_19F88EB0C5E322CF5572D8C5A094E0A2"
|
"OwnerKey" = "8:_19F88EB0C5E322CF5572D8C5A094E0A2"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
}
|
}
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_UNDEFINED"
|
|
||||||
"OwnerKey" = "8:_5FE7F4CD40C5D5EAEC6A24FAE0548A1E"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
"Configurations"
|
"Configurations"
|
||||||
{
|
{
|
||||||
@ -812,15 +812,15 @@
|
|||||||
{
|
{
|
||||||
"Name" = "8:Microsoft Visual Studio"
|
"Name" = "8:Microsoft Visual Studio"
|
||||||
"ProductName" = "8:Hermes"
|
"ProductName" = "8:Hermes"
|
||||||
"ProductCode" = "8:{3B44B09A-1491-4CE0-A6A5-ABD54F4C14F8}"
|
"ProductCode" = "8:{2F4EE848-55DE-4984-B2BF-B6CC88401417}"
|
||||||
"PackageCode" = "8:{618674BD-7E73-4707-ABF3-4183A348D565}"
|
"PackageCode" = "8:{251B34BB-BC8A-4537-B4CA-14054A145302}"
|
||||||
"UpgradeCode" = "8:{A8FB75F3-57A5-4B7D-A0AE-9E87F69529B0}"
|
"UpgradeCode" = "8:{A8FB75F3-57A5-4B7D-A0AE-9E87F69529B0}"
|
||||||
"AspNetVersion" = "8:2.0.50727.0"
|
"AspNetVersion" = "8:2.0.50727.0"
|
||||||
"RestartWWWService" = "11:FALSE"
|
"RestartWWWService" = "11:FALSE"
|
||||||
"RemovePreviousVersions" = "11:TRUE"
|
"RemovePreviousVersions" = "11:TRUE"
|
||||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||||
"InstallAllUsers" = "11:FALSE"
|
"InstallAllUsers" = "11:FALSE"
|
||||||
"ProductVersion" = "8:1.0.0"
|
"ProductVersion" = "8:0.9.3"
|
||||||
"Manufacturer" = "8:Aztrom"
|
"Manufacturer" = "8:Aztrom"
|
||||||
"ARPHELPTELEPHONE" = "8:"
|
"ARPHELPTELEPHONE" = "8:"
|
||||||
"ARPHELPLINK" = "8:"
|
"ARPHELPLINK" = "8:"
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
<RowDefinition Height="20"/>
|
<RowDefinition Height="20"/>
|
||||||
<RowDefinition Height="90"/>
|
<RowDefinition Height="90"/>
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
<RowDefinition Height="20"/>
|
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Menu Grid.Row="0" Background="White">
|
<Menu Grid.Row="0" Background="White">
|
||||||
<MenuItem Header="Fichier">
|
<MenuItem Header="Fichier">
|
||||||
@ -126,21 +125,5 @@
|
|||||||
<DataGridTextColumn Header="Date de modification" Visibility="{Binding Source={x:Reference dateModificationViewCheckBox}, Path=IsChecked, Converter={StaticResource Bool2VisibilityConv}}" Binding="{Binding DateModification, StringFormat='dd/MM/yyyy HH:mm'}" Width="*"/>
|
<DataGridTextColumn Header="Date de modification" Visibility="{Binding Source={x:Reference dateModificationViewCheckBox}, Path=IsChecked, Converter={StaticResource Bool2VisibilityConv}}" Binding="{Binding DateModification, StringFormat='dd/MM/yyyy HH:mm'}" Width="*"/>
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
<StatusBar Grid.Row="3">
|
|
||||||
<StatusBarItem Margin="0,0,30,0">
|
|
||||||
<TextBlock>
|
|
||||||
<Run Text="Affichés : "/>
|
|
||||||
<Run Text="{Binding ElementName=dgCitoyens, Path=Items.Count, Mode=OneWay}"/>
|
|
||||||
<Run Text=" éléments"/>
|
|
||||||
</TextBlock>
|
|
||||||
</StatusBarItem>
|
|
||||||
<StatusBarItem>
|
|
||||||
<TextBlock>
|
|
||||||
<Run Text="Sélectionnés : "/>
|
|
||||||
<Run Text="{Binding ElementName=dgCitoyens, Path=SelectedItems.Count, Mode=OneWay}"/>
|
|
||||||
<Run Text=" éléments"/>
|
|
||||||
</TextBlock>
|
|
||||||
</StatusBarItem>
|
|
||||||
</StatusBar>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
@ -257,12 +257,7 @@ 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}\"");
|
sb.AppendLine($"\"{civilite}\";\"{nom}\";\"{nomNaissance}\";\"{prenom}\";\"{profession}\";\"{typeResidence}\";\"{mail}\";\"{tel}\";\"{telPort}\";\"{quartier}\";\"{batiment}\";\"{numeroBatiment}\";\"{adresseLocale}\";\"{cpLocal}\";{villeLocale};\"{adressePrincipale}\";\"{cpPrincipal}\";\"{villePrincipale}\";\"{adresseSecondaire}\";\"{cpSecondaire}\";\"{villeSecondaire}\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
File.WriteAllText(csvPath, sb.ToString(), Encoding.GetEncoding("ISO-8859-1"));
|
||||||
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();
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
ofd.Filter = "Document World|*.doc;*.docx;*.dotx|Tous les ficiers|*.*";
|
ofd.Filter = "Document World|*.doc;*.docx;*.dotx|Tous les ficiers|*.*";
|
||||||
@ -281,14 +276,11 @@ namespace Hermes {
|
|||||||
|
|
||||||
private void Importer_Click(object sender, RoutedEventArgs e) {
|
private void Importer_Click(object sender, RoutedEventArgs e) {
|
||||||
OpenFileDialog ofd = new OpenFileDialog();
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
ofd.Filter = "Fichiers de données|*.csv|Tous les fichiers|*.*";
|
ofd.Filter = "Fichiers de données|*.xls;*.xlsx;*.xlsm;*.csv";
|
||||||
if(ofd.ShowDialog() == true) {
|
if(ofd.ShowDialog() == true) {
|
||||||
if(Path.GetExtension(ofd.FileName).ToLower().Equals(".csv")) {
|
if(Path.GetExtension(ofd.FileName).ToLower().Equals(".csv")) {
|
||||||
StreamReader reader = null;
|
|
||||||
Cursor previousCursor = Mouse.OverrideCursor;
|
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
|
||||||
try {
|
try {
|
||||||
reader = File.OpenText(ofd.FileName);
|
StreamReader reader = File.OpenText(ofd.FileName);
|
||||||
string csvHeader = reader.ReadLine();
|
string csvHeader = reader.ReadLine();
|
||||||
if(csvHeader == null) {
|
if(csvHeader == null) {
|
||||||
return;
|
return;
|
||||||
@ -300,20 +292,11 @@ namespace Hermes {
|
|||||||
Citoyen citoyen = serializer.Deserialize(line);
|
Citoyen citoyen = serializer.Deserialize(line);
|
||||||
if(citoyen != null) {
|
if(citoyen != null) {
|
||||||
dbContext.CitoyenSet.Add(citoyen);
|
dbContext.CitoyenSet.Add(citoyen);
|
||||||
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch(Exception ex) {
|
} catch(Exception ex) {
|
||||||
if(ex is IOException || ex is UnauthorizedAccessException) {
|
MessageBox.Show("Erreur lors de l'import des données", "Importer", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
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 {
|
} else {
|
||||||
ImportWindow importWindow = new ImportWindow(this, ofd.FileName);
|
ImportWindow importWindow = new ImportWindow(this, ofd.FileName);
|
||||||
@ -332,27 +315,16 @@ namespace Hermes {
|
|||||||
sfd.Filter = "Fichier CSV|*.csv";
|
sfd.Filter = "Fichier CSV|*.csv";
|
||||||
sfd.OverwritePrompt = true;
|
sfd.OverwritePrompt = true;
|
||||||
if(sfd.ShowDialog() == true) {
|
if(sfd.ShowDialog() == true) {
|
||||||
StreamWriter s = null;
|
|
||||||
Cursor previousCursor = Mouse.OverrideCursor;
|
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
|
||||||
try {
|
try {
|
||||||
s = File.CreateText(sfd.FileName);
|
StreamWriter s = File.CreateText(sfd.FileName);
|
||||||
CitoyensSerializer serializer = new CitoyensSerializer();
|
CitoyensSerializer serializer = new CitoyensSerializer();
|
||||||
s.WriteLine(serializer.GetCsvHeader());
|
s.WriteLine(serializer.GetCsvHeader());
|
||||||
foreach(Citoyen citoyen in dgCitoyens.SelectedItems) {
|
foreach(Citoyen citoyen in dgCitoyens.SelectedItems) {
|
||||||
s.WriteLine(serializer.Serialize(citoyen));
|
s.WriteLine(serializer.Serialize(citoyen));
|
||||||
}
|
}
|
||||||
} catch(Exception ex) {
|
s.Close();
|
||||||
if(ex is IOException || ex is UnauthorizedAccessException) {
|
} catch(Exception) {
|
||||||
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);
|
MessageBox.Show("Erreur lors de l'export des données", "Exporter", 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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,6 @@ using System.Windows;
|
|||||||
// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut
|
// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut
|
||||||
// en utilisant '*', comme indiqué ci-dessous :
|
// en utilisant '*', comme indiqué ci-dessous :
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.9.3.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.9.3.0")]
|
||||||
[assembly: NeutralResourcesLanguage("fr-FR")]
|
[assembly: NeutralResourcesLanguage("fr-FR")]
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
<GridViewColumn Header="Nom" DisplayMemberBinding="{Binding Nom}" Width="120"/>
|
<GridViewColumn Header="Nom" DisplayMemberBinding="{Binding Nom}" Width="120"/>
|
||||||
<GridViewColumn Header="Prénom" DisplayMemberBinding="{Binding Prenom}" Width="120"/>
|
<GridViewColumn Header="Prénom" DisplayMemberBinding="{Binding Prenom}" Width="120"/>
|
||||||
<GridViewColumn Header="Mobile" DisplayMemberBinding="{Binding Mobile}" Width="120"/>
|
<GridViewColumn Header="Mobile" DisplayMemberBinding="{Binding Mobile}" Width="120"/>
|
||||||
<GridViewColumn Header="Statut de l'envoi" DisplayMemberBinding="{Binding Status}" Width="280"/>
|
<GridViewColumn Header="Statut de l'envoi" DisplayMemberBinding="{Binding Status}" Width="290"/>
|
||||||
</GridView>
|
</GridView>
|
||||||
</ListView.View>
|
</ListView.View>
|
||||||
</ListView>
|
</ListView>
|
||||||
|
@ -10,7 +10,6 @@ using System.Text;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Documents;
|
using System.Windows.Documents;
|
||||||
using System.Windows.Input;
|
|
||||||
|
|
||||||
namespace Hermes {
|
namespace Hermes {
|
||||||
public partial class SmsWindow : Window {
|
public partial class SmsWindow : Window {
|
||||||
@ -82,8 +81,6 @@ namespace Hermes {
|
|||||||
annulerButton.IsEnabled = false;
|
annulerButton.IsEnabled = false;
|
||||||
messageTextBox.IsEnabled = false;
|
messageTextBox.IsEnabled = false;
|
||||||
sending = true;
|
sending = true;
|
||||||
Cursor previousCursor = Mouse.OverrideCursor;
|
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
|
||||||
|
|
||||||
|
|
||||||
string query = $"https://eu.api.ovh.com/1.0/sms/{pref.ovhSmsServiceName}/jobs";
|
string query = $"https://eu.api.ovh.com/1.0/sms/{pref.ovhSmsServiceName}/jobs";
|
||||||
@ -102,21 +99,21 @@ namespace Hermes {
|
|||||||
string ts = ((Int32) DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds).ToString();
|
string ts = ((Int32) DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds).ToString();
|
||||||
string signature = "$1$" + HashSHA1(pref.ovhSmsApplicationSecret + "+" + pref.ovhSmsConsumerKey + "+" + "POST" + "+" + query + "+" + bodyStr + "+" + ts);
|
string signature = "$1$" + HashSHA1(pref.ovhSmsApplicationSecret + "+" + pref.ovhSmsConsumerKey + "+" + "POST" + "+" + query + "+" + bodyStr + "+" + ts);
|
||||||
|
|
||||||
try {
|
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create(query);
|
||||||
HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create(query);
|
req.Method = "POST";
|
||||||
req.Method = "POST";
|
req.ContentType = "application/json";
|
||||||
req.ContentType = "application/json";
|
req.Headers.Add("X-Ovh-Application:" + pref.ovhSmsApplicationKey);
|
||||||
req.Headers.Add("X-Ovh-Application:" + pref.ovhSmsApplicationKey);
|
req.Headers.Add("X-Ovh-Consumer:" + pref.ovhSmsConsumerKey);
|
||||||
req.Headers.Add("X-Ovh-Consumer:" + pref.ovhSmsConsumerKey);
|
req.Headers.Add("X-Ovh-Signature:" + signature);
|
||||||
req.Headers.Add("X-Ovh-Signature:" + signature);
|
req.Headers.Add("X-Ovh-Timestamp:" + ts);
|
||||||
req.Headers.Add("X-Ovh-Timestamp:" + ts);
|
|
||||||
|
|
||||||
using(System.IO.Stream s = req.GetRequestStream()) {
|
using(System.IO.Stream s = req.GetRequestStream()) {
|
||||||
using(System.IO.StreamWriter sw = new System.IO.StreamWriter(s)) {
|
using(System.IO.StreamWriter sw = new System.IO.StreamWriter(s)) {
|
||||||
sw.Write(bodyStr);
|
sw.Write(bodyStr);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
HttpWebResponse resp = (HttpWebResponse) req.GetResponse();
|
HttpWebResponse resp = (HttpWebResponse) req.GetResponse();
|
||||||
using(var stream = resp.GetResponseStream()) {
|
using(var stream = resp.GetResponseStream()) {
|
||||||
var reader = new StreamReader(stream);
|
var reader = new StreamReader(stream);
|
||||||
@ -132,24 +129,11 @@ namespace Hermes {
|
|||||||
} catch(WebException ex) {
|
} catch(WebException ex) {
|
||||||
error = true;
|
error = true;
|
||||||
WebResponse resp = ex.Response;
|
WebResponse resp = ex.Response;
|
||||||
if(resp == null) {
|
using(var stream = resp.GetResponseStream()) {
|
||||||
string errorMsg = ex.Message == null ? "" : ex.Message;
|
var reader = new StreamReader(stream);
|
||||||
stat.Status = $"Erreur de transmission : {errorMsg}";
|
String result = reader.ReadToEnd().Trim();
|
||||||
continue;
|
stat.Status = result;
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
using(var stream = resp.GetResponseStream()) {
|
|
||||||
StreamReader reader = new StreamReader(stream);
|
|
||||||
String result = reader.ReadToEnd().Trim();
|
|
||||||
stat.Status = result;
|
|
||||||
}
|
|
||||||
} catch(Exception) {
|
|
||||||
stat.Status = $"Erreur de transmission";
|
|
||||||
}
|
|
||||||
} catch(Exception ex) {
|
|
||||||
error = true;
|
|
||||||
string errorMsg = ex.Message == null ? "" : ex.Message;
|
|
||||||
stat.Status = $"Erreur de transmission : {errorMsg}";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -158,10 +142,9 @@ namespace Hermes {
|
|||||||
annulerButton.IsEnabled = true;
|
annulerButton.IsEnabled = true;
|
||||||
messageTextBox.IsEnabled = true;
|
messageTextBox.IsEnabled = true;
|
||||||
sending = false;
|
sending = false;
|
||||||
Mouse.OverrideCursor = previousCursor;
|
|
||||||
|
|
||||||
if(error) {
|
if(error) {
|
||||||
MessageBox.Show("Plusieurs envois se sont mal déroulés. Certains numéros de téléphone ne sont peut-être pas valides.", "Envoi de SMS", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show("Plusieurs envois se sont mal déroulés. Vérifiez la validité des numéros de téléphone.", "Envoi de SMS", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
doc/img/add.png
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 19 KiB |
BIN
doc/img/main.png
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 128 KiB |