/// <summary> /// Gets the build. /// </summary> /// <param name="buildDescriptor">The build descriptor.</param> /// <returns></returns> public Build GetBuild(BuildDescriptor buildDescriptor) { Build build = new NullBuild(buildDescriptor); if (buildDescriptor != null) { var key = build.Number + "-" + build.Url; if (Cache.ContainsKey(key)) { build = Cache[key]; System.Diagnostics.Debug.WriteLine("Hit: " + key); } else { build = BuildService.GetBuild(buildDescriptor); if (!build.Building) Cache.Add(key, build); System.Diagnostics.Debug.WriteLine("Miss: " + key); } } return build; }
/// <summary> /// Gets the build. /// </summary> /// <param name="buildDescriptor">The build descriptor.</param> /// <returns></returns> public Build GetBuild(BuildDescriptor buildDescriptor) { Build build = new NullBuild(buildDescriptor); var url = new XmlApiPrepender().Prepend(build.Url); if (buildDescriptor != null) { var xml = XmlService.GetPage(url); if (xml.IsValid) { build = new BuildMapper().Map(xml.Contents); } } return build; }