private void MessageHandler_Response(object sender, MobileBlockResponse e)
 {
     if (!string.IsNullOrWhiteSpace(e?.Response))
     {
         Text = e.Response;
     }
 }
示例#2
0
        private void MessageHandler_Response(object sender, MobileBlockResponse e)
        {
            var response = e.Response;

            if (_manualRefresh)
            {
                listViewComponent.ItemsSource.Clear();
                _manualRefresh = false;
            }
            try
            {
                ListViewResponse listViewResponse = JsonConvert.DeserializeObject <ListViewResponse>(response);
                if (listViewResponse?.Content == null || !listViewResponse.Content.Any())
                {
                    _endOfList = true;
                    listViewComponent.IsRefreshing = false;
                    return;
                }

                if (!string.IsNullOrWhiteSpace(listViewResponse.NextRequest))
                {
                    _nextRequest = listViewResponse.NextRequest;
                }
                else
                {
                    _nextRequest = null;
                }

                foreach (var listElement in listViewResponse.Content)
                {
                    try
                    {
                        AddElement(listElement);
                    }
                    catch
                    {
                    }
                }
                listViewComponent.IsRefreshing = false;
                listViewComponent.ItemsSource  = listViewComponent.ItemsSource.OrderBy(i => i.Order).ToList();
                listViewComponent.Draw();
            }
            catch (Exception ex)
            {
                _endOfList = true;
                listViewComponent.IsRefreshing = false;
            }
        }
示例#3
0
        private void MessageHandler_Response( object sender, MobileBlockResponse e )
        {

            FormResponse formResponse = null;

            var response = e.Response;
            try
            {
                formResponse = JsonConvert.DeserializeObject<FormResponse>( response );
            }
            catch
            {
                activityIndicator.IsRunning = false;
                activityIndicator.IsVisible = false;
                formLayout.IsVisible = true;
                slValidationMessage.IsVisible = true;
                lbValidationMessage.Text = "There was a problem with your request.";
                lbValidationMessage.TextColor = ErrorTextColor;
                slValidationMessage.BackgroundColor = ErrorBackgroundColor;
                return;
            }
            activityIndicator.IsRunning = false;
            if ( formResponse == null )
            {
                activityIndicator.IsRunning = false;
                activityIndicator.IsVisible = false;
                formLayout.IsVisible = true;
                slValidationMessage.IsVisible = true;
                lbValidationMessage.Text = "There was a problem with your request.";
                lbValidationMessage.TextColor = ErrorTextColor;
                slValidationMessage.BackgroundColor = ErrorBackgroundColor;
                return;
            }

            //Handle a failed form
            if ( !formResponse.Success )
            {
                activityIndicator.IsRunning = false;
                activityIndicator.IsVisible = false;
                formLayout.IsVisible = true;
                slValidationMessage.IsVisible = true;
                lbValidationMessage.Text = formResponse.Message;
                slValidationMessage.BackgroundColor = ErrorBackgroundColor;
                lbValidationMessage.TextColor = ErrorTextColor;
                return;
            }

            //Rebuild form if needed
            if ( formResponse.FormElementItems.Any() )
            {
                formElements.Clear();
                formLayout.Children.Clear();
                formLayout.IsVisible = true;
                RenderForm( formResponse.FormElementItems );
                activityIndicator.IsRunning = false;
                activityIndicator.IsVisible = false;
            }

            if ( !string.IsNullOrWhiteSpace( formResponse.Message ) )
            {
                activityIndicator.IsRunning = false;
                activityIndicator.IsVisible = false;
                slValidationMessage.IsVisible = true;
                lbValidationMessage.Text = formResponse.Message;
                lbValidationMessage.TextColor = InfoTextColor;
                slValidationMessage.BackgroundColor = InfoBackgroundColor;
            }

            AvalancheNavigation.HandleActionItem( new Dictionary<string, string> {
                { "ActionType", formResponse.ActionType },
                { "Resource", formResponse.Resource },
                { "Parameter", formResponse.Parameter } } );
        }