Het hier gegeven voorbeeld toont een implementatie van CustomPages. De behoefte van het bedrijf is als volgt: chauffeurs moeten toegang hebben tot een lijst met bestellingen die geleverd moeten worden aan klanten. Deze gebruikers hebben soms beperkte connectiviteit, wat betekent dat ze niet altijd een interneterbinding hebben. Wanneer er wel een verbinding mogelijk is, bijvoorbeeld aan het begin of einde van de dag, kunnen ze bestellingen ontvangen in hun MercatorPenguin en de voltooide leveringen doorsturen. Gedurende de dag kan de lijst met bestellingen worden bijgewerkt zodra er weer een verbinding beschikbaar is.

Een klik op de "Synchro"-knop:
- downloadt nieuwe bestellingen,
- stuurt de voltooide bestellingen naar Mercator ERP en verwijdert ze uit de lijst.
In deze ontwikkeling, die alleen geldig is voor het voorbeeld dat wordt gegeven, is er geen voorziening voor het bijwerken van bestellingen dia al zijn gedownload.
Wanneer de gebruiker van MercatorPenguin een bestelling selecteert, wordt het tweede scherm geopend. Daar kan hij aanpassingen aan de bestelling maken, zoals:
- een notitie toevoegen,
- geselecteerde artikelen markeren die daadwerkelijk zijn geleverd,
- een of meer artikelen toevoegen vanuit een lijst met artikelen (vast in dit voorbeeld),
- aangeven dat de bestelling is voltooid.
De gegevens worden lokaal opgeslagen op het apparaat dat MercatorPenguin host, in de vorm van een eenvoudig tekstbestand met een json-weergave van de bestelling.
Het OfflineOrders project bevat de code van deze MAUI-class library.
De synchronisatie kan de lokaal opgeslagen wijzigingen van voltooide bestellingen naar Mercator ERP verzenden. Dit gebeurt door het uitvoeren van op maat geschreven code in de Mercator-omgeving vanaf een CustomPage. De code die in Mercator wordt uitgevoerd, wordt gecompileerd uit het project OfflineOrdersServer (een Windows-class library)
De bundel die toegang geeft tot deze functies is als volgt:
XAML Zoeken:
<m:SearchButton IsVisible="False" />
SQL -query:
select 1
XAML ListViewCell:
<CustomPage>
<Android>
<MainAssembly><Other\OfflineTasks\Android\OfflineOrders.dll</MainAssembly>
</Android>
<iOS>
<MainAssembly><Other\OfflineTasks\iOS\OfflineOrders.dll</MainAssembly>
</iOS>
<ClassName>OfflineOrders.OrdersListPage</ClassName>
<NoData>True</NoData>
</CustomPage>
De assemblies zijn als volgt gerangschikt, in "Beheer > SQL Bestanden > Anderen":

Zie ook: MercatorPenguin starten zonder inloggegevens te controleren
Te laden :
0000003245.zip (133 Kb - 03-10-2024)