diff --git a/Directory.Packages.props b/Directory.Packages.props
index e3202d965..7caec7726 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -22,6 +22,7 @@
+
diff --git a/src/Clean.Architecture.Core/ContributorAggregate/Contributor.cs b/src/Clean.Architecture.Core/ContributorAggregate/Contributor.cs
index a3b5482a3..72ff42de9 100644
--- a/src/Clean.Architecture.Core/ContributorAggregate/Contributor.cs
+++ b/src/Clean.Architecture.Core/ContributorAggregate/Contributor.cs
@@ -9,9 +9,37 @@ public class Contributor(string name) : EntityBase, IAggregateRoot
// See: https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/primary-constructors#initialize-base-class
public string Name { get; private set; } = Guard.Against.NullOrEmpty(name, nameof(name));
public ContributorStatus Status { get; private set; } = ContributorStatus.NotSet;
+ public PhoneNumber? PhoneNumber { get; private set; }
+
+ public void SetPhoneNumber(string phoneNumber)
+ {
+ PhoneNumber = new PhoneNumber(string.Empty, phoneNumber, string.Empty);
+ }
public void UpdateName(string newName)
{
Name = Guard.Against.NullOrEmpty(newName, nameof(newName));
}
}
+
+public class PhoneNumber : ValueObject
+{
+ public string CountryCode { get; private set; } = string.Empty;
+ public string Number { get; private set; } = string.Empty;
+ public string? Extension { get; private set; } = string.Empty;
+
+ public PhoneNumber(string countryCode,
+ string number,
+ string? extension)
+ {
+ CountryCode = countryCode;
+ Number = number;
+ Extension = extension;
+ }
+ protected override IEnumerable