Expanded on existing whiteboard

This commit is contained in:
Veljko Tosic
2026-02-09 22:24:33 +01:00
parent 73b222b763
commit db122da753
12 changed files with 237 additions and 20 deletions

View File

@@ -0,0 +1,23 @@
using AipsCore.Domain.Abstract.Rule;
using AipsCore.Domain.Abstract.ValueObject;
using AipsCore.Domain.Common.Validation.Rules;
namespace AipsCore.Domain.Models.Whiteboard.ValueObjects;
public record WhiteboardCreatedAt : AbstractValueObject
{
public DateTime CreatedAtValue { get; init; }
public WhiteboardCreatedAt(DateTime CreatedAtValue)
{
this.CreatedAtValue = CreatedAtValue;
Validate();
}
protected override ICollection<IRule> GetValidationRules()
{
return [
new DateInPastRule(CreatedAtValue)
];
}
}

View File

@@ -0,0 +1,23 @@
using AipsCore.Domain.Abstract.Rule;
using AipsCore.Domain.Abstract.ValueObject;
using AipsCore.Domain.Common.Validation.Rules;
namespace AipsCore.Domain.Models.Whiteboard.ValueObjects;
public record WhiteboardDeletedAt : AbstractValueObject
{
public DateTime? DeletedAtValue { get; init; }
public WhiteboardDeletedAt(DateTime? DeletedAtValue)
{
this.DeletedAtValue = DeletedAtValue;
Validate();
}
protected override ICollection<IRule> GetValidationRules()
{
return [
new DateInPastRule(DeletedAtValue)
];
}
}

View File

@@ -0,0 +1,25 @@
using AipsCore.Domain.Abstract.Rule;
using AipsCore.Domain.Abstract.ValueObject;
using AipsCore.Domain.Common.Validation.Rules;
namespace AipsCore.Domain.Models.Whiteboard.ValueObjects;
public record WhiteboardMaxParticipants : AbstractValueObject
{
private const int MinMaxParticipants = 1;
private const int MaxMaxParticipants = 100;
public int MaxParticipantsValue { get; init; }
public WhiteboardMaxParticipants(int MaxParticipantsValue)
{
this.MaxParticipantsValue = MaxParticipantsValue;
Validate();
}
protected override ICollection<IRule> GetValidationRules()
{
return [
new MinValueRule<int>(MaxParticipantsValue, MinMaxParticipants),
new MaxValueRule<int>(MaxParticipantsValue, MaxMaxParticipants)
];
}
}