Voici, en résumé, les éléments à prendre en considération pour lier une application ASP.net à Mercator :
- l'application se lie à un Mercator . Le site doit donc utiliser au minimum le Framework 4.8 (Il faut donc que l'application pool qui sera utilisée sur IIS soit aussi lié au Framework 4.0)
- dans le site web, il faut ajouter une référence vers MercatorTunnel.dll et MercatorUi.dll (version compilée pour le Framework 4) Ces dll seront trouvées dans le répertoire principal de Mercator
- dans les sources du site
- il faut ajouter une reférence statique vers une instance de MercatorUi.Main. Lors de son instanciation, cette classe va charger tout l'environnement de données et d'objets nécessaires au bon fonctionnement de MercatorUi.dll (Par exemple, dans App_code\Globals.cs)
public static MercatorUi.Main main = null;
- ensuite , il convient d'utiliser GLOBAL.ASAX. Il s'agit du "ASP.NET application file" qui permet de gérer les évènements sur l'application ou les sessions. (Pour en ajouter un, il faut cliquer-droit sur le root du site et ajouter ce composant). Lors du démarrage du site ASP.net, la classe MercatorUi.Main sera instanciée et lors de la fermeture de l'application ASP.net, elle sera correctement relâchée.
void Application_Start(object sender, EventArgs e)
{
MercatorApi.Api.IsWeb = true;
Globals.main = new MercatorUi.Main(@"c:\Mercator", null, "Guy", "guy");
}
void Application_End(object sender, EventArgs e)
{
if (Globals.main != null)
{
Globals.main.Dispose();
Globals.main = null;
}
}
Si on souhaite utiliser MercatorReporting, il faut placer référencer cet assembly et l'initialiser comme suit (dans Application _Start)
Divers.main.InitReporting(MercatorApi.Api.AddBS(AppDomain.CurrentDomain.BaseDirectory) + "bin\\MercatorReporting.dll");
A partir de là, il est possible d'utiliser tous les éléments de MercatorUi.dll, qui correspondent à des fonctionnalités de Mercator ne requérant pas d'interface utilisateur. Il sera, par exemple, simple d'utiliser :
- MercatorUi.Engine.Cpta.BookingEngine pour créer une écriture comptable
- MercatorUi.Engine.Crm.ActionEngine pour créer une action dans le CRM
- MercatorUi.Engine.Gescom.BillingEngine pour créer un document de vente ou d'achat dans la gestion commerciale
- MercatorUi.Engine.Gescom.TransferEngine pour créer un transfert de dépôt
- MercatorUi.Engine.Gescom.InventoryEngine pour créer un inventaire
Voir aussi cette page qui détaille comment utiliser depuis une application .net externe les ressources de Mercator.