Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 561ffff03e | |||
| 53eed8eda3 |
+7
-3
@@ -16,9 +16,13 @@ Versionsschema ist `x.x.x.x` (siehe `release.sh`).
|
||||
"geloescht" ansehen, ihr Mapping verwerfen und sie beim naechsten Lauf neu
|
||||
anlegen. Der Kontakt-Abruf bricht jetzt mit Fehlermeldung ab (inkl.
|
||||
Wiederholversuch), statt still mit einer Teil-Liste weiterzuarbeiten.
|
||||
- Ist ein Starface-Kontakt nicht in der geladenen Liste (z.B. anderes
|
||||
Adressbuch), wird das Mapping jetzt **behalten** statt verworfen und neu
|
||||
angelegt.
|
||||
- Ist ein Starface-Kontakt nicht in der geladenen Liste, wird er jetzt per
|
||||
ID direkt abgefragt: existiert er noch (liegt also in einem **anderen
|
||||
Adressbuch**), bleibt das Mapping erhalten und es wird nichts neu angelegt
|
||||
(keine Dublette). Ist er **wirklich geloescht** (404), wird er je nach
|
||||
Sync-Richtung in Starface neu angelegt bzw. die Loeschung nach Outlook
|
||||
gespiegelt. (Vorher wurde das Mapping faelschlich behalten und der Kontakt
|
||||
in Outlook->Starface gar nicht neu angelegt.)
|
||||
- Das Wiederzuordnen bestehender Kontakte war zu streng: eine von Starface
|
||||
umformatierte Telefonnummer konnte einen eindeutigen E-Mail- oder
|
||||
Namens-Treffer ueberstimmen und so eine Neuanlage statt Verknuepfung
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
; Erfordert Inno Setup 6.x (https://jrsoftware.org/isinfo.php)
|
||||
|
||||
#define MyAppName "Starface Outlook Sync"
|
||||
#define MyAppVersion "0.0.0.24"
|
||||
#define MyAppVersion "0.0.0.25"
|
||||
#define MyAppPublisher "HackerSoft - Hacker-Net Telekommunikation"
|
||||
#define MyAppURL "https://www.hacker-net.de"
|
||||
#define MyAppExeName "StarfaceOutlookSync.exe"
|
||||
|
||||
@@ -181,15 +181,44 @@ namespace StarfaceOutlookSync.Services
|
||||
|
||||
if (oc != null && sc == null)
|
||||
{
|
||||
// Starface-Kontakt nicht in der geladenen Liste.
|
||||
// Da unvollstaendige Ladevorgaenge inzwischen abgebrochen
|
||||
// werden (siehe StarfaceApiClient), liegt das hoechstens an
|
||||
// einem anderen Adressbuch. NICHT loeschen und NICHT neu
|
||||
// anlegen - sonst entstehen Dubletten. Mapping behalten,
|
||||
// beim naechsten Sync wird es erneut abgeglichen.
|
||||
Log($" Starface-Kontakt nicht in Liste (anderes Adressbuch?), behalte Mapping: {oc.DisplayName}");
|
||||
newMappings.Add(mapping);
|
||||
continue;
|
||||
// Starface-Kontakt nicht in der geladenen Liste. Zwei Faelle
|
||||
// unterscheiden, indem wir ihn per ID direkt abfragen:
|
||||
// (a) per ID noch vorhanden -> liegt in einem ANDEREN
|
||||
// Adressbuch -> Mapping behalten, NICHT neu anlegen
|
||||
// (sonst Dublette).
|
||||
// (b) per ID 404 -> in Starface WIRKLICH geloescht.
|
||||
bool stillExists = !string.IsNullOrEmpty(mapping.StarfaceId)
|
||||
&& await starface.GetContactAsync(mapping.StarfaceId) != null;
|
||||
|
||||
if (stillExists)
|
||||
{
|
||||
Log($" Starface-Kontakt in anderem Adressbuch, behalte Mapping: {oc.DisplayName}");
|
||||
newMappings.Add(mapping);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Wirklich geloescht.
|
||||
if (profile.SyncDirection == SyncDirection.Both
|
||||
|| profile.SyncDirection == SyncDirection.OutlookToStarface)
|
||||
{
|
||||
// Outlook ist (mit-)fuehrend -> Kontakt in Starface neu
|
||||
// anlegen. Mapping verwerfen und oc wieder freigeben,
|
||||
// damit Phase 2 ihn anlegt (inkl. Duplikat-Pruefung).
|
||||
Log($" Starface-Kontakt geloescht, wird neu angelegt: {oc.DisplayName}");
|
||||
processedOutlookIds.Remove(oc.OutlookEntryId);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
// StarfaceToOutlook: Starface ist fuehrend, Loeschung
|
||||
// nach Outlook spiegeln.
|
||||
if (_outlookService.DeleteContact(oc.OutlookEntryId))
|
||||
{
|
||||
result.Updated++;
|
||||
Log($" Geloescht (SF->OL): {oc.DisplayName}");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (oc != null && sc != null)
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
<AssemblyTitle>Starface Outlook Sync</AssemblyTitle>
|
||||
<Company>HackerSoft - Hacker-Net Telekommunikation</Company>
|
||||
<Product>Starface Outlook Sync</Product>
|
||||
<Version>0.0.0.24</Version>
|
||||
<AssemblyVersion>0.0.0.24</AssemblyVersion>
|
||||
<FileVersion>0.0.0.24</FileVersion>
|
||||
<Version>0.0.0.25</Version>
|
||||
<AssemblyVersion>0.0.0.25</AssemblyVersion>
|
||||
<FileVersion>0.0.0.25</FileVersion>
|
||||
<Description>Synchronisiert Outlook-Kontakte mit Starface Telefonanlage</Description>
|
||||
<Copyright>Stefan Hacker - HackerSoft</Copyright>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace StarfaceOutlookSync.UI
|
||||
|
||||
var lblVersion = new Label
|
||||
{
|
||||
Text = "Version 0.0.0.24",
|
||||
Text = "Version 0.0.0.25",
|
||||
Left = 0, Top = 56, Width = 340, Height = 20,
|
||||
TextAlign = ContentAlignment.MiddleCenter,
|
||||
ForeColor = Color.Gray
|
||||
|
||||
Reference in New Issue
Block a user