Lelibre.Framework: Exemple d'appel dans la couche business

Les corrections / optimisations ne s'arrêtent pas ... En attendant, voici un petit exemple de ce qui sera possible d'effectuer sans problème via ces bibliothèques.
Nous pouvons avoir par exemple dans la couche business des traitements ou de la récupération de collections ... Dans l'exemple ci-dessous, la première méthode récupère les données de la base de donnée et récupère également le "Customer" / les "BillItems" etc. En retour de l'appel "Services.Bill.GetBillList(), on aura une collection d'objets. Pour la seconde méthode, On modifie les lignes de factures et l'on sauvegarde en base de donnée la facture ... (on appliquera les règles définies dans NHibernate pour l'enchainement des objets à persister). On ajoutera égalament dans l'actionManager une tâche à réaliser. Celle-ci s'effectuera que si le commit n'a pas provoqué d'erreur. Dans les autres cas, les actions placées en pile seront annulées.
[csharp]
public virtual IList<Bill> GetBillList()
{
	BillTreeRetrieve billTree = new BillTreeRetrieve();
	billTree.Customer.retrieve = true;
	billTree.BillItems.retrieve = true;
	billTree.BillItems.VatCode.retrieve = true;
	IFilter filter = BillModel.Instance().DateTime.Filter.SetFilter(DateTime.Now, DateTimeFilterType.IsSmallerOrEqualWithTimePrecision);
	IList<ISortOrder> sort = new List<ISortOrder>();
	sort.Add(BillModel.Instance().DateTime.GetSortOrder(SortOrder.Ascending));

        return Find<Bill>(filter, billTreeFilter, sort);
}

public virtual void SaveOrUpdateBill(Bill bill)
{
	CheckVatCodeBillItems(bill.BillItems);
	Save<Bill>(bill);
	ActionManager.ExecuterAfterCommit.Add(new MailAction(bill.Customer.EmailDest,bill));
}

Ceci montre en quelques lignes les possibilités qui seront offertes .... Un exemple de logiciel de gestion de DVD est en préparation pour expliquer plus en détail le fonctionnement de la génération du code CS/XML via Entreprise Architecte, des droits accès, visibilité des tuples, .... A bientôt !

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet

Page top