Laden...

Idee für Umsetzung gesucht: Datenmaske für Methodenparameter inkl. Validierung generieren

Erstellt von Ahrimaan vor 12 Jahren Letzter Beitrag vor 12 Jahren 687 Views
A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 12 Jahren
Idee für Umsetzung gesucht: Datenmaske für Methodenparameter inkl. Validierung generieren

Hallo zusammen.
Mir fällt keine gescheite Idee für folgendes Szenario ein:
Man hat eine Liste von Personen. An diese Personen sind Aufgaben verknüpft.
zB Lege Benutzer in AD an.
Das ganze soll eine Art generisches Ticketsystem sein.

Beispiel : Admin legt für Benutzergruppe Mitarbeiterverwaltung einen Task an

    public class RAETask
    {
        public virtual int ID { get; set; }
        public virtual string Name { get; set; }
        public virtual RAETask RootTask { get; set; }
        public virtual ICollection<RAETask> Tasks { get; set; }
        public virtual string ExtendedInfo { get; set; }
        public virtual bool Closed { get; set; }
        public virtual DateTime CreateDate { get; set; }
        public virtual Employee CreatedFrom { get; set; }
        public virtual DateTime ClosedDate { get; set; }
        public virtual Employee ClosedBy { get; set; }
        public virtual Employee Employee { get; set; }
        public virtual EndTask LastTaskAction { get; set; }
        public virtual EmployeeGroup SendTo { get; set; }
        public virtual string ExecuteMethod {get;set;}
        public virtual bool Equals(object obj)
        {
            return Equals(this, (RAETask) obj);
        }

        protected virtual bool Equals(RAETask x ,RAETask y)
        {
            return x.ID == y.ID;
        }
    }

"Mitarbeiter anlegen". Wenn die Benutzergruppe sich nun im Programm einloggt , sollen die Aufgaben bearbeitet werden.
Der Benutzer gibt die benötigten Felder ein, schickt den Task an den Server. Dieser führt die hinterlegten Aufgaben aus (zB AddUser im Feld ExecuteMethod) und schreibt die Daten ins Active Directory.

Auf dem Server gibt es mehrere Module (AddUserToAD , AddEmailInBox) usw.

Jetzt kommt der Knackpunkt : Wie kann ich dem UserClient gescheit eine Art Datenmaske übergeben, sodass der Ausgewählte Methode wie zB AddUser die richtigen Parameter inkl. Validierung kriegt.

Ich dachte daran, eine XAML View zu Serialisieren. Da ich aber mit MVVM Arbeite, müsste ich das ViewModel und den View Serialiseren.
Erscheint für mich nicht sehr elegant.

Hat jmd eine Idee ?

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo Ahrimaan,

wenn du den Methoden immer nur einen einzigen Parameter übergibst, nämlich ein Objekt, das für jeden (bisherigen) Parameter eine Property enthält, wird es einfacher. Im einfachsten Fall zeigst du das jeweilige (Parameter-)Objekt in einem PropertyGrid an. Du kannst das Objekt natürlich auch selbst per Reflection auslesen und für jede Property ein passendes Control anzeigen. Für die Validierung siehe [Artikel] Attribute zur Prüfung von Properties verwenden.

herbivore