public static PatientAggregate New(string id, string firstName, string lastName, string nationalIdentityNumber, GenderTypes gender, DateTime birthDate, string logoUrl, string eidCardNumber, DateTime?eidCardValidity, PatientAddress address, ICollection <PatientContactInformation> contactInformations)
        {
            var evt    = new PatientAddedEvent(Guid.NewGuid().ToString(), id, 0, firstName, lastName, nationalIdentityNumber, DateTime.UtcNow, DateTime.UtcNow, gender, birthDate, logoUrl, eidCardNumber, eidCardValidity, address, contactInformations);
            var result = new PatientAggregate();

            result.Handle(evt);
            result.DomainEvents.Add(evt);
            return(result);
        }
 public void Handle(PatientAddedEvent evt)
 {
     Id                     = evt.AggregateId;
     CreateDateTime         = evt.CreateDateTime;
     UpdateDateTime         = evt.UpdateDateTime;
     Firstname              = evt.Firstname;
     Lastname               = evt.Lastname;
     Gender                 = evt.Gender;
     NationalIdentityNumber = evt.NationalIdentityNumber;
     BirthDate              = evt.BirthDate;
     LogoUrl                = evt.LogoUrl;
     EidCardNumber          = evt.EidCardNumber;
     EidCardValidity        = evt.EidCardValidity;
     Address                = evt.Address;
     ContactInformations    = evt.ContactInformations;
     Version                = evt.Version;
 }