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 static PatientAggregate New(ICollection <DomainEvent> evts)
        {
            var result = new PatientAggregate();

            foreach (var evt in evts)
            {
                result.Handle(evt);
            }

            return(result);
        }