public SavedDocumentItemsFactory(
     IGlobalSitecoreService globalService,
     IIsUrlCurrentSite isUrlCurrentSite,
     IFindSitePublicationByCode findPublication)
 {
     GlobalService    = globalService;
     IsUrlCurrentSite = isUrlCurrentSite;
     FindPublication  = findPublication;
 }
        public SubscriptionsViewModel(
            ITextTranslator translator,
            IAuthenticatedUserContext userContext,
            IUserSubscriptionsContext userSubscriptionsContext,
            ISignInViewModel signInViewModel,
            IFindSitePublicationByCode findSitePublication)
        {
            TextTranslator      = translator;
            UserContext         = userContext;
            SignInViewModel     = signInViewModel;
            FindSitePublication = findSitePublication;

            RenewBtnSettings        = new Dictionary <string, bool>();
            SubscriptionBtnSettings = new Dictionary <string, bool>();

            _subcriptions = userSubscriptionsContext.Subscriptions.Where(w => string.IsNullOrEmpty(w.Publication) == false && w.ExpirationDate >= DateTime.Now.AddMonths(-6)).OrderByDescending(o => o.ExpirationDate);

            foreach (var sub in _subcriptions)
            {
                //renew btns
                if (!RenewBtnSettings.ContainsKey(sub.ProductCode))
                {
                    RenewBtnSettings.Add(sub.ProductCode, WithinRenewRange(sub.ExpirationDate));
                }
                else
                {
                    RenewBtnSettings[sub.ProductCode] &= WithinRenewRange(sub.ExpirationDate);
                }

                //subscribe btns
                if (!SubscriptionBtnSettings.ContainsKey(sub.ProductCode))
                {
                    SubscriptionBtnSettings.Add(sub.ProductCode, IsValidSubscription(sub));
                }
                else
                {
                    SubscriptionBtnSettings[sub.ProductCode] |= IsValidSubscription(sub);
                }
            }
        }