private void CreateUserkeyPackage(string packageId, int userkeyId) { DateTime? registeredUtc = _clock.UtcNow; var existingUserkeyPackage = _userkeyPackageRepository.Fetch(up => up.PackageId == packageId).FirstOrDefault(); if (existingUserkeyPackage != null) { registeredUtc = existingUserkeyPackage.RegisteredUtc; } var userkeyPackage = new UserkeyPackage { PackageId = packageId, UserkeyId = userkeyId, RegisteredUtc = registeredUtc }; _userkeyPackageRepository.Create(userkeyPackage); }
public void NotifyUserIfPackageIdIsAboutToExpire(UserkeyPackage userkeyPackage, DateTime utcNow, DateTime expirationDate, bool packageIdIsNotInUseOnFeed) { int? daysToWarn = _typeCaster.CastTo<GallerySettingsPart>(_orchardServices.WorkContext.CurrentSite).DaysInAdvanceToWarnUserOfExpiration; if (daysToWarn.HasValue) { bool packageIdAtWarnDate = utcNow.Date == expirationDate.Date.AddDays(-daysToWarn.Value); if (packageIdAtWarnDate && packageIdIsNotInUseOnFeed) { _expiredPackageIdMessenger.SendMessage(userkeyPackage, expirationDate); } } }
public void SendMessage(UserkeyPackage userkeyPackage, DateTime expirationDate) { UserPart user = _userkeyService.GetUserForUserKey(userkeyPackage.UserkeyId); if (user == null) { return; } var terms = new Dictionary<string, string> { {"UserName", user.UserName}, {"SiteName", _orchardServices.WorkContext.CurrentSite.SiteName}, {"PackageId", userkeyPackage.PackageId}, {"ExpirationDate", expirationDate.ToShortDateString()} }; _messageManager.Send(user.ContentItem.Record, GalleryMessageTypes.PackageIdExpirationWarning, "email", terms); }
private DateTime? GetExpirationDate(UserkeyPackage userkeyPackage, PackageIdStatus status) { int? daysBeforeExpiration = _orchardServices.WorkContext.CurrentSite.As<GallerySettingsPart>().NumberOfDaysUntilPreregisteredPackageIdExpires; DateTime? expirationDate = null; bool isPreregistered = status == PackageIdStatus.Registered || status == PackageIdStatus.Unfinished; if (isPreregistered && userkeyPackage.RegisteredUtc.HasValue && daysBeforeExpiration.HasValue) { expirationDate = userkeyPackage.RegisteredUtc.Value.AddDays(daysBeforeExpiration.Value); } return expirationDate; }