diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs index 521d17be..4e8b079d 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs @@ -183,9 +183,10 @@ namespace WebsitePanel.EnterpriseServer items["user"] = user; items["Domains"] = domains.Select(x => new { DomainName = x.DomainName, - ExpirationDate = x.ExpirationDate, + ExpirationDate = x.ExpirationDate < DateTime.Now ? "Expired" : x.ExpirationDate.ToString(), + ExpirationDateOrdering = x.ExpirationDate, Customer = string.Format("{0} {1}", domainUsers[x.PackageId].FirstName, domainUsers[x.PackageId].LastName) }) - .OrderBy(x => x.ExpirationDate).ThenBy(x => x.Customer).ThenBy(x => x.DomainName); + .OrderBy(x => x.ExpirationDateOrdering).ThenBy(x => x.Customer).ThenBy(x => x.DomainName); items["IncludeNonExistenDomains"] = includeNonExistenDomains; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx index 8dc31afd..c1ac1fcd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx @@ -42,7 +42,7 @@ <%# GetDomainExpirationDate(Eval("ExpirationDate"), Eval("LastUpdateDate"))%> -
+
">
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs index 06fb93e2..db114e6d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Domains.ascx.cs @@ -45,8 +45,12 @@ namespace WebsitePanel.Portal { public partial class Domains : WebsitePanelModuleBase { + public Dictionary dnsRecords; + protected void Page_Load(object sender, EventArgs e) { + dnsRecords = new Dictionary(); + gvDomains.PageSize = UsersHelper.GetDisplayItemsPerPage(); // visibility @@ -154,11 +158,18 @@ namespace WebsitePanel.Portal public string GetDomainDnsRecords(int domainId) { + if(dnsRecords.ContainsKey(domainId)) + { + return dnsRecords[domainId]; + } + var records = ES.Services.Servers.GetDomainDnsRecords(domainId); if (!records.Any()) { - return "No Dns Records"; + dnsRecords.Add(domainId, string.Empty); + + return string.Empty; } var header = GetLocalizedString("DomainLookup.TooltipHeader"); @@ -169,7 +180,9 @@ namespace WebsitePanel.Portal tooltipLines.Add(" "); tooltipLines.AddRange( records.Select(x=>string.Format("{0}: {1}", x.RecordType, x.Value))); - return string.Join("\r\n", tooltipLines); + dnsRecords.Add(domainId, string.Join("\r\n", tooltipLines)); + + return dnsRecords[domainId]; } protected void odsDomainsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)