From 7d7381cb03f574c23293847bf0d7fff041c299c9 Mon Sep 17 00:00:00 2001 From: lucabriguglia Date: Fri, 11 Feb 2022 14:28:10 +0000 Subject: [PATCH] Experiment with models --- .../Atles.Domain.Models.xml | 22 +++++- src/Atles.Domain.Models/UserRank.cs | 67 ++++++++++++++++++- 2 files changed, 86 insertions(+), 3 deletions(-) diff --git a/src/Atles.Domain.Models/Atles.Domain.Models.xml b/src/Atles.Domain.Models/Atles.Domain.Models.xml index da107b72..8deec301 100644 --- a/src/Atles.Domain.Models/Atles.Domain.Models.xml +++ b/src/Atles.Domain.Models/Atles.Domain.Models.xml @@ -1085,7 +1085,27 @@ - User Rank + UserRank + + + + + Number of total posts (topics and replies). + + + + + Number of topics. + + + + + Number of replies. + + + + + Number of accepted answers. diff --git a/src/Atles.Domain.Models/UserRank.cs b/src/Atles.Domain.Models/UserRank.cs index 39b35967..c5de1d5b 100644 --- a/src/Atles.Domain.Models/UserRank.cs +++ b/src/Atles.Domain.Models/UserRank.cs @@ -4,7 +4,7 @@ namespace Atles.Domain.Models; /// -/// User Rank +/// UserRank /// public class UserRank { @@ -12,15 +12,78 @@ public class UserRank public string Name { get; private set; } public int Order { get; private set; } public string Badge { get; private set; } + public string Role { get; private set; } public IReadOnlyCollection UserLevels => _UserLevels; private readonly List _UserLevels = new(); - public UserRank(string name, int order, string badge = null) + public UserRank(string name, int order, string badge, string role) { Id = Guid.NewGuid(); Name = name; Order = order; Badge = badge; + Role = role; } +} + +public class UserBadge +{ + public Guid Id { get; private set; } + public string Name { get; private set; } + public int SortOrder { get; private set; } + public string Image { get; private set; } + public string Role { get; private set; } + + public IReadOnlyCollection UserLevels => _UserLevels; + private readonly List _UserLevels = new(); + + public UserBadge(string name, int sortOrder, string image, string role) + { + Id = Guid.NewGuid(); + Name = name; + SortOrder = sortOrder; + Image = image; + Role = role; + } +} + +public class UserBadge2 +{ + public Guid UserBadgeId { get; private set; } + public UserBadgeType Type { get; private set; } + public int Count { get; private set; } + public string Image { get; private set; } + + public virtual UserBadge UserBadge { get; set; } + + public UserBadge2(UserBadgeType type, int count, string image = null) + { + Type = type; + Count = count; + Image = image; + } +} + +public enum UserBadgeType +{ + /// + /// Number of total posts (topics and replies). + /// + Posts = 1, + + /// + /// Number of topics. + /// + Topics = 2, + + /// + /// Number of replies. + /// + Replies = 3, + + /// + /// Number of accepted answers. + /// + Answers = 4 } \ No newline at end of file