Je suis en train de créer quelques formulaires Web ASP.NET qui doivent prendre en charge les approbations. Les approbations seraient faites sur la base d'un organigramme, probablement représenté comme un arbre. Je pensais que le routage d'approbation (processus de détermination de qui devrait être acheminé) devrait être séparé des actions effectuées. Cela me permettrait d'utiliser le même routage d'approbation pour plusieurs soltuions. Est-ce que ça a du sens??? Y a-t-il quelque chose comme ceci qui existe dans l'open source avec .NET, que je pourrais regarder pour la considération sur comment je devrais implémenter/concevoir cela?Aide à la conception d'un système de routage réutilisable dans .NET 3.5 à l'aide de C#
Voici un exemple de ce que je veux faire:
Un nouvel ordre d'achat est créé et il doit être approuvé, la première règle de buiness A nécessite 2 niveaux plus élevés d'autorisation avant d'effectuer la règle d'affaires B.
employés -> Supervisior -> Chef de service
Je pense que je passerais l'utilisateur au service de routage d'approbation, mais je ne sais pas ce que je devrais retourner. Je pense que je devrais redonner le chemin complet des mises à jour incas sont faites à l'organigramme/arbre après soumission.
Exemple:
L'employé qui fait la demande est en CS ("Service à la clientèle") pendant toute la demande. ** CS Employé -> CS Supervior -> CS Chef de service
Le salarié se déplace au département des ventes lors de la demande. ** SALES Salarié -> SALES Superviseur -> SALES Department Manager
Comme les choses se mélangent parce que l'utilisateur déplace des rayons, c'est pourquoi je pense que tout l'itinéraire devrait être sauvegardé. Logique? Je ne pense pas que les changements d'employés seront très communs, mais je veux m'assurer que j'applique la meilleure pratique à l'avance ... la soltuion la plus logique à l'avant avant d'injecter des exceptions. Tous les commentaires/idées sur la conception seraient grandement appréciés, si quelque chose existe qui implémente ce type de soltuion j'aimerais en entendre parler ainsi que tout retour sur l'expérience passée des gens essayant de faire quelque chose de chez eux. Cela semble assez simple, mais avant de coder, j'aimerais voir ce que les autres pensent ... Je suis sûr qu'il y a des choses importantes auxquelles je n'ai pas pensé.
La technologie de programmation que j'utilise sur ce projet est IIS 7.0, VS2008, .NET 3.5 et C#.
Merci!