gehgassi_backend/gehGassi.Dto/Favourites/FavouriteListItemDto.cs

105 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using gehGassi.Dto.Advertisements;
using gehGassi.Dto.Common;
using gehGassi.Dto.Dogs;
using gehGassi.Dto.Listings;
using gehGassi.Dto.Lookup;
namespace gehGassi.Dto.Favourites
{
/// <summary>
/// DTO für die Anzeige von Favoriten in der Favoriten-Liste
/// </summary>
public class FavouriteListItemDto : SyncEntityDto
{
/// <summary>
/// Benutrzer der den Favoriten angelegt hat
/// </summary>
public string AppUserId { get; set; }
/// <summary>
/// Id des verknüpften Objektes
/// </summary>
public string Key { get; set; }
/// <summary>
/// Typ des Objektes das verbunden wurde
/// </summary>
public string Table { get; set; }
/// <summary>
/// Wann erstellt?
/// </summary>
public DateTimeOffset Created { get; set; }
/// <summary>
/// Gibt an ob die Resource am Server nicht mehr verfügbar ist
/// </summary>
public bool NotAvailable { get; set; }
/// <summary>
/// Werbung, wenn entsprechender Typ
/// </summary>
public AdvertisementDto Advertisement { get; set; }
/// <summary>
/// PArtner, wenn entsprechender Typ
/// </summary>
public ListingDto Listing { get; set; }
/// <summary>
/// Hund, wenn entsprechender Typ
/// </summary>
public DogDto Dog { get; set; }
/// <summary>
/// Walker, wenn entsprechender Typ
/// </summary>
public DogWalkerLookupDto DogWalker { get; set; }
#region Erweiterung Blockier- und Sperrinfo
/// <summary>
/// Hundebesitzer ist blockiert
/// </summary>
public bool Blocked { get; set; }
/// <summary>
/// Hundebesitzer ist gesperrt
/// </summary>
public bool Locked { get; set; }
#endregion
/// <summary>
/// Erstellt eine Instanz
/// </summary>
public FavouriteListItemDto()
{
Advertisement = null;
Listing = null;
Dog = null;
DogWalker = null;
}
}
/// <summary>
/// DTO für die Abfrage der Favoriten
/// </summary>
public class FavouriteListQueryDto : QueryDto
{
/// <summary>
/// Id des App-Users
/// </summary>
public string AppUserId { get; set; }
/// <summary>
/// Typ des Objektes
/// </summary>
public string Table { get; set; }
}
}