public Site(TenantId tenantId,
                    string siteName,
                    string siteDescription,
                    bool active,
                    ContactInformation contactInformation
                    )
        {
            this.TenantId           = tenantId;
            this.Id                 = Guid.NewGuid();
            this.Name               = siteName;
            this.Description        = siteDescription;
            this.Active             = active;
            this.ContactInformation = contactInformation ?? ContactInformation.Empty();
            this.Locations          = new ObservableCollection <Location>();
            this.Staffs             = new ObservableCollection <Staff>();

            //this.Branding = Branding.CreateDefaultBranding(tenantId, this);
            //this.BrandingId = this.Branding.Id;

            Locations = new ObservableCollection <Location>();

            //ApplyChange(new SiteCreatedEvent(this.Id, siteName, siteDescription, active, tenantId.Id, contactInformation.ContactName, contactInformation.PrimaryTelephone, contactInformation.SecondaryTelephone));
        }