private async Task GetOwnerAndUpdateGridAsync(OwnerDataModel selectedDirtyOwner, bool isBusyIndicatorOn) { try { if (!isBusyIndicatorOn) { BusyIndicator.BlockUI(); } if (selectedDirtyOwner == null || selectedDirtyOwner.IdOwner == null) { await InitializeAsync(true); throw new ArgumentNullException(); } OwnerDataModel resultOwner = await GetOwnerAsync(selectedDirtyOwner.IdOwner, isBusyIndicatorOn); if (resultOwner != null) { int indexOfOwner = Owners.IndexOf(selectedDirtyOwner); SelectedOwner.IsDirty = false; Owners.RemoveAt(indexOfOwner); Owners.Insert(indexOfOwner, resultOwner); } } finally { if (!isBusyIndicatorOn) { BusyIndicator.UnblockUI(); } } }
public async Task Save(PullRequestLocator prInfo, IRepoHistoryPersist persist) { if (!prInfo.IsValid()) { return; } var newPrInfo = new PullRequestLocator() { Owner = prInfo.Owner, Repository = prInfo.Repository, PullRequestNumber = prInfo.PullRequestNumber, }; if (PullRequests.Contains(prInfo)) { PullRequests.Remove(prInfo); } PullRequests.Insert(0, newPrInfo); if (!Owners.Contains(prInfo.Owner)) { Owners.Insert(0, prInfo.Owner); } if (!Repositories.Contains(prInfo.Repository)) { Repositories.Insert(0, prInfo.Repository); } await persist.Save(ToContainer()); }
private async Task SaveChangesAsync(OwnerDataModel selectedDirtyOwner, bool updateGrid) { try { BusyIndicator.BlockUI(); if (selectedDirtyOwner == null) { await InitializeAsync(true); throw new ArgumentNullException(); } OwnerModel owner = mappingManager.MapToOwnerModel(selectedDirtyOwner); RequestResponse response = new RequestResponse(); if (selectedDirtyOwner.IsNew) { response = await requestManager.PostAsync <OwnerModel>(RoutingConstants.OwnerRoute, owner); updateGrid = false; } else { response = await requestManager.PatchAsync(RoutingConstants.OwnerRoute, owner); } if (response != null && response.IsError) { notificationManager.Alert(response.ErrorMessage, response.IsFatalError); await InitializeAsync(true); } else if (updateGrid) { await GetOwnerAndUpdateGridAsync(selectedDirtyOwner, true); } else if (!updateGrid) { selectedDirtyOwner = mappingManager.MapToOwnerDataModel((response as RequestResponse <OwnerModel>).Data); Owners.RemoveAt(0); Owners.Insert(0, selectedDirtyOwner); ScrollToNewOwner(this, new SelectAndMoveToNewItemInGridArgs() { NewItem = selectedDirtyOwner }); } } finally { BusyIndicator.UnblockUI(); } }
public void BtnCreate() { OwnerDataModel newOwner = new OwnerDataModel() { SystemCode = KeyConstants.KeySystemCodeBV, IsDirty = true, IsNew = true }; CleanFilter(this, new CleanFilterEventArgs() { ScrollToFirst = true }); Owners.Insert(0, newOwner); SelectedOwner = newOwner; }