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";
}
}
}