public MainWindowViewModel(IFooterNavigationViewModel footer, IContentViewModel content, ITaskService taskService) { _taskService = taskService; LogOutCommand = new DelegateCommand(() => { LogOut(content); }); var task = _taskService.GetOrCreateTask(Thread.CurrentPrincipal.Identity.Name); _taskService.PrepareWorkspaceForTask(task.Id); if(task == null) throw new ArgumentException("Task cannot be null"); Footer = footer; Content = content; footer.NavigationHappened += OnFooterNavigation; if (task.CurrentDocument == null){ footer.GoToFirstFile.Execute().Wait(); } else { var path = Footer.LoadDocumentAndReturnItsPath(task.CurrentDocument.Name); Content.ImageVisualization.FilePath = path; Content.Fields.TotalFieldsNumber = task.Documents.Count; Content.Fields.TaskId = task.Id; content.Fields.OnNavigationHappened(task, true); } }
public MainWindowViewModel( IEmailNavigationViewModel emailNavigationViewModel, IContentViewModel contentViewModel) { EmailNavigationViewModel = emailNavigationViewModel; ContentViewModel = contentViewModel; }
public WLLPage(IContentViewModel vmContext) { InitializeComponent(); BindingContext = vmContext; XamlBindedScrollView.Content = CreateGridOfButtons(vmContext as WLLViewModel); }
protected async Task <bool> UpdateRegionAsync(IContentViewModel content, string regionName) { using (LoadingState.Session()) { var visualizerFactory = ServiceProvider.GetRequiredService <IDisplayCoordinatorFactory>(); var visualizer = visualizerFactory.Create(content); return(await visualizer.DisplayAsync(content, new RegionArguments(this, regionName))); } }
public ContentView(IContentViewModel contentViewModel) { InitializeComponent(); if (!DesignerProperties.GetIsInDesignMode(this)) { DataContext = contentViewModel ?? ServiceLocator.Current.GetInstance<IContentViewModel>(); } }
public void Load(IContentViewModel contentViewModel) { foreach (var email in _navigationDataProvider.GetEmails()) { Emails.Add( new EmailViewModel( email, contentViewModel)); } }
public AddNewProgramPageViewModel(IContentViewModel contentViewModel) { this.ContentViewModel = contentViewModel; this.Categories = new CategoriesViewModel(); this.Exercises = new ExercisesViewModel(); this.FitnessProgram = new FitnessProgramViewModel(); this.SuitableFor = new List <string>(); this.SuitableFor.Add("Novice"); this.SuitableFor.Add("Intermediate"); this.SuitableFor.Add("Advanced"); }
public AddNewProgramPageViewModel(IContentViewModel contentViewModel) { this.ContentViewModel = contentViewModel; this.Categories = new CategoriesViewModel(); this.Exercises = new ExercisesViewModel(); this.FitnessProgram = new FitnessProgramViewModel(); this.SuitableFor = new List<string>(); this.SuitableFor.Add("Novice"); this.SuitableFor.Add("Intermediate"); this.SuitableFor.Add("Advanced"); }
private static void LogOut(IContentViewModel content) { Thread.CurrentPrincipal = null; Settings.Default["IsAutoLogin"] = false; Settings.Default.Save(); var view = new Login(); Application.Current.MainWindow.Close(); Application.Current.MainWindow = view; view.Show(); content.Dispose(); }
public async Task Update(IContentViewModel value) { var current = _content; if (Set(ref _content, value, nameof(Content))) { if (current != null) { await current.OnClose(); } await _content.OnNavigate(); } }
public EmailViewModel( Email email, IContentViewModel contentViewModel) { Email = email; Title = email.Title; From = email.From; Day = email.Day; Content = email.Content; _contentViewModel = contentViewModel; OpenEmailCommand = new DelegateCommand(OnOpenEmailCommandExecute); }
public void AddTo <T>(IContentViewModel navigationViewModel) where T : INavigationViewModel { if (_viewModelsICanNavigateTo.ContainsKey(typeof(T))) { var existingListValue = _viewModelsICanNavigateTo[typeof(T)]; if (!existingListValue.Contains(navigationViewModel)) { existingListValue.Add(navigationViewModel); } } else if (!_viewModelsICanNavigateTo.ContainsKey(typeof(T))) { IList <IContentViewModel> newListValue = new List <IContentViewModel>(); newListValue.Add(navigationViewModel); _viewModelsICanNavigateTo.Add(typeof(T), (List <IContentViewModel>)newListValue); } }
private async void OnLoadFile(string filePath) { try { ToolBar.LoadingEnabled = false; var file = new File(filePath); StatusBar.File = file; var cancellationSource = new CancellationTokenSource(); var progressVM = new FileLoadingProgressViewModel(file.Size, cancellationSource); Content = progressVM; await file.LoadAsync(cancellationSource.Token, progressVM.Progress); if (file.CurrentStatus != Status.Canceled) { Content = new LoadedContentViewModel() { LoadedData = file.LoadedData }; } else { StatusBar.File = null; Content = null; } } catch (Exception e) { MessageBox.Show($"Cannot open file {filePath}:\n{e.Message}"); } finally { ToolBar.LoadingEnabled = true; } }
private async Task<bool> ViewContentAsync(IContentViewModel content) { if (content == null) return false; this.currentContent = content; await content.OnSelectedAsync(this.page, this.progress); this.IsListActive = false; NotifyContentCommands(); return true; }
public void SetContentAsActive(IContentViewModel content) { this.viewModelWrapper.SetContentAsActive(content); this.viewModelWrapper.IsListActive = false; NotifyAppBarCommands(); }
public Task<bool> ViewAsync(IContentViewModel content) { if (content is IListViewModel) return ViewListAsync(content as IListViewModel); return ViewContentAsync(content); }
public static IHtmlString RenderOpenGraphMetaData(this HtmlHelper helper, IContentViewModel <IContent> contentViewModel) { var metaTitle = (contentViewModel.CurrentContent as FoundationPageData)?.MetaTitle ?? contentViewModel.CurrentContent.Name; var defaultLocale = EPiServer.Globalization.GlobalizationSettings.CultureLanguageCode; IEnumerable <string> alternateLocales = null; string contentType = null; string imageUrl = null; IEnumerable <string> category = null; string brand = null; string priceAmount = null; Currency priceCurrency = null; if (contentViewModel.CurrentContent is FoundationPageData && ((FoundationPageData)contentViewModel.CurrentContent).PageImage != null) { imageUrl = GetUrl(((FoundationPageData)contentViewModel.CurrentContent).PageImage); } else { imageUrl = GetDefaultImageUrl(); } if (contentViewModel.CurrentContent is FoundationPageData pageData) { alternateLocales = pageData.ExistingLanguages.Where(culture => culture.TextInfo.CultureName != defaultLocale) .Select(culture => culture.TextInfo.CultureName.Replace('-', '_')); } else if (contentViewModel.CurrentContent is EntryContentBase entryContent) { alternateLocales = entryContent.ExistingLanguages.Where(culture => culture.TextInfo.CultureName != defaultLocale) .Select(culture => culture.TextInfo.CultureName.Replace('-', '_')); } if (contentViewModel.CurrentContent is FoundationPageData) { if (((FoundationPageData)contentViewModel.CurrentContent).MetaContentType != null) { contentType = ((FoundationPageData)contentViewModel.CurrentContent).MetaContentType; } else { var pageType = _contentTypeRepository.Value.Load(contentViewModel.CurrentContent.GetOriginalType()); contentType = pageType.DisplayName; } } if (contentViewModel is GenericProductViewModel model) { brand = model.CurrentContent.Brand; priceAmount = model.ListingPrice == null || model.ListingPrice.Amount == 0 ? null : model.ListingPrice.ToString().Remove(0, 1); priceCurrency = model.ListingPrice.Currency; category = GetNodes(model.CurrentContent); } switch (contentViewModel.CurrentContent) { case HomePage homePage: var openGraphHomePage = new OpenGraphHomePage(metaTitle, new OpenGraphImage(imageUrl), GetUrl(homePage.ContentLink)) { Description = homePage.PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, ContentType = contentType, Category = homePage.Categories?.Select(c => c.ToString()), ModifiedTime = homePage.Changed, PublishedTime = homePage.StartPublish ?? null, ExpirationTime = homePage.StopPublish ?? null }; return(helper.OpenGraph(openGraphHomePage)); case LocationItemPage locationItemPage: var openGraphLocationItemPage = new OpenGraphLocationItemPage(metaTitle, new OpenGraphImage(imageUrl), GetUrl(contentViewModel.CurrentContent.ContentLink)) { Description = locationItemPage.PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, ContentType = contentType, ModifiedTime = locationItemPage.Changed, PublishedTime = locationItemPage.StartPublish ?? null, ExpirationTime = locationItemPage.StopPublish ?? null }; var categories = new List <string>(); if (locationItemPage.Continent != null) { categories.Add(locationItemPage.Continent); } if (locationItemPage.Country != null) { categories.Add(locationItemPage.Country); } openGraphLocationItemPage.Category = categories; var tags = new List <string>(); var items = ((LocationItemPage)contentViewModel.CurrentContent).Categories; if (items != null) { foreach (var item in items) { tags.Add(_contentLoader.Value.Get <StandardCategory>(item).Name); } } openGraphLocationItemPage.Tags = tags; return(helper.OpenGraph(openGraphLocationItemPage)); case BlogItemPage _: case StandardPage _: case TagPage _: var openGraphArticle = new OpenGraphFoundationPageData(metaTitle, new OpenGraphImage(imageUrl), GetUrl(contentViewModel.CurrentContent.ContentLink)) { Description = ((FoundationPageData)contentViewModel.CurrentContent).PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, ContentType = contentType, ModifiedTime = ((FoundationPageData)contentViewModel.CurrentContent).Changed, PublishedTime = ((FoundationPageData)contentViewModel.CurrentContent).StartPublish ?? null, ExpirationTime = ((FoundationPageData)contentViewModel.CurrentContent).StopPublish ?? null }; return(helper.OpenGraph(openGraphArticle)); case FoundationPageData foundationPageData: var openGraphFoundationPage = new OpenGraphFoundationPageData(metaTitle, new OpenGraphImage(imageUrl), GetUrl(foundationPageData.ContentLink)) { Description = foundationPageData.PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, Author = foundationPageData.AuthorMetaData, ContentType = contentType, Category = foundationPageData.Categories?.Select(c => c.ToString()), ModifiedTime = foundationPageData.Changed, PublishedTime = foundationPageData.StartPublish ?? null, ExpirationTime = foundationPageData.StopPublish ?? null }; return(helper.OpenGraph(openGraphFoundationPage)); case NodeContentBase nodeContentBase: var openGraphCategory = new OpenGraphGenericNode(metaTitle, new OpenGraphImage(imageUrl), GetUrl(nodeContentBase.ContentLink)) { Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, PublishedTime = nodeContentBase.StartPublish ?? null, ExpirationTime = nodeContentBase.StopPublish ?? null }; return(helper.OpenGraph(openGraphCategory)); case EntryContentBase entryContentBase: var entryImageUrl = entryContentBase.GetAssets <IContentImage>(_contentLoader.Value, _urlResolver.Value).FirstOrDefault(); if (string.IsNullOrEmpty(entryImageUrl)) { entryImageUrl = GetDefaultImageUrl(); } var openGraphEntry = new OpenGraphGenericProduct( entryContentBase.DisplayName, new OpenGraphImage(entryImageUrl), GetUrl(entryContentBase.ContentLink)) { Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, Category = category, Brand = brand, PriceAmount = priceAmount, PriceCurrency = priceCurrency }; return(helper.OpenGraph(openGraphEntry)); } return(new HtmlString(string.Empty)); }
internal void SetContentAsActive(IContentViewModel content) { this.currentContent = content; }
public void Dispose() { //make sure to set content to null, else the object itself will not be cleaned up Content = null; scope.Dispose(); }
public static IHtmlString RenderOpenGraphMetaData(this HtmlHelper helper, IContentViewModel <IContent> contentViewModel) { var metaTitle = (contentViewModel.CurrentContent as FoundationPageData)?.MetaTitle ?? contentViewModel.CurrentContent.Name; var defaultLocale = EPiServer.Globalization.GlobalizationSettings.CultureLanguageCode; IEnumerable <string> alternateLocales = null; string contentType = null; string imageUrl = null; if (contentViewModel.CurrentContent is FoundationPageData && ((FoundationPageData)contentViewModel.CurrentContent).PageImage != null) { imageUrl = GetUrl(((FoundationPageData)contentViewModel.CurrentContent).PageImage); } else { imageUrl = GetDefaultImageUrl(); } if (contentViewModel.CurrentContent is FoundationPageData pageData) { alternateLocales = pageData.ExistingLanguages.Where(culture => culture.TextInfo.CultureName != defaultLocale) .Select(culture => culture.TextInfo.CultureName.Replace('-', '_')); } if (contentViewModel.CurrentContent is FoundationPageData) { if (((FoundationPageData)contentViewModel.CurrentContent).MetaContentType != null) { contentType = ((FoundationPageData)contentViewModel.CurrentContent).MetaContentType; } else { var pageType = _contentTypeRepository.Value.Load(contentViewModel.CurrentContent.GetOriginalType()); contentType = pageType.DisplayName; } } switch (contentViewModel.CurrentContent) { case CmsHomePage homePage: var openGraphHomePage = new OpenGraphHomePage(metaTitle, new OpenGraphImage(imageUrl), GetUrl(homePage.ContentLink)) { Description = homePage.PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, ContentType = contentType, Category = GetCategoryNames(homePage.Categories), ModifiedTime = homePage.Changed, PublishedTime = homePage.StartPublish ?? null, ExpirationTime = homePage.StopPublish ?? null }; return(helper.OpenGraph(openGraphHomePage)); case LocationItemPage locationItemPage: var openGraphLocationItemPage = new OpenGraphLocationItemPage(metaTitle, new OpenGraphImage(imageUrl), GetUrl(contentViewModel.CurrentContent.ContentLink)) { Description = locationItemPage.PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, ContentType = contentType, ModifiedTime = locationItemPage.Changed, PublishedTime = locationItemPage.StartPublish ?? null, ExpirationTime = locationItemPage.StopPublish ?? null }; var categories = new List <string>(); if (locationItemPage.Continent != null) { categories.Add(locationItemPage.Continent); } if (locationItemPage.Country != null) { categories.Add(locationItemPage.Country); } openGraphLocationItemPage.Category = categories; var tags = new List <string>(); var items = ((LocationItemPage)contentViewModel.CurrentContent).Categories; if (items != null) { foreach (var item in items) { tags.Add(_contentLoader.Value.Get <StandardCategory>(item).Name); } } openGraphLocationItemPage.Tags = tags; return(helper.OpenGraph(openGraphLocationItemPage)); case BlogItemPage _: case StandardPage _: case TagPage _: var openGraphArticle = new OpenGraphFoundationPageData(metaTitle, new OpenGraphImage(imageUrl), GetUrl(contentViewModel.CurrentContent.ContentLink)) { Description = ((FoundationPageData)contentViewModel.CurrentContent).PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, ContentType = contentType, ModifiedTime = ((FoundationPageData)contentViewModel.CurrentContent).Changed, PublishedTime = ((FoundationPageData)contentViewModel.CurrentContent).StartPublish ?? null, ExpirationTime = ((FoundationPageData)contentViewModel.CurrentContent).StopPublish ?? null }; return(helper.OpenGraph(openGraphArticle)); case FoundationPageData foundationPageData: var openGraphFoundationPage = new OpenGraphFoundationPageData(metaTitle, new OpenGraphImage(imageUrl), GetUrl(foundationPageData.ContentLink)) { Description = foundationPageData.PageDescription, Locale = defaultLocale.Replace('-', '_'), AlternateLocales = alternateLocales, Author = foundationPageData.AuthorMetaData, ContentType = contentType, Category = GetCategoryNames(foundationPageData.Categories), ModifiedTime = foundationPageData.Changed, PublishedTime = foundationPageData.StartPublish ?? null, ExpirationTime = foundationPageData.StopPublish ?? null }; return(helper.OpenGraph(openGraphFoundationPage)); } return(new HtmlString(string.Empty)); }
public void SetContentAsActive(IContentViewModel content) { }
public ExercisePageViewModel(IContentViewModel contentViewModel) { this.ContentViewModel = contentViewModel; }
public FitnessProgramPageViewModel(IContentViewModel contentViewModel) { this.ContentViewModel = contentViewModel; }
public MainPageViewModel(IContentViewModel contentViewModel) { this.ContentViewModel = contentViewModel; }