using System; namespace gehGassi.Web.Models { /// /// Viewmodel für die Anzeige von Status-Infos /// public class AuditInfoVm { /// /// Schlüssel nach Objekt /// public string Key { get; set; } /// /// Objekt-Typ bzw. Tabellenname /// public string Table { get; set; } /// /// Benutzer der die Aktion durchgeführt hat /// public string UserName { get; set; } /// /// Durchgeführte Aktion als int. /// 1: Angelegt /// 2: Bearbeitet /// 3: gelöscht /// public int Action { get; set; } /// /// Datum + Uhrzeit der Aktion /// public DateTimeOffset DateTime { get; set; } } /// /// Viewmodel für die Erweiterte Anzeige von Status-Infos /// public class AuditInfoWithNamesVm : AuditInfoVm { /// /// Benutzer der die Aktion durchgeführt hat - Voller Name /// public string UserFullName { get; set; } /// /// Benutzer der die Aktion durchgeführt hat - Foto /// public string UserPhoto { get; set; } /// /// Gibt den Namen des Benuzters zurück /// /// public string GetName() { return !string.IsNullOrWhiteSpace(UserFullName) ? UserFullName : UserName; } /// /// Gibt das Foto des Benutzers oder des Systems zurück /// /// Foto Url public string GetPhoto() { if (!string.IsNullOrWhiteSpace(UserPhoto)) return UserPhoto; if (UserName.ToLowerInvariant() == "system") return "/images/icon_system.png"; return "/images/icon_user.png"; } /// /// Gibt ein Icon je nach Action zurück /// /// Icon public string GetActionIcon() { if (Action == 1) return "fa fa-plus-circle"; if (Action == 2) return "fa fa-pencil"; if (Action == 3) return "fa fa-times-circle"; return "fa fa-question-circle"; } } }