/// <summary>
        /// Action for news detail
        /// </summary>
        /// <param name="topic">topic name: may "npb", "mlb", "jleague"</param>
        /// <param name="newsItemID">id of news which is displaied</param>
        /// <param name="sportID">id of sport: 1 - npb, 2-jleague, ...</param>
        /// <param name="uniqueID">gameID/leagueID when news item was clicked from /npb/game/{gameID} or /jleague/j1/ or ...</param>
        /// <param name="teamID"> when news item was clicked from /npb/teams/{teamID}/xxx/ or /jleague/j1/teams/{teamid}/news/ or ... </param>
        public ActionResult Index(string topic, long newsItemID, int sportID, string uniqueID, string teamID)
        {
            ViewBag.topic = topic;
            ViewBag.sportID = sportID;
            ViewBag.newsItemID = newsItemID;
            ViewBag.pageNO = "7-1";
            int teamLeagueFlag = 0;
            int teamId = -1;
            int leagueId = -1;

            if (!string.IsNullOrEmpty(uniqueID) && Int32.TryParse(uniqueID, out leagueId))
                ViewBag.uniqueID = uniqueID;
            if (!string.IsNullOrEmpty(teamID) && Int32.TryParse(teamID, out teamId))
                ViewBag.teamID = teamID;
            // for every sportID, if teamID exists then  do 12th proccessing
            if (teamId != -1 && ViewBag.teamID != null)
            {
                //for every sportID, do 12th proccessing
                teamLeagueFlag = Constants.TEAM_TOPIC_CLASSIFICATION;
            }
            else
            {
                // do 13th proccessing
                if (leagueId != -1 && ViewBag.uniqueID != null)
                {
                    if (sportID == 2 || sportID == 4)
                        teamLeagueFlag = Constants.LEAGUE_TOPIC_CLASSIFICATION;
                }
            }
            var queryNewsTop = new NewsInfoViewModel();
            switch(teamLeagueFlag)
            {
                case Constants.TEAM_TOPIC_CLASSIFICATION:
                    queryNewsTop = GetBriefNewsById(newsItemID, teamLeagueFlag, teamId);
                    break;
                case Constants.LEAGUE_TOPIC_CLASSIFICATION:
                    queryNewsTop = GetBriefNewsById(newsItemID, teamLeagueFlag, leagueId);
                    break;
                default:
                    queryNewsTop = GetBriefNewsById(newsItemID);
                    break;
            }
            NewsTopicViewModel newsTopic = new NewsTopicViewModel();
            if (queryNewsTop != null)
            {
                // Add a record to NewsReading
                SaveNewRecordToNewsReading(queryNewsTop.NewsItemID);

                // get Caption for main photo
                var query = news.PhotoNews.Find(queryNewsTop.NewsItemID, Constants.IMAGE_CAPTION_DUID);
                if (query != null)
                {
                    queryNewsTop.Caption = query.Content;
                }
                newsTopic.NewsDisplayed = queryNewsTop;

                // get number of news will display on newsTopic.RelatedNews
                var spara = news.SystemParamater.Find(3);
                int relatedNewsSize = 5;
                if (spara != null)
                    relatedNewsSize = Convert.ToInt32(spara.Spara);
                // depend on teamLeagueFlag do the corresponding function for RelatedNews
                switch (teamLeagueFlag)
                {
                    case Constants.TEAM_TOPIC_CLASSIFICATION:
                        // team related news
                        newsTopic.RelatedNews = GetRelatedNews(queryNewsTop.NewsItemID, queryNewsTop.ItpcSubjectCode, teamLeagueFlag, teamId);
                        ViewBag.relatedNewsSize = relatedNewsSize;
                        break;
                    case Constants.LEAGUE_TOPIC_CLASSIFICATION:
                        // league related news
                        newsTopic.RelatedNews = GetRelatedNews(queryNewsTop.NewsItemID, queryNewsTop.ItpcSubjectCode, teamLeagueFlag, leagueId);
                        ViewBag.relatedNewsSize = relatedNewsSize;
                        break;
                    default:
                        // orther (no teamID, no uniqueID)
                        newsTopic.RelatedNews = GetRelatedNews(queryNewsTop.NewsItemID, queryNewsTop.ItpcSubjectCode);
                        break;
                }
                newsTopic.RelatedTopics = GetRelatedTopics(queryNewsTop.NewsItemID, sportID);
                newsTopic.RelatedPosts = PostedController.GetRecentPosts(Constants.NPB_POST_SPORT_TYPE, sportID, null);
                return View(newsTopic);
            }
            return View("Error410");
        }
Esempio n. 2
0
        public ViewModelLocator()
        {
            try
            {
                var config = new ConfigurationBuilder();
                config.AddJsonFile("autofac.json");
                var module  = new ConfigurationModule(config.Build());
                var builder = new ContainerBuilder();
                builder.RegisterModule(module);
                Container = builder.Build();

                navigationService         = Container.Resolve <INavigationService>();
                mainWindowViewModel       = Container.Resolve <MainWindowViewModel>();
                problemsViewModel         = Container.Resolve <ProblemsViewModel>();
                infrastructureViewModel   = Container.Resolve <InfrastructureViewModel>();
                buildingViewModel         = Container.Resolve <BuildingViewModel>();
                governmentViewModel       = Container.Resolve <GovernmentViewModel>();
                hospitalViewModel         = Container.Resolve <HospitalViewModel>();
                ideaViewModel             = Container.Resolve <IdeaViewModel>();
                publicTransportViewModel  = Container.Resolve <PublicTransportViewModel>();
                roadViewModel             = Container.Resolve <RoadViewModel>();
                securityViewModel         = Container.Resolve <SecurityViewModel>();
                tradeAdvertisingViewModel = Container.Resolve <TradeAdvertisingViewModel>();
                yardViewModel             = Container.Resolve <YardViewModel>();
                helloViewModel            = Container.Resolve <HelloViewModel>();
                importantListViewModel    = Container.Resolve <ImportantListViewModel>();
                importantInfofViewModel   = Container.Resolve <ImportantInfofViewModel>();
                newsListViewModel         = Container.Resolve <NewsListViewModel>();
                newsInfoViewModel         = Container.Resolve <NewsInfoViewModel>();
                buildingPVModel           = Container.Resolve <BuildingPVModel>();
                governmentPVModel         = Container.Resolve <GovernmentPVModel>();
                hospitalPVModel           = Container.Resolve <HospitalPVModel>();
                ideaPVModel             = Container.Resolve <IdeaPVModel>();
                infrastructurePVModel   = Container.Resolve <InfrastructurePVModel>();
                publicTransportPVModel  = Container.Resolve <PublicTransportPVModel>();
                roadPVModel             = Container.Resolve <RoadPVModel>();
                securityPVModel         = Container.Resolve <SecurityPVModel>();
                tradeAdvertisingPVModel = Container.Resolve <TradeAdvertisingPVModel>();
                yardPVModel             = Container.Resolve <YardPVModel>();

                navigationService.Register <ProblemsViewModel>(problemsViewModel);
                navigationService.Register <InfrastructureViewModel>(infrastructureViewModel);
                navigationService.Register <BuildingViewModel>(buildingViewModel);
                navigationService.Register <GovernmentViewModel>(governmentViewModel);
                navigationService.Register <HospitalViewModel>(hospitalViewModel);
                navigationService.Register <IdeaViewModel>(ideaViewModel);
                navigationService.Register <PublicTransportViewModel>(publicTransportViewModel);
                navigationService.Register <RoadViewModel>(roadViewModel);
                navigationService.Register <SecurityViewModel>(securityViewModel);
                navigationService.Register <TradeAdvertisingViewModel>(tradeAdvertisingViewModel);
                navigationService.Register <YardViewModel>(yardViewModel);
                navigationService.Register <HelloViewModel>(helloViewModel);
                navigationService.Register <ImportantListViewModel>(importantListViewModel);
                navigationService.Register <ImportantInfofViewModel>(importantInfofViewModel);
                navigationService.Register <NewsListViewModel>(newsListViewModel);
                navigationService.Register <NewsInfoViewModel>(newsInfoViewModel);
                navigationService.Register <BuildingPVModel>(buildingPVModel);
                navigationService.Register <GovernmentPVModel>(governmentPVModel);
                navigationService.Register <HospitalPVModel>(hospitalPVModel);
                navigationService.Register <IdeaPVModel>(ideaPVModel);
                navigationService.Register <InfrastructurePVModel>(infrastructurePVModel);
                navigationService.Register <PublicTransportPVModel>(publicTransportPVModel);
                navigationService.Register <RoadPVModel>(roadPVModel);
                navigationService.Register <SecurityPVModel>(securityPVModel);
                navigationService.Register <TradeAdvertisingPVModel>(tradeAdvertisingPVModel);
                navigationService.Register <YardPVModel>(yardPVModel);

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