Esempio n. 1
0
        public ActionResult Index()
        {
            var defs = MvcApplication.BuildDefinitions;

            var vm = new HomeIndexPageViewModel();

            foreach (var buildDefinition in defs)
            {
                var artefacts = ArtefactRepository.GetFileListing(buildDefinition.ArtefactQuery);

                var build = new BuildDefinitionViewModel(buildDefinition.Title, buildDefinition.Anchor)
                {
                    Artefacts = artefacts
                };

                vm.Builds.Add(build);
            }

            vm.RenderInformation = "Rendered at: " + DateTime.Now.ToString() +
                                   ", .NET Version: " + Environment.Version;

            return(View(vm));
        }
Esempio n. 2
0
        public ActionResult For(string id)
        {
            var defs       = MvcApplication.BuildDefinitions;
            var currentDef = defs.FirstOrDefault(d => 0 == String.Compare(d.Anchor, id, StringComparison.InvariantCultureIgnoreCase));

            if (null == currentDef)
            {
                return(HttpNotFound());
            }

            var artefacts = ArtefactRepository.GetFileListing(currentDef.ArtefactQuery);

            var leftpart = Request.Url.GetLeftPart(UriPartial.Authority);

            var postItems = artefacts.Select(p => new SyndicationItem(p.FileName, "", new Uri(leftpart + Url.Content("~/" + p.FileName))));

            var feed = new SyndicationFeed(currentDef.Title, "SharpDevelop Build Server Automated Feed", new Uri(Request.Url.AbsoluteUri), postItems)
            {
                Copyright = new TextSyndicationContent("(c) SharpDevelop Team"),
                Language  = "en-US"
            };

            return(new FeedResult(new Rss20FeedFormatter(feed)));
        }