Ejemplo n.º 1
0
        private ActionResult ViewDoc(string version, string key, Language lang)
        {
            var viewModel = new DocPageViewModel(version, lang);

            viewModel.FillToc(GetTableOfContents(version));

            var article = GetArticle(key, version, lang);

            if (article == null)
            {
                return(View("NotFound", viewModel));
            }

            FillAvailableLanguages(viewModel, article, version);

            if (article.Page == null)
            {
                return(View("NotFound", viewModel));
            }

            FillAvailableVersions(viewModel, article, lang, version);

            ViewBag.Key    = article.Page.Key;
            viewModel.Page = article.Page;
            return(View(MVC.Docs.Views.Doc, viewModel));
        }
Ejemplo n.º 2
0
 private static void FillAvailableLanguages(DocPageViewModel viewModel, DocumentationPage_WithVersionsAndLanguages.Result article, string currentVersion)
 {
     if (article.Languages.ContainsKey(currentVersion))
     {
         viewModel.AvailableLanguages.AddRange(article.Languages[currentVersion]);
     }
 }
Ejemplo n.º 3
0
        private void FillAvailableVersions(DocPageViewModel viewModel, DocumentationPage_WithVersionsAndLanguages.Result article, Language currentLanguage, string currentVersion)
        {
            var currentVersionAsFloat = float.Parse(currentVersion);

            foreach (var v in DocsVersion.AllVersionsAsFloat)
            {
                if (currentVersionAsFloat == v)
                {
                    continue;
                }

                DocumentationMapping map;

                if (currentVersionAsFloat < v)
                {
                    map = article.Page.Mappings
                          .Where(x => x.Version > currentVersionAsFloat && x.Version <= v)
                          .OrderBy(x => x.Version)
                          .FirstOrDefault();
                }
                else
                {
                    map = article.Page.Mappings
                          .Where(x => x.Version < currentVersionAsFloat && x.Version <= v)
                          .OrderBy(x => x.Version)
                          .LastOrDefault();
                }

                if (map == null)
                {
                    continue;
                }

                if (article.Languages.Any(versionWithLangs => float.Parse(versionWithLangs.Key) == v))
                {
                    continue;
                }

                viewModel.AvailableVersions[v] = map.Key;
            }

            foreach (var version in FilterVersions(article.Languages, currentLanguage, currentVersion))
            {
                viewModel.AvailableVersions[float.Parse(version)] = article.Page.Key;
            }
        }
Ejemplo n.º 4
0
        public ViewModelLocator()
        {
            try
            {
                var config = new ConfigurationBuilder();
                config.AddJsonFile(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + "\\Resources\\autofac.json");
                var module  = new ConfigurationModule(config.Build());
                var builder = new ContainerBuilder();
                builder.RegisterModule(module);
                Container = builder.Build();

                navigationService = Container.Resolve <INavigationService>();
                appViewModel      = Container.Resolve <AppViewModel>();
                //
                LogInViewModel                = Container.Resolve <LogInPageViewModel>();
                MainDesktopPageViewModel      = Container.Resolve <MainDesktopPageViewModel>();
                CalendarPageViewModel         = Container.Resolve <CalendarPageViewModel>();
                AddEditEventPageViewModel     = Container.Resolve <AddEditEventPageViewModel>();
                GMailPageViewModel            = Container.Resolve <GMailPageViewModel>();
                ReadMailPageViewModel         = Container.Resolve <ReadMailPageViewModel>();
                SchedulePageViewModel         = Container.Resolve <SchedulePageViewModel>();
                DocumentsPageViewModel        = Container.Resolve <DocumentsPageViewModel>();
                NewsPageViewModel             = Container.Resolve <NewsPageViewModel>();
                SettingsPageViewModel         = Container.Resolve <SettingsPageViewModel>();
                ContactsPageViewModel         = Container.Resolve <ContactsPageViewModel>();
                ComposeNewMailPageViewModel   = Container.Resolve <ComposeNewMailPageViewModel>();
                AdminPanelPageViewModel       = Container.Resolve <AdminPanelPageViewModel>();
                AddNewUserPageViewModel       = Container.Resolve <AddNewUserPageViewModel>();
                NormativeInfoPageViewModel    = Container.Resolve <NormativeInfoPageViewModel>();
                AddNewsPageViewModel          = Container.Resolve <AddNewsPageViewModel>();
                NewsListPageViewModel         = Container.Resolve <NewsListPageViewModel>();
                ConstantsPageViewModel        = Container.Resolve <ConstantsPageViewModel>();
                ChangeMyPassPageViewModel     = Container.Resolve <ChangeMyPassPageViewModel>();
                CreateNewContactPageViewModel = Container.Resolve <CreateNewContactPageViewModel>();
                DocPageViewModel              = Container.Resolve <DocPageViewModel>();
                ShowHistoryPageViewModel      = Container.Resolve <ShowHistoryPageViewModel>();

                navigationService.Register <LogInPageView>(LogInViewModel);
                navigationService.Register <MainDesktopPageView>(MainDesktopPageViewModel);
                navigationService.Register <CalendarPageView>(CalendarPageViewModel);
                navigationService.Register <AddEditEventPageView>(AddEditEventPageViewModel);
                navigationService.Register <GMailPageView>(GMailPageViewModel);
                navigationService.Register <ReadMailPageView>(ReadMailPageViewModel);
                navigationService.Register <SchedulePageView>(SchedulePageViewModel);
                navigationService.Register <DocumentsPageView>(DocumentsPageViewModel);
                navigationService.Register <NewsPageView>(NewsPageViewModel);
                navigationService.Register <SettingsPageView>(SettingsPageViewModel);
                navigationService.Register <ContactsPageView>(ContactsPageViewModel);
                navigationService.Register <ComposeNewMailPageView>(ComposeNewMailPageViewModel);
                navigationService.Register <AdminPanelPageView>(AdminPanelPageViewModel);
                navigationService.Register <AddNewUserPageView>(AddNewUserPageViewModel);
                navigationService.Register <NormativeInfoPageView>(NormativeInfoPageViewModel);
                navigationService.Register <AddNewsPageView>(AddNewsPageViewModel);
                navigationService.Register <NewsListPageView>(NewsListPageViewModel);
                navigationService.Register <ConstantsPageView>(ConstantsPageViewModel);
                navigationService.Register <ChangeMyPassPageView>(ChangeMyPassPageViewModel);
                navigationService.Register <CreateNewContactPageView>(CreateNewContactPageViewModel);
                navigationService.Register <DocPageView>(DocPageViewModel);
                navigationService.Register <ShowHistoryPageView>(ShowHistoryPageViewModel);

                navigationService.Navigate <LogInPageView>();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }