Merge branch 'fix/v0.3_Bugs' into 'main'

Fix/v0.3 bugs

Closes #56 and #57

See merge request fabinfra/fabaccess/borepin!49
This commit is contained in:
TheJoKlLa 2022-04-28 15:05:28 +00:00
commit c1d0399105
2 changed files with 29 additions and 2 deletions

View File

@ -5,6 +5,7 @@ using Borepin.Base;
using Borepin.Model; using Borepin.Model;
using Borepin.Service.BFFH; using Borepin.Service.BFFH;
using Borepin.Service.BFFH.Exceptions; using Borepin.Service.BFFH.Exceptions;
using FabAccessAPI.Exceptions;
using Prism.Commands; using Prism.Commands;
using Prism.Navigation; using Prism.Navigation;
using Prism.Services; using Prism.Services;
@ -85,13 +86,20 @@ namespace Borepin.PageModel.AddServerProcess
IsBusy = false; IsBusy = false;
return; return;
} }
catch (AuthenticatingFailedException) catch (AuthenticationFailedException)
{ {
await _PageDialogService.DisplayAlertAsync("Connection failed", "Unable to authenticate to server.", "Ok").ConfigureAwait(false); await _PageDialogService.DisplayAlertAsync("Connection failed", "Unable to authenticate to server.", "Ok").ConfigureAwait(false);
IsBusy = false; IsBusy = false;
return; return;
} }
catch(Exception)
{
await _PageDialogService.DisplayAlertAsync("Connection failed", "Unexpected Error.", "Ok").ConfigureAwait(false);
IsBusy = false;
return;
}
await _NavigationService.NavigateAsync("/MainPage/NavigationPage/MachineListPage").ConfigureAwait(false); await _NavigationService.NavigateAsync("/MainPage/NavigationPage/MachineListPage").ConfigureAwait(false);
} }

View File

@ -1,5 +1,6 @@
using Borepin.Base; using Borepin.Base;
using Borepin.Service.BFFH; using Borepin.Service.BFFH;
using Borepin.Service.BFFH.Exceptions;
using FabAccessAPI.Schema; using FabAccessAPI.Schema;
using Prism.Commands; using Prism.Commands;
using Prism.Navigation; using Prism.Navigation;
@ -97,8 +98,21 @@ namespace Borepin.PageModel
return; return;
} }
// END HACK // END HACK
string id = null;
try
{
id = await QRToID(ScanResult.Text).ConfigureAwait(false);
}
catch(ReconnectingFailedException)
{
Device.BeginInvokeOnMainThread(async () =>
{
await _PageDialogService.DisplayAlertAsync("Connection failed", "Please reconnect to the server.", "OK").ConfigureAwait(false);
IsScanning = true;
});
string id = await QRToID(ScanResult.Text).ConfigureAwait(false); return;
}
if (id != null) if (id != null)
{ {
@ -119,13 +133,18 @@ namespace Borepin.PageModel
await _PageDialogService.DisplayAlertAsync("Alert", "QR Code is invalid", "OK").ConfigureAwait(false); await _PageDialogService.DisplayAlertAsync("Alert", "QR Code is invalid", "OK").ConfigureAwait(false);
IsScanning = true; IsScanning = true;
}); });
return;
} }
IsScanning = true;
} }
public async Task<string> QRToID(string value) public async Task<string> QRToID(string value)
{ {
if (!_BFFHService.IsConnected) if (!_BFFHService.IsConnected)
{ {
await _BFFHService.Reconnect().ConfigureAwait(false);
IsConnected = false; IsConnected = false;
return null; return null;
} }