- Updated CreateMemberCommand and UpdateMemberProfileCommand to include optional gender and preferences fields. - Modified Member entity to store gender and preferences, improving member data handling. - Implemented validation for gender and preferences in command validators. - Adjusted command handlers to support new fields during member creation and profile updates. - Updated unit tests to verify new functionality for gender and preferences management.
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using MediatR;
|
|
|
|
namespace MembershipService.API.Application.Commands;
|
|
|
|
/// <summary>
|
|
/// EN: Command to create a new member profile.
|
|
/// VI: Command để tạo member profile mới.
|
|
/// </summary>
|
|
public class CreateMemberCommand : IRequest<CreateMemberResult>
|
|
{
|
|
/// <summary>
|
|
/// EN: User ID from IAM Service.
|
|
/// VI: User ID từ IAM Service.
|
|
/// </summary>
|
|
public Guid UserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// EN: Country code (default: VN).
|
|
/// VI: Mã quốc gia (mặc định: VN).
|
|
/// </summary>
|
|
public string CountryCode { get; set; } = "VN";
|
|
|
|
/// <summary>
|
|
/// EN: Gender (optional).
|
|
/// VI: Giới tính (tùy chọn).
|
|
/// </summary>
|
|
public string? Gender { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// EN: Result of create member command.
|
|
/// VI: Kết quả của create member command.
|
|
/// </summary>
|
|
public class CreateMemberResult
|
|
{
|
|
public Guid MemberId { get; set; }
|
|
public Guid UserId { get; set; }
|
|
public string MembershipLevel { get; set; } = null!;
|
|
public DateTime CreatedAt { get; set; }
|
|
}
|