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)); }
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))); }