Domain expiration sub domain fix

This commit is contained in:
vfedosevich 2015-01-06 05:58:18 -08:00
parent 516494187f
commit c32aafcaac
2 changed files with 8 additions and 7 deletions

View file

@ -1,4 +1,4 @@
// Copyright (c) 2015, Outercurve Foundation. // Copyright (c) 2015, Outercurve Foundation.
// All rights reserved. // All rights reserved.
// //
// Redistribution and use in source and binary forms, with or without modification, // Redistribution and use in source and binary forms, with or without modification,
@ -57,7 +57,7 @@ namespace WebsitePanel.EnterpriseServer
{ {
BackgroundTask topTask = TaskManager.TopTask; BackgroundTask topTask = TaskManager.TopTask;
var domainUsers = new Dictionary<int, UserInfo>(); var domainUsers = new Dictionary<int, UserInfo>();
var checkedDomains = new List<int>(); var checkedDomains = new List<DomainInfo>();
var expiredDomains = new List<DomainInfo>(); var expiredDomains = new List<DomainInfo>();
var nonExistenDomains = new List<DomainInfo>(); var nonExistenDomains = new List<DomainInfo>();
var allDomains = new List<DomainInfo>(); var allDomains = new List<DomainInfo>();
@ -101,12 +101,12 @@ namespace WebsitePanel.EnterpriseServer
foreach (var domain in domains) foreach (var domain in domains)
{ {
if (checkedDomains.Contains(domain.DomainId)) if (checkedDomains.Any(x=> x.DomainId == domain.DomainId))
{ {
continue; continue;
} }
checkedDomains.Add(domain.DomainId); checkedDomains.Add(domain);
ServerController.UpdateDomainWhoisData(domain); ServerController.UpdateDomainWhoisData(domain);
@ -124,12 +124,11 @@ namespace WebsitePanel.EnterpriseServer
} }
} }
var subDomains = allDomains.Where(x => x.ExpirationDate == null || CheckDomainExpiration(x.ExpirationDate, daysBeforeNotify)).GroupBy(p => p.DomainId).Select(g => g.First()).ToList(); var subDomains = allDomains.Where(x => !checkedDomains.Any(z => z.DomainId == x.DomainId)).GroupBy(p => p.DomainId).Select(g => g.First()).ToList();
allTopLevelDomains = allTopLevelDomains.GroupBy(p => p.DomainId).Select(g => g.First()).ToList();
foreach (var subDomain in subDomains) foreach (var subDomain in subDomains)
{ {
var mainDomain = allTopLevelDomains.Where(x => subDomain.DomainId != x.DomainId && subDomain.DomainName.ToLowerInvariant().Contains(x.DomainName.ToLowerInvariant())).OrderByDescending(s => s.DomainName.Length).FirstOrDefault(); ; var mainDomain = checkedDomains.Where(x => subDomain.DomainId != x.DomainId && subDomain.DomainName.ToLowerInvariant().Contains(x.DomainName.ToLowerInvariant())).OrderByDescending(s => s.DomainName.Length).FirstOrDefault(); ;
if (mainDomain != null) if (mainDomain != null)
{ {

View file

@ -2709,6 +2709,7 @@ namespace WebsitePanel.EnterpriseServer
domain.CreationDate = ParseDate(creationDateString); domain.CreationDate = ParseDate(creationDateString);
domain.ExpirationDate = ParseDate(expirationDateString); domain.ExpirationDate = ParseDate(expirationDateString);
domain.RegistrarName = ParseWhoisDomainInfo(whoisResult.Raw, _registrarNamePatterns); domain.RegistrarName = ParseWhoisDomainInfo(whoisResult.Raw, _registrarNamePatterns);
domain.LastUpdateDate = DateTime.Now;
DataProvider.UpdateWhoisDomainInfo(domain.DomainId, domain.CreationDate, domain.ExpirationDate, DateTime.Now, domain.RegistrarName); DataProvider.UpdateWhoisDomainInfo(domain.DomainId, domain.CreationDate, domain.ExpirationDate, DateTime.Now, domain.RegistrarName);
} }
@ -2727,6 +2728,7 @@ namespace WebsitePanel.EnterpriseServer
domain.CreationDate = creationDate; domain.CreationDate = creationDate;
domain.ExpirationDate = expirationDate; domain.ExpirationDate = expirationDate;
domain.RegistrarName = registrarName; domain.RegistrarName = registrarName;
domain.LastUpdateDate = DateTime.Now;
return domain; return domain;
} }