示例#1
0
        private void ReportFinishedStateChange(NextStateActionResultCode resultCode, OneTimeActionTaskState plannedState)
        {
            IReadOnlyList <Page> stack = Navigation.NavigationStack;

            if (stack.Count > 0 && stack[stack.Count - 1].GetType() == typeof(StatusSendingModalPage))
            {
                Device.BeginInvokeOnMainThread(async() =>
                {
                    await ShowStateChangeFeedback(resultCode, plannedState);
                });
            }
        }
示例#2
0
        private async Task ShowStateChangeFeedback(NextStateActionResultCode resultCode, OneTimeActionTaskState plannedState)
        {
            await Navigation.PopToRootAsync();

            string resultMessage;

            switch (resultCode)
            {
            case NextStateActionResultCode.SUCCESS:
                resultMessage = CreateSuccessMessageForPlannedState(plannedState);
                break;

            case NextStateActionResultCode.ACTION_ID_OUTDATED:
                resultMessage = "Der Status konnte nicht gesetzt werden. Der Status wurde bereits von der Leitstelle verändert." + pleaseTryAgain;
                break;

            default:
                resultMessage = $"Der Status konnte nicht gesetzt werden. Der interne Fehlercode ist: {resultCode}." + pleaseTryAgain;
                break;
            }

            await DisplayAlert("Statusänderung", resultMessage, "OK");
        }