Exemple de CustomPage : pointage de prestations

0000003259     -      20/11/2024

L'exemple fourni ici montre une implémentation des CustomPages. Il s'agit d'un simple pointage de prestations sur des clients et selon des catégories de tâches. Le pointage reste actif même quand l'écran n'est plus visible ou que la connexion Internet est temporairement interrompue.

TimeSheet

Les pointages sont stockés dans une table plate qu'il faut créer dans la base de données :

CREATE TABLE [dbo].[POINTAGES](
[ID] [uniqueidentifier] NOT NULL default newid(),
[MOMENT_1] [datetime] NOT NULL default '19000101',
[MOMENT_2] [datetime] NULL,
[ID_USER] [char](10) NOT NULL default '',
[ID_CAT] [char](10) NOT NULL default '',
[ID_CLI] [char](10) NOT NULL default '',
[PAUSE_FROM] [uniqueidentifier] NULL,
 CONSTRAINT [PK_POINTAGES] PRIMARY KEY CLUSTERED 
(
[ID] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO

create index MOMENT_1 on dbo.POINTAGES(MOMENT_1)
create index MOMENT_2 on dbo.POINTAGES(MOMENT_2)
create index ID_USER on dbo.POINTAGES(ID_USER)
create index ID_CLI on dbo.POINTAGES(ID_CLI)

 

Dans un développement plus élaboré, les catégories pourraient provenir de la base de données de Mercator (par exemple depuis une table libre).

Le projet TimeSheet reprend le code de cette bibliothèque de classes MAUI.


Le bundle permettant l'accès à ces fonctionnalités est le suivant :

XAML Recherche :

<m:SearchButton IsVisible="False" />

Requête SQL :

select 1

XAML ListViewCell :

<CustomPage>
<Android>
<MainAssembly><Other\TimeSheet\Android\TimeSheet.dll</MainAssembly>
</Android>
<iOS>
<MainAssembly><Other\TimeSheet\iOS\TimeSheet.dll</MainAssembly>
</iOS>
<ClassName>OfflineOrders.OrdersListPage</ClassName>
        <NoData>True</NoData>
</CustomPage>

 

Les assemblies sont disposées comme ceci, dans "Gestion > Fichiers SQL > Autres" :

TimeSheetAssemblies

 



A télécharger : 0000003259.zip (6 Kb - 18/11/2024)


Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)