コード例 #1
0
 public SavedArticlesViewModel(
     ITextTranslator translator,
     IAuthenticatedUserContext userContext,
     ISignInViewModel signInViewModel,
     ISavedDocumentItemsContext savedDocumentItemsContext)
 {
     TextTranslator            = translator;
     UserContext               = userContext;
     SignInViewModel           = signInViewModel;
     SavedDocumentItemsContext = savedDocumentItemsContext;
 }
コード例 #2
0
        public RegistrationViewModel(IAccountService accountService, INavigationService navigationService,
                                     ISignInViewModel signInViewModel)
        {
            m_accountService    = accountService;
            m_navigationService = navigationService;
            m_signInViewModel   = signInViewModel;

            RegisterCommand = new AsyncCommand(Register,
                                               () => ValidateEmail(Email) && ValidatePassword(Password) &&
                                               ValidatePasswordMatch(PasswordVerification));
        }
コード例 #3
0
        public SaveSearchPopOutViewModel(IGlassBase model, IAuthenticatedUserContext userContext, ITextTranslator textTranslator, ISignInViewModel signInViewModel)
        {
            _textTranslator = textTranslator;

            IsAuthenticated = userContext.IsAuthenticated;
            IsSearch        = model is ISearch;
            SignInViewModel = signInViewModel;

            TitleLabelText      = textTranslator.Translate("Search.SavePopout.TitleLabelText");
            ButtonLoggedInText  = textTranslator.Translate("Search.SavePopout.ButtonLoggedInText");
            ButtonLoggedOutText = textTranslator.Translate("Search.SavePopout.ButtonLoggedOutText");
        }
コード例 #4
0
 public EmailPreferencesViewModel(
     ITextTranslator translator,
     IOfferUserOptedInContext offersOptedInContext,
     ISignInViewModel signInViewModel,
     IAuthenticatedUserContext userContext,
     IPublicationsNewsletterUserOptInContext publicationNewsletterUserOptInContext)
 {
     TextTranslator       = translator;
     OffersOptedInContext = offersOptedInContext;
     UserContext          = userContext;
     SignInViewModel      = signInViewModel;
     PublicationNewsletterUserOptInContext = publicationNewsletterUserOptInContext;
 }
コード例 #5
0
 public CallToActionViewModel(
     ITextTranslator textTranslator,
     ISignInViewModel signInViewModel,
     IRegisterPopOutViewModel registerPopOutViewModel,
     ISiteRootContext siteRootContext,
     IAuthenticatedUserContext authenticatedUserContext,
     ISitecoreContext sitecoreContext)
 {
     TextTranslator           = textTranslator;
     SignInViewModel          = signInViewModel;
     RegisterPopOutViewModel  = registerPopOutViewModel;
     SiteRootContext          = siteRootContext;
     AuthenticatedUserContext = authenticatedUserContext;
     CurrentItem = sitecoreContext.GetCurrentItem <IArticle>();
 }
コード例 #6
0
        public App()
        {
            InitializeComponent();

            var serviceContainer = new ServiceContainer(new ContainerOptions {
                EnablePropertyInjection = false
            });

            serviceContainer.Register(fac => this);
            serviceContainer.RegisterFrom <CompositionRoot>();
            serviceContainer.Register <IServiceContainer>(fac => serviceContainer, new PerContainerLifetime());

            MainPage            = m_mainPage = serviceContainer.GetInstance <MainPage>();
            m_tokenService      = serviceContainer.GetInstance <ITokenService>();
            m_navigationService = serviceContainer.GetInstance <INavigationService>();
            m_signInViewModel   = serviceContainer.GetInstance <ISignInViewModel>();
        }
コード例 #7
0
        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);
                }
            }
        }
コード例 #8
0
        public ContactInformationViewModel(
            ITextTranslator translator,
            IAuthenticatedUserContext userContext,
            ISignInViewModel signInViewModel,
            IUserCompanyContext userCompanyContext,
            IUserProfileContext profileContext,
            IGlobalSitecoreService globalService)
        {
            TextTranslator  = translator;
            SignInViewModel = signInViewModel;

            IsAuthenticated   = userContext.IsAuthenticated;
            Username          = userContext.User.Username;
            Profile           = profileContext.Profile;
            AssociatedCompany = userCompanyContext?.Company?.Name ?? string.Empty;
            Salutations       = globalService.GetSalutations();
            Suffixes          = globalService.GetNameSuffixes();
            JobFunctions      = globalService.GetJobFunctions();
            JobIndustries     = globalService.GetJobIndustries();
            PhoneTypes        = globalService.GetPhoneTypes();
            Countries         = globalService.GetCountries();
        }
コード例 #9
0
        public SavedSearchesViewModel(
            ITextTranslator translator,
            IAuthenticatedUserContext userContext,
            ISignInViewModel signInViewModel,
            IUserContentService <ISavedSearchSaveable, ISavedSearchDisplayable> savedSearchService,
            ISitePublicationNameContext publicationNameContext)
        {
            PublicationNameContext = publicationNameContext;

            SignInViewModel = signInViewModel;

            SavedSearches         = savedSearchService.GetContent();
            IsAuthenticated       = userContext.IsAuthenticated;
            GeneralErrorText      = translator.Translate("SavedSearches.GeneralError");
            NullUserText          = translator.Translate("SavedSearches.NullUserError");
            RequestFailedText     = translator.Translate("SavedSearches.RequestFailedError");
            SourceText            = translator.Translate("SavedSearches.SourceText");
            TitleText             = translator.Translate("SavedSearches.TitleText");
            DateText              = translator.Translate("SavedSearches.DateText");
            EmailAlertText        = translator.Translate("SavedSearches.EmailAlertText");
            RemoveText            = translator.Translate("SavedSearches.RemoveText");
            ItemRemovedMessage    = translator.Translate("SavedSearches.ItemRemovedMessage");
            EmailAlertTooltipText = translator.Translate("IconTooltips.Email.EmailAlert");
        }
コード例 #10
0
        public void Receiving(IWindowsViewModel windowsViewModel, ISignInViewModel loginViewModel, IMessageContent messageContent,
                              ITcpEndPoint tcpEndPoint, IJsonContainer container)
        {
            _tcpEndPoint      = tcpEndPoint;
            _windowsViewModel = windowsViewModel;

            FirstTime = true;

            IsConnected = true;

            var uiContext = SynchronizationContext.Current;

            Task.Run(() =>
            {
                ConnectingToServer();

                TcpSocket.tcpSocket.BeginSend(ConverData.ToSend(PersonList.GetPersonInfo()), 0, ConverData.ToSend(PersonList.GetPersonInfo()).Length, 0, new AsyncCallback(SendCallback), TcpSocket.tcpSocket);
                connectDone.WaitOne();

                while (IsConnected)
                {
                    _windowsViewModel.ChangeView(2);

                    var textFromServer = ReceivData(uiContext, container);

                    try
                    {
                        container = ConverData.ToReceiv <JsonContainer>(textFromServer.ToString());
                    }
                    catch (Exception ex)
                    {
                        Console.Write(ex.ToString());
                    }

                    if (FirstTime)
                    {
                        if (container.CurrentPersonId != null)
                        {
                            User.Id = container.CurrentPersonId.Id;
                        }

                        AddToOnlineUserList(uiContext, container);

                        GetAllMessages(messageContent, container, uiContext);


                        FirstTime = false;
                    }
                    else
                    {
                        // Detect if OnlineUsers changed
                        if (container?.Persons?.Count > OnlineUsers.UserList.Count || container?.Persons?.Count < OnlineUsers.UserList.Count)
                        {
                            ChangeOnlineUserList(uiContext, container, textFromServer.ToString());
                        }
                        else
                        {
                            AddNewMessage(uiContext, messageContent, textFromServer.ToString());
                        }
                    }
                }
            });
        }