private void LoadRecords(AuthZone authZone, IReadOnlyList <DnsResourceRecord> records) { Dictionary <string, Dictionary <DnsResourceRecordType, List <DnsResourceRecord> > > groupedByDomainRecords = DnsResourceRecord.GroupRecords(records); foreach (KeyValuePair <string, Dictionary <DnsResourceRecordType, List <DnsResourceRecord> > > groupedByTypeRecords in groupedByDomainRecords) { if (authZone.Name.Equals(groupedByTypeRecords.Key, StringComparison.OrdinalIgnoreCase)) { foreach (KeyValuePair <DnsResourceRecordType, List <DnsResourceRecord> > groupedRecords in groupedByTypeRecords.Value) { authZone.LoadRecords(groupedRecords.Key, groupedRecords.Value); } } else { AuthZone zone = GetOrAddSubDomainZone(groupedByTypeRecords.Key); if (zone is SubDomainZone) { foreach (KeyValuePair <DnsResourceRecordType, List <DnsResourceRecord> > groupedRecords in groupedByTypeRecords.Value) { zone.LoadRecords(groupedRecords.Key, groupedRecords.Value); } (zone as SubDomainZone).AutoUpdateState(); } } } }
private void LoadRecords(IReadOnlyList <DnsResourceRecord> records) { Dictionary <string, Dictionary <DnsResourceRecordType, List <DnsResourceRecord> > > groupedByDomainRecords = DnsResourceRecord.GroupRecords(records); foreach (KeyValuePair <string, Dictionary <DnsResourceRecordType, List <DnsResourceRecord> > > groupedByTypeRecords in groupedByDomainRecords) { AuthZone zone = GetOrAddZone(groupedByTypeRecords.Key); foreach (KeyValuePair <DnsResourceRecordType, List <DnsResourceRecord> > groupedRecords in groupedByTypeRecords.Value) { zone.LoadRecords(groupedRecords.Key, groupedRecords.Value); } if (zone is SubDomainZone) { (zone as SubDomainZone).AutoUpdateState(); } } }