protected void CreateOrEditPost(bool skipPlagiarismCheck) { var pushToBlockchainRetry = false; do { if (!skipPlagiarismCheck) { var plagiarismCheck = _presenter.TryCheckForPlagiarism(model).Result; if (plagiarismCheck.IsSuccess) { if (plagiarismCheck.Result.plagiarism.IsPlagiarism) { InvokeOnMainThread(() => { plagiarismResult = new PlagiarismResult(); var plagiarismViewController = new PlagiarismViewController(ImageAssets, plagiarismCheck.Result.plagiarism, plagiarismResult); NavigationController.PushViewController(plagiarismViewController, true); }); return; } } } pushToBlockchainRetry = false; var response = _presenter.TryCreateOrEditPost(model).Result; if (!(response != null && response.IsSuccess)) { InvokeOnMainThread(() => { ShowDialog(response.Exception, LocalizationKeys.Cancel, LocalizationKeys.Retry, (arg) => { mre.Set(); }, (arg) => { pushToBlockchainRetry = true; mre.Set(); }); }); mre.Reset(); mre.WaitOne(); } else { InvokeOnMainThread(() => { ShouldProfileUpdate = true; NavigationController.ViewControllers = new UIViewController[] { NavigationController.ViewControllers[0], this }; NavigationController.PopViewController(false); }); } } while (pushToBlockchainRetry); }
public PlagiarismViewController(List <Tuple <NSDictionary, UIImage> > assets, Plagiarism model, PlagiarismResult plagiarismResult = null) { ImageAssets = assets; _model = model; this.plagiarismResult = plagiarismResult; }