コード例 #1
0
        public override async Task GetItems(CancellationToken token)
        {
            var result = await AttributeService.GetAttributes(Criteria, token);

            if (!CheckForAuthorizationErrors(result.Error))
            {
                return;
            }

            RunOnUiThread(() =>
            {
                if (result.Error.Any())
                {
                    ShowToastMessage(Resource.String.ErrorOccurred);

                    return;
                }

                _adapter.UpdateList(result.Data);

                if (result.Data.Any())
                {
                    SetContent();

                    return;
                }

                SetEmptyContent();
            });
        }
コード例 #2
0
        public void AfterTextChanged(EditText view, string text)
        {
            var item = view.Tag as Models.ProductAttribute;

            if (item == null)
            {
                return;
            }

            Criteria.Name = text;

            switch (view.Id)
            {
            case Resource.Id.ProductAttributeEditRowItemName:
                item.Attribute = new Models.Attribute
                {
                    Name = text
                };
                break;

            case Resource.Id.ProductAttributeEditRowItemValue:
                item.Value = text;
                break;
            }

            if (view.Id == Resource.Id.ProductAttributeEditRowItemName)
            {
                if (_cancellationTokenSource != null)
                {
                    _cancellationTokenSource.Cancel();
                }

                _cancellationTokenSource = new CancellationTokenSource();
                var token = _cancellationTokenSource.Token;

                Task.Run(async() =>
                {
                    var result = await AttributeService.GetAttributes(Criteria, token);

                    if (result.Error.Any())
                    {
                        RunOnUiThread(() =>
                        {
                            ShowToastMessage(Resource.String.ErrorOccurred);
                        });

                        return;
                    }

                    RunOnUiThread(() =>
                    {
                        _productAttributesEditAdapter
                        .AttributeAdapter
                        .UpdateList(result.Data);
                    });
                }, token);
            }
        }