using IamService.Domain.SeedWork;

namespace IamService.Domain.Events;

/// <summary>
/// EN: Domain event raised when an organization is updated.
/// VI: Domain event được raise khi tổ chức được cập nhật.
/// </summary>
public class OrganizationUpdatedEvent : IDomainEvent
{
    /// <summary>
    /// EN: The organization ID.
    /// VI: ID tổ chức.
    /// </summary>
    public Guid OrganizationId { get; }

    /// <summary>
    /// EN: The organization name.
    /// VI: Tên tổ chức.
    /// </summary>
    public string Name { get; }

    /// <summary>
    /// EN: When the event occurred.
    /// VI: Thời điểm sự kiện xảy ra.
    /// </summary>
    public DateTime OccurredOn { get; }

    public OrganizationUpdatedEvent(Guid organizationId, string name)
    {
        OrganizationId = organizationId;
        Name = name;
        OccurredOn = DateTime.UtcNow;
    }
}
