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(); }); }
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); } }