Files
FoodsharingOnboarding/FoodsharingSiegen.Contracts/Entity/Enums.cs
Andre Beging c2de397a0f Add RecordState handling for prospects and support soft deletion
Introduced the RecordState property to manage the state of prospects, enabling soft deletion and restoration. Updated related database migrations, UI interactions, and filtering logic to accommodate this addition. Also included automatic database migration at runtime to ensure schema compatibility.
2025-03-29 13:49:47 +01:00

226 lines
4.9 KiB
C#

using FoodsharingSiegen.Contracts.Model;
namespace FoodsharingSiegen.Contracts.Entity
{
/// <summary>
/// The audit type enum
/// </summary>
public enum AuditType
{
/// <summary>
/// The none audit type
/// </summary>
None = 0,
// Profile
/// <summary>
/// The save profile audit type
/// </summary>
SaveProfile = 10,
#region Usermanagement
/// <summary>
/// The create user audit type
/// </summary>
CreateUser = 30,
/// <summary>
/// The update user audit type
/// </summary>
UpdateUser = 40,
/// <summary>
/// The remove user audit type
/// </summary>
RemoveUser = 50,
/// <summary>
/// The set user password audit type
/// </summary>
SetUserPassword = 60,
#endregion Usermanagement
#region Prospects
// Prospect
/// <summary>
/// The create prospect audit type
/// </summary>
CreateProspect = 70,
/// <summary>
/// The edit prospect audit type
/// </summary>
EditProspect = 80,
/// <summary>
/// The add interaction audit type
/// </summary>
AddInteraction = 90,
/// <summary>
/// The remove interaction audit type
/// </summary>
RemoveInteraction = 100
#endregion Prospects
}
/// <summary>
/// The user type enum
/// </summary>
public enum UserType
{
/// <summary>
/// The unverified user type
/// </summary>
Unverified = 100,
/// <summary>
/// The user user type
/// </summary>
User = 200,
/// <summary>
/// The admin user type
/// </summary>
Admin = 300
}
public enum ProspectStateFilter
{
All = 0,
OnBoarding = 10,
Verification = 20,
Completed = 30
}
/// <summary>
/// The user group enum
/// </summary>
public enum UserGroup
{
/// <summary>
/// The read only user group
/// </summary>
ReadOnly = 100,
/// <summary>
/// The welcome team user group
/// </summary>
WelcomeTeam = 200,
/// <summary>
/// The store manager user group
/// </summary>
StoreManager = 300,
/// <summary>
/// The ambassador user group
/// </summary>
Ambassador = 400
}
/// <summary>
/// Represents the state of a record within the system.
/// </summary>
public enum RecordState
{
Default = 10,
Deleted = 20
}
/// <summary>
/// The fs network type enum
/// </summary>
public enum FsNetworkType
{
/// <summary>
/// The germany fs network type
/// </summary>
[CustomValue("https://foodsharing.de")]
Germany = 0,
/// <summary>
/// The germany beta fs network type
/// </summary>
[CustomValue("https://beta.foodsharing.de")]
GermanyBeta = 10,
/// <summary>
/// The austria fs network type
/// </summary>
[CustomValue("https://foodsharing.at")]
Austria = 20,
/// <summary>
/// The austria beta fs network type
/// </summary>
[CustomValue("https://beta.foodsharing.at")]
AustriaBeta = 30,
/// <summary>
/// The switzerland fs network type
/// </summary>
[CustomValue("https://foodsharing.network")]
Switzerland = 40
}
/// <summary>
/// The interaction type enum
/// </summary>
public enum InteractionType
{
/// <summary>
/// The ein ab interaction type
/// </summary>
EinAb = 10,
/// <summary>
/// The welcome interaction type
/// </summary>
Welcome = 20,
/// <summary>
/// The id check interaction type
/// </summary>
IdCheck = 30,
/// <summary>
/// The print pass interaction type
/// </summary>
PrintPass = 40,
/// <summary>
/// The pdf pass interaction type
/// </summary>
PdfPass = 50,
/// <summary>
/// The verify interaction type
/// </summary>
Verify = 60,
/// <summary>
/// The complete interaction type
/// </summary>
Complete = 70,
/// <summary>
/// The StepInBriefing interaction type
/// </summary>
StepInBriefing = 80,
/// <summary>
/// The StepInBriefing interaction type
/// </summary>
ReleasedForVerification = 90
}
}