Domain lookup mail template changed
This commit is contained in:
parent
eee7c9e925
commit
df814794a2
4 changed files with 49 additions and 9 deletions
|
@ -6393,7 +6393,8 @@ Please, find below details of MX and NS changes.
|
||||||
<th>DNS</th>
|
<th>DNS</th>
|
||||||
<th>Type</th>
|
<th>Type</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Value</th>
|
<th>Old Value</th>
|
||||||
|
<th>New Value</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -6402,7 +6403,8 @@ Please, find below details of MX and NS changes.
|
||||||
<td>#DnsChange.DnsServer#</td>
|
<td>#DnsChange.DnsServer#</td>
|
||||||
<td>#DnsChange.Type#</td>
|
<td>#DnsChange.Type#</td>
|
||||||
<td>#DnsChange.Status#</td>
|
<td>#DnsChange.Status#</td>
|
||||||
<td>#DnsChange.Record.Value#</td>
|
<td>#DnsChange.OldRecord.Value#</td>
|
||||||
|
<td>#DnsChange.NewRecord.Value#</td>
|
||||||
</tr>
|
</tr>
|
||||||
</ad:foreach>
|
</ad:foreach>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -6449,8 +6451,9 @@ Please, find below MX and NS Changes Information.
|
||||||
<ad:foreach collection="#Domain.DnsChanges#" var="DnsChange" index="j">
|
<ad:foreach collection="#Domain.DnsChanges#" var="DnsChange" index="j">
|
||||||
DNS: #DnsChange.DnsServer#
|
DNS: #DnsChange.DnsServer#
|
||||||
Type: #DnsChange.Type#
|
Type: #DnsChange.Type#
|
||||||
Status: #DnsChange.Status#
|
Status: #DnsChange.Status#
|
||||||
Value: #DnsChange.Record.Value#
|
Old Value: #DnsChange.OldRecord.Value#
|
||||||
|
New Value: #DnsChange.NewRecord.Value#
|
||||||
|
|
||||||
</ad:foreach>
|
</ad:foreach>
|
||||||
</ad:foreach>
|
</ad:foreach>
|
||||||
|
|
|
@ -99,6 +99,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
domainChanges.DnsChanges.AddRange(ApplyDomainRecordsChanges(dbDnsRecords.Where(x => x.RecordType == DnsRecordType.MX), dnsMxRecords, dnsServer));
|
domainChanges.DnsChanges.AddRange(ApplyDomainRecordsChanges(dbDnsRecords.Where(x => x.RecordType == DnsRecordType.MX), dnsMxRecords, dnsServer));
|
||||||
domainChanges.DnsChanges.AddRange(ApplyDomainRecordsChanges(dbDnsRecords.Where(x => x.RecordType == DnsRecordType.NS), dnsNsRecords, dnsServer));
|
domainChanges.DnsChanges.AddRange(ApplyDomainRecordsChanges(dbDnsRecords.Where(x => x.RecordType == DnsRecordType.NS), dnsNsRecords, dnsServer));
|
||||||
|
|
||||||
|
domainChanges.DnsChanges = CombineDnsRecordChanges(domainChanges.DnsChanges, dnsServer).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
domainsChanges.Add(domainChanges);
|
domainsChanges.Add(domainChanges);
|
||||||
|
@ -150,13 +152,13 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
if (dnsRecord != null)
|
if (dnsRecord != null)
|
||||||
{
|
{
|
||||||
dnsRecordChanges.Add(new DnsRecordInfoChange { Record = record, Type = record.RecordType, Status = DomainDnsRecordStatuses.NotChanged, DnsServer = dnsServer });
|
dnsRecordChanges.Add(new DnsRecordInfoChange { OldRecord = record, NewRecord = dnsRecord, Type = record.RecordType, Status = DomainDnsRecordStatuses.NotChanged, DnsServer = dnsServer });
|
||||||
|
|
||||||
dnsRecords.Remove(dnsRecord);
|
dnsRecords.Remove(dnsRecord);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dnsRecordChanges.Add(new DnsRecordInfoChange { Record = record, Type = record.RecordType, Status = DomainDnsRecordStatuses.Removed, DnsServer = dnsServer });
|
dnsRecordChanges.Add(new DnsRecordInfoChange { OldRecord = record, NewRecord = new DnsRecordInfo { Value = string.Empty}, Type = record.RecordType, Status = DomainDnsRecordStatuses.Removed, DnsServer = dnsServer });
|
||||||
|
|
||||||
RemoveRecord(record);
|
RemoveRecord(record);
|
||||||
}
|
}
|
||||||
|
@ -164,7 +166,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
foreach (var record in dnsRecords)
|
foreach (var record in dnsRecords)
|
||||||
{
|
{
|
||||||
dnsRecordChanges.Add(new DnsRecordInfoChange { Record = record, Type = record.RecordType, Status = DomainDnsRecordStatuses.Added, DnsServer= dnsServer});
|
dnsRecordChanges.Add(new DnsRecordInfoChange { OldRecord = new DnsRecordInfo { Value = string.Empty }, NewRecord = record, Type = record.RecordType, Status = DomainDnsRecordStatuses.Added, DnsServer = dnsServer });
|
||||||
|
|
||||||
AddRecord(record);
|
AddRecord(record);
|
||||||
}
|
}
|
||||||
|
@ -172,6 +174,39 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return dnsRecordChanges;
|
return dnsRecordChanges;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private IEnumerable<DnsRecordInfoChange> CombineDnsRecordChanges(IEnumerable<DnsRecordInfoChange> records, string dnsServer)
|
||||||
|
{
|
||||||
|
var resultRecords = records.Where(x => x.DnsServer == dnsServer).ToList();
|
||||||
|
|
||||||
|
var recordsToRemove = new List<DnsRecordInfoChange>();
|
||||||
|
|
||||||
|
var removedRecords = records.Where(x => x.Status == DomainDnsRecordStatuses.Removed);
|
||||||
|
var addedRecords = records.Where(x => x.Status == DomainDnsRecordStatuses.Added);
|
||||||
|
|
||||||
|
foreach (DnsRecordType type in (DnsRecordType[])Enum.GetValues(typeof(DnsRecordType)))
|
||||||
|
{
|
||||||
|
foreach (var removedRecord in removedRecords.Where(x => x.Type == type))
|
||||||
|
{
|
||||||
|
var addedRecord = addedRecords.FirstOrDefault(x => x.Type == type && !recordsToRemove.Contains(x));
|
||||||
|
|
||||||
|
if (addedRecord != null)
|
||||||
|
{
|
||||||
|
recordsToRemove.Add(addedRecord);
|
||||||
|
|
||||||
|
removedRecord.NewRecord = addedRecord.NewRecord;
|
||||||
|
removedRecord.Status = DomainDnsRecordStatuses.Updated;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var record in recordsToRemove)
|
||||||
|
{
|
||||||
|
resultRecords.Remove(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultRecords;
|
||||||
|
}
|
||||||
|
|
||||||
private void FillRecordData(IEnumerable<DnsRecordInfo> records, DomainInfo domain, string dnsServer)
|
private void FillRecordData(IEnumerable<DnsRecordInfo> records, DomainInfo domain, string dnsServer)
|
||||||
{
|
{
|
||||||
foreach (var record in records)
|
foreach (var record in records)
|
||||||
|
|
|
@ -9,7 +9,8 @@ namespace WebsitePanel.Providers.DomainLookup
|
||||||
public class DnsRecordInfoChange
|
public class DnsRecordInfoChange
|
||||||
{
|
{
|
||||||
public string DnsServer { get; set; }
|
public string DnsServer { get; set; }
|
||||||
public DnsRecordInfo Record { get; set; }
|
public DnsRecordInfo OldRecord { get; set; }
|
||||||
|
public DnsRecordInfo NewRecord { get; set; }
|
||||||
public DomainDnsRecordStatuses Status { get; set; }
|
public DomainDnsRecordStatuses Status { get; set; }
|
||||||
public DnsRecordType Type { get; set; }
|
public DnsRecordType Type { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ namespace WebsitePanel.Providers.DomainLookup
|
||||||
{
|
{
|
||||||
NotChanged,
|
NotChanged,
|
||||||
Removed,
|
Removed,
|
||||||
Added
|
Added,
|
||||||
|
Updated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue