Handle unexpected error cases on API calls better.

This commit is contained in:
Kyle Spearrin 2016-07-30 18:16:09 -04:00
parent a315f36e09
commit 6068a4bd56
5 changed files with 47 additions and 4 deletions

View file

@ -84,6 +84,10 @@ namespace Bit.App.Pages
{
await _userDialogs.AlertAsync(saveTask.Result.Errors.First().Message, AppResources.AnErrorHasOccurred);
}
else
{
await _userDialogs.AlertAsync(AppResources.AnErrorHasOccurred);
}
}, ToolbarItemOrder.Default, 0);
Title = "Add Folder";

View file

@ -98,6 +98,10 @@ namespace Bit.App.Pages
{
await _userDialogs.AlertAsync(saveTask.Result.Errors.First().Message, AppResources.AnErrorHasOccurred);
}
else
{
await _userDialogs.AlertAsync(AppResources.AnErrorHasOccurred);
}
}, ToolbarItemOrder.Default, 0);
Title = "Edit Folder";
@ -143,6 +147,14 @@ namespace Bit.App.Pages
await Navigation.PopModalAsync();
_userDialogs.Toast("Folder deleted.");
}
else if((await deleteTask).Errors.Count() > 0)
{
await _userDialogs.AlertAsync((await deleteTask).Errors.First().Message, AppResources.AnErrorHasOccurred);
}
else
{
await _userDialogs.AlertAsync(AppResources.AnErrorHasOccurred);
}
}
private void AlertNoConnection()

View file

@ -144,6 +144,10 @@ namespace Bit.App.Pages
{
await _userDialogs.AlertAsync(saveTask.Result.Errors.First().Message, AppResources.AnErrorHasOccurred);
}
else
{
await _userDialogs.AlertAsync(AppResources.AnErrorHasOccurred);
}
}, ToolbarItemOrder.Default, 0);
Title = AppResources.AddSite;

View file

@ -179,6 +179,10 @@ namespace Bit.App.Pages
{
await _userDialogs.AlertAsync(saveTask.Result.Errors.First().Message, AppResources.AnErrorHasOccurred);
}
else
{
await _userDialogs.AlertAsync(AppResources.AnErrorHasOccurred);
}
}, ToolbarItemOrder.Default, 0);
Title = "Edit Site";
@ -238,6 +242,14 @@ namespace Bit.App.Pages
await Navigation.PopModalAsync();
_userDialogs.Toast("Site deleted.");
}
else if((await deleteTask).Errors.Count() > 0)
{
await _userDialogs.AlertAsync((await deleteTask).Errors.First().Message, AppResources.AnErrorHasOccurred);
}
else
{
await _userDialogs.AlertAsync(AppResources.AnErrorHasOccurred);
}
}
private void AlertNoConnection()

View file

@ -161,6 +161,8 @@ namespace Bit.iOS.Extension
PresentViewController(loadingAlert, true, null);
await saveTask;
if(saveTask.Result.Succeeded)
{
if(SiteListController != null)
{
SiteListController.DismissModal();
@ -170,6 +172,15 @@ namespace Bit.iOS.Extension
LoadingController.CompleteUsernamePasswordRequest(UsernameCell.TextField.Text, PasswordCell.TextField.Text);
}
}
else if(saveTask.Result.Errors.Count() > 0)
{
DisplayAlert(AppResources.AnErrorHasOccurred, saveTask.Result.Errors.First().Message, AppResources.Ok);
}
else
{
DisplayAlert(null, AppResources.AnErrorHasOccurred, AppResources.Ok);
}
}
public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)
{