278 lines
6.8 KiB
C#
278 lines
6.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using gehGassi.Domain.Base;
|
|
using gehGassi.Domain.Common;
|
|
|
|
namespace gehGassi.Domain.Coins
|
|
{
|
|
/// <summary>
|
|
/// Repräsentiert ein Coins-Konto
|
|
/// </summary>
|
|
public class CoinsAccount : SyncEntity
|
|
{
|
|
/// <summary>
|
|
/// Id des App-Users - Besitzer des Kontos
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string AppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Appusers - jeder hat 2 Konten falls ein AppUser Beides ist
|
|
/// </summary>
|
|
[Required]
|
|
public AppUserType AppUserType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Aktueller Kontostand
|
|
/// </summary>
|
|
[Required]
|
|
public decimal Balance { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann erstellt?
|
|
/// </summary>
|
|
[Required]
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Repräsentiert eine Coins-Transaktion
|
|
/// </summary>
|
|
public class CoinsTransaction
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
[Key]
|
|
[Required]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ der Transaktion
|
|
/// </summary>
|
|
[Required]
|
|
public CoinsTransactionType TransactionType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des Accounts
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string AccountId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Betrag der Transaktion
|
|
/// </summary>
|
|
[Required]
|
|
public decimal Ammount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional: Walk auf den sich die Transaktion bezieht
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string WalkId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann erstellt?
|
|
/// </summary>
|
|
[Required]
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Repräsentiert wie viele Coins ein AppUser in einem Monat erworben hat
|
|
/// </summary>
|
|
public class CoinsPerMonth
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
[Key]
|
|
[Required]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des AppUsers
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string AppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Appusers - jeder hat 2 Konten falls ein AppUser Beides ist
|
|
/// </summary>
|
|
[Required]
|
|
public AppUserType AppUserType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Jahr
|
|
/// </summary>
|
|
[Required]
|
|
public int Year { get; set; }
|
|
|
|
/// <summary>
|
|
/// Monat
|
|
/// </summary>
|
|
[Required]
|
|
public int Month { get; set; }
|
|
|
|
/// <summary>
|
|
/// Aktueller Kontostand im Jahr/Monat
|
|
/// </summary>
|
|
[Required]
|
|
public decimal Balance { get; set; }
|
|
|
|
/// <summary>
|
|
/// Letztes Update
|
|
/// </summary>
|
|
[Required]
|
|
public DateTimeOffset LastUpdate { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Repräsentiert wie viele Coins ein AppUser in einem Jahr erworben hat
|
|
/// </summary>
|
|
public class CoinsPerYear
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
[Key]
|
|
[Required]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des AppUsers
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string AppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Appusers - jeder hat 2 Konten falls ein AppUser Beides ist
|
|
/// </summary>
|
|
[Required]
|
|
public AppUserType AppUserType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Jahr
|
|
/// </summary>
|
|
[Required]
|
|
public int Year { get; set; }
|
|
|
|
/// <summary>
|
|
/// Aktueller Kontostand im Jahr/Monat
|
|
/// </summary>
|
|
[Required]
|
|
public decimal Balance { get; set; }
|
|
|
|
/// <summary>
|
|
/// Letztes Update
|
|
/// </summary>
|
|
[Required]
|
|
public DateTimeOffset LastUpdate { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Repräsentiert wie viele Coins ein AppUser in einem Monat erworben hat mit Namen aufgelöst
|
|
/// </summary>
|
|
public class CoinsPerMonthWithNames
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des AppUsers
|
|
/// </summary>
|
|
public string AppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name des AppUsers
|
|
/// </summary>
|
|
public string AppUserName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Foto des AppUsers
|
|
/// </summary>
|
|
public string AppUserPhoto { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Appusers - jeder hat 2 Konten falls ein AppUser Beides ist
|
|
/// </summary>
|
|
public AppUserType AppUserType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Jahr
|
|
/// </summary>
|
|
public int Year { get; set; }
|
|
|
|
/// <summary>
|
|
/// Monat
|
|
/// </summary>
|
|
public int Month { get; set; }
|
|
|
|
/// <summary>
|
|
/// Aktueller Kontostand im Jahr/Monat
|
|
/// </summary>
|
|
public decimal Balance { get; set; }
|
|
|
|
/// <summary>
|
|
/// Letztes Update
|
|
/// </summary>
|
|
public DateTimeOffset LastUpdate { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Repräsentiert wie viele Coins ein AppUser in einem Jahr erworben hat mit Namen aufgelöst
|
|
/// </summary>
|
|
public class CoinsPerYearWithNames
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des AppUsers
|
|
/// </summary>
|
|
public string AppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name des AppUsers
|
|
/// </summary>
|
|
public string AppUserName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Foto des AppUsers
|
|
/// </summary>
|
|
public string AppUserPhoto { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ des Appusers - jeder hat 2 Konten falls ein AppUser Beides ist
|
|
/// </summary>
|
|
public AppUserType AppUserType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Jahr
|
|
/// </summary>
|
|
public int Year { get; set; }
|
|
|
|
/// <summary>
|
|
/// Aktueller Kontostand im Jahr/Monat
|
|
/// </summary>
|
|
public decimal Balance { get; set; }
|
|
|
|
/// <summary>
|
|
/// Letztes Update
|
|
/// </summary>
|
|
public DateTimeOffset LastUpdate { get; set; }
|
|
}
|
|
}
|