public void WhenCallingBuilds_ShouldReturnBuilds() { // arrange const string result = "result"; const string status = "status"; const int definitionId = 11; const string buildNumber = "1.2.3.4"; const string definitionName = "The Hill's CI"; IBuildsFactory fakeBuildsFactory = new FakeBuildsFactory(1, new List <Build> { new Build(status, result, buildNumber, DateTime.Today, new Definition(definitionId, definitionName), new RequestedFor("Hank Hill", "http://image.shack.usa/hankhill")) }); BuildController controller = new Privateer().Object <BuildController>(fakeBuildsFactory, new MemoryCache(new MemoryCacheOptions())); // act OkObjectResult okObjectResult = (OkObjectResult)controller.Builds("StricklandPropane-CI"); // assert okObjectResult.StatusCode.Should().Be(200); Builds builds = (Builds)okObjectResult.Value; JObject jObject = JObject.Parse(JsonConvert.SerializeObject(builds)); jObject["count"].Value <int>().Should().Be(1); jObject["builds"].Should().HaveCount(1); jObject["builds"][0]["status"].Value <string>().Should().Be(status); jObject["builds"][0]["result"].Value <string>().Should().Be(result); jObject["builds"][0]["buildNumber"].Value <string>().Should().Be(buildNumber); jObject["builds"][0]["definition"]["id"].Value <int>().Should().Be(definitionId); jObject["builds"][0]["definition"]["name"].Value <string>().Should().Be(definitionName); }
public override void Build() { var files = GetFilesWithoutDirectories(Config.FullSearchPath); for (int i = 0; i < files.Count; i++) { var item = files[i]; if (EditorUtility.DisplayCancelableProgressBar(string.Format("Packing... [{0}/{1}]", i, files.Count), item, i * 1f / files.Count)) { EditorUtility.ClearProgressBar(); break; } Tuple <string, string> bundleName = GetABNamePath(DLCItem, item); if (!IsContainInPackedAssets(item)) { AssetBundleBuild build = new AssetBundleBuild(); build.assetBundleName = bundleName.Item1; build.assetNames = new string[] { item }; Builds.Add(build); AddToPackedAssets(item); } AddToAllAssets(item, bundleName); AddToAllBundles(bundleName); } }
public async Task ReconcileIntegrationTest() { var project = await _client.GetAsync(Project.ProjectById(_config.Project)); var buildPipeline = await _client.GetAsync(Builds.BuildDefinition(project.Id, "2")) .ConfigureAwait(false); await ManagePermissions .ForBuildPipeline(_client, project.Id, buildPipeline.Id, buildPipeline.Path) .Permissions(Build.DeleteBuilds) .SetToAsync(PermissionId.Allow); var rule = new NobodyCanDeleteBuilds(_client); (await rule.EvaluateAsync(project, buildPipeline)) .ShouldBe(false); await rule.ReconcileAsync(project.Id, buildPipeline.Id); await Policy .Handle <Exception>() .WaitAndRetryAsync(Constants.NumRetries, t => TimeSpan.FromSeconds(t)) .ExecuteAsync(async() => { (await rule.EvaluateAsync(project, buildPipeline)).ShouldBe(true); }); }
public static void BuildDLCConfig(DLCItem dlc) { //清除缓存 PackedAssets_Internal.Clear(); PackedAssets_Native.Clear(); PackedAssets_DLC.Clear(); Builds.Clear(); Rules.Clear(); AllDependencies.Clear(); AllAssets.Clear(); AllBundles.Clear(); AllSharedBundles.Clear(); Consts.Clear(); //永远提前打包Internal if (!dlc.IsInternal) { BuildDLCConfigInternal(Internal); } //如果不是NativeDLC则先BuildNativeDLC,防止资源被其他DLC重复打包 if (!dlc.IsInternal && !dlc.IsNative) { BuildDLCConfigInternal(Native); } BuildDLCConfigInternal(dlc); }
internal void RestartTimer(bool refresh = false) { _buildRefreshTimer.Stop(); if (refresh) { Builds.Clear(); OnPropertyChanged(new PropertyChangedEventArgs(nameof(DisplaySpinner))); } if (string.IsNullOrWhiteSpace(_configManager.Get <DevOpsServerConfig>().Url)) { return; } _buildRefreshTimer.Interval = _serverConfig.BuildRefreshTime; _buildRefreshTimer.Start(); // In general, not awaiting an async Method (which returns a Task) will cause any Exception in the method being lost, going nowhere. // Awaiting the Task, will throw the exception on the current thread. // async void Methods cannot be awaited, BUT an Exception will hit the application completely unhandled, usually causing it to crash. // Thus, async void Methods (usually only event handlers) must handle all exceptions themselves. // Here, we want to call an async method which does return a Task. However, we do not want to await it. // async () => await X() is effectively creating an async void method inline, so any Exception which leaves, would at least crash the application, so we know // Since RefreshAllAsync handles it's exceptions, we can do that without crashing the application. Task.Run(async() => await RefreshAllAsync().ConfigureAwait(false)); }
public Dictionary <string, string> DataToDict() { Dictionary <string, string> result = new Dictionary <string, string> { ["experience"] = Experience.ToString(), ["kills"] = Kills.ToString(), ["leaks"] = Leaks.ToString(), ["builds"] = Builds.ToString(), ["sends"] = Sends.ToString(), ["earned_tangos"] = EarnedTangos.ToString(), ["won_games"] = WonGames.ToString(), ["won_duels"] = WonDuels.ToString(), ["lost_games"] = LostGames.ToString(), ["lost_duels"] = LostDuels.ToString(), ["win_rate"] = WinRate.ToString(), ["duel_win_rate"] = DuelWinRate.ToString(), ["rating"] = Rating.ToString(), ["earned_gold"] = EarnedGold.ToString(), ["gold_per_minute"] = GoldPerMinute.ToString(), ["tangos_per_minute"] = TangosPerMinute.ToString(), ["time_played"] = TimePlayed.ToString() }; // foreach (var data in FractionDatas) { // result[KilledPrefix + data.FractionName] = data.Killed.ToString(); // result[PlayedPrefix + data.FractionName] = data.Played.ToString(); // } foreach (var pair in PlayedFractions) { result[pair.Key] = pair.Value.ToString(); } // foreach (var pair in FractionKills) // result[pair.Key] = pair.Value.ToString(); return(result); }
private void RemoveBuild(object obj) { _mainViewModel.RemoveBuild(SelectedBuild !.Build); Builds.Remove(SelectedBuild); SelectedBuild = null; }
public bool IsProductDependency( string sourceRepositoryName, string sourceBranchName, string targetRepositoryName, string targetBranchName) { // Take latest target builds ordered by DateProduced var latestTargetBuildsQuery = Builds .Where(b => (b.GitHubRepository == targetRepositoryName && b.GitHubBranch == targetBranchName) || (b.AzureDevOpsRepository == targetRepositoryName && b.AzureDevOpsBranch == targetBranchName)) .OrderByDescending(b => b.DateProduced); // For each build return its Id and HasProductDependencies flag saying // if there are any build dependencies in this build that come from source // and have IsProduct flag set. var buildDependenciesQuery = latestTargetBuildsQuery .Select(b => new { Id = b.Id, HasProductDependencies = BuildDependencies .Any(d => ((d.DependentBuild.GitHubRepository == sourceRepositoryName && d.DependentBuild.GitHubBranch == sourceBranchName) || (d.DependentBuild.AzureDevOpsRepository == sourceRepositoryName && d.DependentBuild.AzureDevOpsBranch == sourceBranchName)) && d.Build == b && d.IsProduct) }); // Take the most recent build. Can be null if there are no target builds yet. var latestBuild = buildDependenciesQuery.FirstOrDefault(); return(latestBuild?.HasProductDependencies ?? false); }
private async void CopyClicked(object sender, MouseButtonEventArgs e) { if (isButtonBeingPressed) { return; } isButtonBeingPressed = true; await Task.Delay(Opt.buttonDelay); isButtonBeingPressed = false; ImageButton imageButton = (ImageButton)sender; Build build = Builds.GetBuild(imageButton.uniqueBuildId); if (comboBoxes[build.uniqueBuildId].Text == "Vassal 7.0.3+") { CopyForVassalClicked(build); } else if (comboBoxes[build.uniqueBuildId].Text == "Facebook") { CopyForFacebookClicked(build); } else if (comboBoxes[build.uniqueBuildId].Text == "Reddit") { CopyForRedditClicked(build); } else if (comboBoxes[build.uniqueBuildId].Text == "BBCode") { CopyForBBCodeClicked(build); } else if (comboBoxes[build.uniqueBuildId].Text == "Text") { CopyForTextClicked(build); } }
public override void Build() { var files = GetFilesWithoutDirectories(Data.FullSearchPath); for (int i = 0; i < files.Count; i++) { var item = files[i]; if (EditorUtility.DisplayCancelableProgressBar(string.Format("Packing... [{0}/{1}]", i, files.Count), item, i * 1f / files.Count)) { EditorUtility.ClearProgressBar(); break; } string bundleName = GetABNameWithDirectoryAndFile(Data.FinalDirectory, item); if (!IsContainInPackedAssets(item)) { AssetBundleBuild build = new AssetBundleBuild(); build.assetBundleName = bundleName; build.assetNames = new string[] { item }; Builds.Add(build); AddToPackedAssets(item); } if (!AllAssets.ContainsKey(item)) { AllAssets.Add(item, bundleName); } } }
/// <summary> /// 活的构建的数据 /// </summary> /// <param name="manifestPath"></param> /// <returns></returns> private static List <AssetBundleBuild> GenerateAssetBundleBuildData(DLCItem dlc) { if (dlc.IsInternal) { PackedAssets_Internal.Clear(); } else if (dlc.IsNative) { PackedAssets_Native.Clear(); } PackedAssets_DLC.Clear(); Builds.Clear(); Rules.Clear(); AllDependencies.Clear(); AllAssets.Clear(); AllBundles.Clear(); AllSharedBundles.Clear(); //建立其他文件 List <BuildRuleConfig> tempBuildDatas = dlc.BuildRuleData; if (tempBuildDatas == null && tempBuildDatas.Count == 0) { CLog.Error("没有配置相关的AssetBundle信息"); return(null); } foreach (var item in tempBuildDatas) { BuildRule buildRule = null; if (item.BuildRuleType == BuildRuleType.Directroy) { buildRule = new BuildAssetsWithDirectroy(dlc, item); } else if (item.BuildRuleType == BuildRuleType.FullPath) { buildRule = new BuildAssetsWithPath(dlc, item); } else if (item.BuildRuleType == BuildRuleType.File) { buildRule = new BuildAssetsWithFile(dlc, item); } Rules.Add(buildRule); } //搜集依赖的资源 foreach (var item in Rules) { CollectDependencies(item.Config.FullSearchPath); } //打包共享的资源 BuildSharedAssets(dlc); foreach (var item in Rules) { item.Build(); } EditorUtility.ClearProgressBar(); return(Builds); }
private static bool BuildTgt(Target tgt, Args args) { try { Builds[tgt](args.debug); return(true); } catch (Exception e) { Debug.LogError("ErrorBuildingTarget:" + e); if (args.console) { EditorApplication.Exit(ErrorBuildingTarget); } return(false); } }
protected override async void OnInitialize() { Project = await _teamServices.GetProjectAsync(ProjectId); _definitions = await _teamServices.GetDefinitionsAsync(Project); var builds = await _teamServices.GetBuildsAsync(Project); Builds.AddRange(builds.OrderByDescending(b => b.QueueTime).Select(b => new BuildViewModel(b))); }
public async Task <bool> PushMetadataAsync() { try { Log.LogMessage("Starting build metadata push to the Build Asset Registry..."); if (!File.Exists(ManifestZipFilePath)) { Log.LogError($"Required file '{ManifestZipFilePath}' does not exist."); } else { string tmpManifestsPath = null; try { tmpManifestsPath = $"{Path.GetTempPath()}\asset-manifests"; if (!Directory.Exists(tmpManifestsPath)) { Directory.Delete(tmpManifestsPath, true); } Directory.CreateDirectory(tmpManifestsPath); ZipFile.ExtractToDirectory(ManifestZipFilePath, tmpManifestsPath); List <BuildData> buildsManifestMetadata = GetBuildManifestsMetadata(tmpManifestsPath); BuildData finalBuild = MergeBuildManifests(buildsManifestMetadata); MaestroApi client = (MaestroApi)ApiFactory.GetAuthenticated(MaestroApiEndpoint, BuildAssetRegistryToken); Builds buildAssetRegistryBuilds = new Builds(client); Client.Models.Build recordedBuild = await buildAssetRegistryBuilds.CreateAsync(finalBuild, s_cancellationToken); Log.LogMessage($"Metadata has been pushed. Build id in the Build Asset Registry is '{recordedBuild.Id}'"); } finally { if (tmpManifestsPath != null) { Directory.Delete(tmpManifestsPath, true); } } } } catch (Exception exc) { Log.LogErrorFromException(exc, true); } return(!Log.HasLoggedErrors); }
private void RemoveBuilds(Build b) { if (Builds.Any()) { var old = Builds.FirstOrDefault(x => x.Id == b.Id); if (old != null) { Builds.Remove(old); } } }
public async Task LoadAsync() { // 35 var lookup = await _lookupBuildsService.GetBuildsAsync(); Builds.Clear(); foreach (var item in lookup) { Builds.Add(item); } }
public static LoadSaveResult LoadBuildData(string bstr) { #if !DEBUG try #endif { // upgrade: bstr = bstr.Replace("\"b_hp\"", "\"hp\""); bstr = bstr.Replace("\"b_atk\"", "\"atk\""); bstr = bstr.Replace("\"b_def\"", "\"def\""); bstr = bstr.Replace("\"b_spd\"", "\"spd\""); bstr = bstr.Replace("\"b_crate\"", "\"critical_rate\""); bstr = bstr.Replace("\"b_cdmg\"", "\"critical_damage\""); bstr = bstr.Replace("\"b_acc\"", "\"accuracy\""); bstr = bstr.Replace("\"b_res\"", "\"res\""); var bs = JsonConvert.DeserializeObject <List <Build> >(bstr); foreach (var b in bs.OrderBy(b => b.Priority)) { Builds.Add(b); } foreach (var b in Builds.Where(b => b.Type == BuildType.Link)) { b.LinkBuild = Program.Builds.FirstOrDefault(bu => bu.ID == b.LinkId); } } #if !DEBUG catch (Exception e) { File.WriteAllText("error_build.txt", e.ToString()); throw new InvalidOperationException("Error occurred loading Build JSON.\r\n" + e.GetType() + "\r\nInformation is saved to error_build.txt"); } #endif if (Program.Builds.Count > 0 && (Program.Data?.Monsters == null)) { // backup, just in case string destFile = Path.Combine("", string.Format("{0}.backup{1}", "builds", ".json")); int num = 2; while (File.Exists(destFile)) { destFile = Path.Combine("", string.Format("{0}.backup{1}{2}", "builds", num, ".json")); num++; } File.Copy("builds.json", destFile); return(LoadSaveResult.Failure); } SanitizeBuilds(); return(LoadSaveResult.Success); }
private void AffectURI(Uri baseAddress) { _baseAddress = baseAddress.AbsoluteUri; _builds = BaseObjectApi <Builds> .CreateObject(this); _TestResults = BaseObjectApi <Test> .CreateObject(this); _VersionControl = BaseObjectApi <Versioncontrol> .CreateObject(this); _wit = BaseObjectApi <Wit> .CreateObject(this); _getComments = BaseObjectApi <GetComments> .CreateObject(this); }
private async Task <int> LoadBuildsAsync() { try { var _builds = new Builds(); return(await _builds.ListAllAsync()); } catch (Exception ex) { await SaveLoadHistory(Methods.Builds, -1, false, ex.Message); throw ex; } }
public static void BuyAll() { for (int i = 0; i < Info.store.Length; i++) { if (Builds.wantedChampions.Contains(Info.store[i].name)) { Champion[] champs = Array.FindAll(Board.board, x => x.name == Info.store[i].name && Info.store[i].level == 1); Champion[] emptyBenchSlots = Array.FindAll(Board.board, x => x.name == ChampionName.None); if (champs.Length > 1) //join { ClickBuy(i); Join(Info.store[i].name); } else if (emptyBenchSlots.Length > 0) // default { for (int j = 0; j < 9; j++) { if (Board.board[i].name == ChampionName.None) { Board.board[i] = Champions.allChampionsFindByName(Info.store[i].name); } } ClickBuy(i); } else // no space { if (!Builds.buildFound) { Builds.RemoveBuilds(); } else { continue; } if (Builds.wantedChampions.Contains(Info.store[i].name)) { for (int j = 0; j < 9; j++) { if (Board.board[i].name == ChampionName.None) { Board.board[i] = Champions.allChampionsFindByName(Info.store[i].name); } } ClickBuy(i); } } } } }
public void WhenCallingBuildsByDefinition_ShouldCacheAndReturnBuilds() { const string projectName = "StricklandPropane-CI"; const string result = "result"; const string status = "status"; const int hanksDefinitionId = 11; const string hanksBuildNumber = "1.2.3.4"; const string hanksDefinitionName = "The Hill's CI"; const int peggysDefinitionId = 12; const string peggysBuildNumber = "1.0.0.1"; const string peggysDefinitionName = "Peggy's Quilting Seminar CI"; IBuildsFactory fakeBuildsFactory = new FakeBuildsFactory(2, new List <Build> { new Build(status, result, hanksBuildNumber, DateTime.Today, new Definition(hanksDefinitionId, hanksDefinitionName), new RequestedFor("Hank Hill", "http://image.shack.usa/hankhill")), new Build(status, result, peggysBuildNumber, DateTime.Today, new Definition(peggysDefinitionId, peggysDefinitionName), new RequestedFor("Peggy Hill", "http://image.shack.usa/peggyhill")) }); MemoryCache memoryCache = new MemoryCache(new MemoryCacheOptions()); BuildController controller = new Privateer().Object <BuildController>(fakeBuildsFactory, memoryCache); // act OkObjectResult okObjectResult = (OkObjectResult)controller.BuildsByDefinition(projectName, new List <int> { hanksDefinitionId, peggysDefinitionId }); // assert okObjectResult.StatusCode.Should().Be(200); Builds builds = (Builds)okObjectResult.Value; JObject jObject = JObject.Parse(JsonConvert.SerializeObject(builds)); jObject["count"].Value <int>().Should().Be(2); jObject["builds"].Should().HaveCount(2); jObject["builds"][0]["status"].Value <string>().Should().Be(status); jObject["builds"][0]["result"].Value <string>().Should().Be(result); jObject["builds"][0]["buildNumber"].Value <string>().Should().Be(hanksBuildNumber); jObject["builds"][0]["definition"]["id"].Value <int>().Should().Be(hanksDefinitionId); jObject["builds"][0]["definition"]["name"].Value <string>().Should().Be(hanksDefinitionName); jObject["builds"][1]["status"].Value <string>().Should().Be(status); jObject["builds"][1]["result"].Value <string>().Should().Be(result); jObject["builds"][1]["buildNumber"].Value <string>().Should().Be(peggysBuildNumber); jObject["builds"][1]["definition"]["id"].Value <int>().Should().Be(peggysDefinitionId); jObject["builds"][1]["definition"]["name"].Value <string>().Should().Be(peggysDefinitionName); memoryCache.TryGetValue($"{projectName}-{hanksDefinitionId}-{peggysDefinitionId}", out Builds cachedBuilds); cachedBuilds.Should().Be(builds); }
public void Calculate() { Results.Add(new BuildStabilityMetric { Date = Date, FailureRate = CalculateFailureRateFor(Builds), RecoveryTime = CalculateAverageRecoveryTimeInHoursFor(Intervals), RecoveryTimeStdDev = Calculator.ConvertMillisecondsToHours( Calculator.CalculateStandardDeviation(Intervals)), IgnoredTestCount = Builds.Sum(build => build.IgnoredTestCount) }); Intervals.Clear(); Builds.Clear(); }
private async void DownClicked(object sender, MouseButtonEventArgs e) { if (isButtonBeingPressed) { return; } isButtonBeingPressed = true; await Task.Delay(Opt.buttonDelay); isButtonBeingPressed = false; ImageButton imageButton = (ImageButton)sender; Builds.MoveBuildDown(imageButton.uniqueBuildId); DisplayContent(); }
protected async Task RunViaBuilds(ITeamCity teamCity, Output output, Builds builds) { var runningBuilds = await teamCity.GetRunningBuilds(); var runnintAgentsIds = runningBuilds.Build.Select(x => x.Agent.Id).ToHashSet(); foreach (var build in builds.Build) { var info = await teamCity.GetBuild(build.Id); var agents = await teamCity.GetCompatibleAgents(info.BuildTypeId); RequestForBuild(output, info, agents, runnintAgentsIds); } }
private async void AddUpgradeClicked(object sender, MouseButtonEventArgs e) { if (isButtonBeingPressed) { return; } isButtonBeingPressed = true; await Task.Delay(Opt.buttonDelay); isButtonBeingPressed = false; ImageButton imageButton = (ImageButton)sender; BrowseCardsPage browseCardsPage = (BrowseCardsPage)Pages.pages[PageName.BrowseCards]; browseCardsPage.AddUpgrade(imageButton.uniquePilotId, Builds.GetBuild(imageButton.uniqueBuildId)); NavigationService.Navigate(browseCardsPage); }
private async void AddImperialBuildClicked(object sender, MouseButtonEventArgs e) { if (isButtonBeingPressed) { return; } isButtonBeingPressed = true; await Task.Delay(Opt.buttonDelay); isButtonBeingPressed = false; contentScrollViewer.ScrollToTop(); Builds.AddBuild(Faction.Imperial); DisplayContent(); }
private static async Task WriteRecordsAsync(Builds result, IWriter csvWriter, TextWriter writer, DateTime now) { await Task.Yield(); _ = Task.Run(() => Console.WriteLine($"Number of builds {result.Count} at {now}")); foreach (var build in result.Build) { csvWriter.NextRecord(); csvWriter.WriteRecord(new QueuedBuildStatus { NumberOfBuilds = result.Count ?? 0, Timestamp = now.ToString("o"), Id = build.Id?.ToString(), Branch = build.BranchName, Type = build.BuildTypeId }); } await csvWriter.FlushAsync(); await writer.FlushAsync(); }
public void GivenProjectName_ShouldHydrateBuilds() { // arrange const string projectName = "POCs"; _configuration = new InMemoryConfiguration().Instance(); _vstsHttpService = new VstsHttpService(new Uri(_configuration["VstsApi:BaseUrl"]), new FakeHttpMessageHandler(new TestData().Builds(), new Uri(new Uri(_configuration["VstsApi:BaseUrl"]), "/POCs/_apis/build/builds?api-version=5.0-preview.4"), _configuration["VstsApi:PAT"])); new Privateer().SetStaticField <VstsHttpService, HttpClient>(_vstsHttpService, "_httpClient", null); IBuildsFactory buildsFactory = new BuildsFactory(_vstsHttpService, _configuration); // act Builds buildsResult = buildsFactory.Create(projectName); // assert JObject jObject = JObject.Parse(JsonConvert.SerializeObject(buildsResult)); jObject.Value <int>("count").Should().Be(2); JToken jBuilds = jObject["builds"]; jBuilds.Should().HaveCount(2); jBuilds[0].Value <string>("status").Should().Be("inProgress"); jBuilds[1].Value <string>("status").Should().Be("completed"); jBuilds[0].Value <string>("result").Should().Be("pending"); jBuilds[1].Value <string>("result").Should().Be("succeeded"); jBuilds[0].Value <string>("buildNumber").Should().Be("1.0.0.2"); jBuilds[1].Value <string>("buildNumber").Should().Be("20180401.7"); DateTime dateTime1 = DateTime.Parse("2018-05-17T03:56:10.1694968Z"); jBuilds[0].Value <DateTime>("startTime").AddHours(TimeZoneInfo.Local.GetUtcOffset(dateTime1).TotalHours).Should().Be(dateTime1); DateTime dateTime2 = DateTime.Parse("2018-04-01T22:42:00.0890697Z"); jBuilds[1].Value <DateTime>("startTime").AddHours(TimeZoneInfo.Local.GetUtcOffset(dateTime2).TotalHours).Should().Be(dateTime2); JObject jDefinition = jBuilds[0].Value <JObject>("definition"); jDefinition["id"].Value <int>().Should().Be(3); jDefinition["name"].Value <string>().Should().Be("Honest Joe's CI"); JObject jRequestedFor = jBuilds[0].Value <JObject>("requestedFor"); jRequestedFor["displayName"].Value <string>().Should().Be("Jim"); jRequestedFor["imageUrl"].Value <string>().Should().Be("https://iontechdotorg.visualstudio.com/_api/_common/identityImage?id=f9a18dab-76b3-42bc-bb3a-103865994dae"); }
void objope() { if (MarksAvaiInitCount > MarksAvaiInitMax) { if (ClearPoint.X != -1) //オブジェクト削除 { int id = GetNearistRoad(ClearPoint, false)[0]; for (int i = 0; i < Roads.Count; i++) { if (Roads[i].GetObjectID() == id) { Roads.Remove(Roads[i]); break; } } } foreach (int i in RoadMarkersNumber) // 道を追加 { if (RoadMarkersAvailable[i]) { List <int> l = GetNearistRoad(RoadMarkers[i], true); if (l.Count != 0) //Roadが一つ以上ある場合。 //-1、つまり、近くにオブジェクトがない場合はコネクトのidはなしでOK! { foreach (BaseRoadClass o in Roads) { if (l.Contains(o.GetObjectID())) { o.Add(Roads.Count); } } Roads.Add(new BaseRoadClass(Roads.Count, RoadMarkers[i], "Road", l)); } RoadMarkersAvailable[i] = false; } } foreach (KeyValuePair <int, Point> kv in BuildPoint) //建物追加 { Builds.Add(new BaseBuildClass(Builds.Count, kv.Value, "Build")); BuildPoint = new Dictionary <int, Point>(); } MarksAvaiInitCount = 0; } }
public async void QueueBuild() { var selectedDefinition = _definitions.First();//await _dialogs.ShowSelectionDialogAsync("Queue a new build", "Definitions", _definitions); if (selectedDefinition == null) { return; } var queuedBuild = await _teamServices.QueueBuildAsync(Project, new BuildRequest { Definition = selectedDefinition, SourceBranch = "master" }); Builds.Insert(0, new BuildViewModel(queuedBuild)); }
/// <summary> /// There are no comments for Builds in the schema. /// </summary> public void AddToBuilds(Builds builds) { base.AddObject("Builds", builds); }
/// <summary> /// Create a new Builds object. /// </summary> /// <param name="buildId">Initial value of BuildId.</param> /// <param name="name">Initial value of Name.</param> public static Builds CreateBuilds(int buildId, string name) { Builds builds = new Builds(); builds.BuildId = buildId; builds.Name = name; return builds; }