Exemplo n.º 1
0
 /// <summary>
 /// The callback for the <see cref="Clear"/> command.
 /// </summary>
 /// <returns>Task to run asynchronously.</returns>
 protected virtual Task ClearCallback()
 {
     ResetStringProperties();
     SelectedItems.Clear();
     ItemsFound.Clear();
     return(Task.CompletedTask);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Attempts to remove item from instance.
 /// </summary>
 /// <param name="item">Item to remove.</param>
 public void Remove(IIdProvider item)
 {
     if (item is TDataGridSource)
     {
         ItemsFound.Remove((TDataGridSource)item);
     }
 }
Exemplo n.º 3
0
 protected override void Dispose(bool disposing)
 {
     if (!_disposed)
     {
         if (disposing)
         {
             OnDisableChange = null;
             SearchComplete  = null;
             SearchToBegin   = null;
             ExportId        = null;
             Cleared         = null;
             ItemsFound.Clear();
             SelectedItems.Clear();
             _formLocker.Dispose();
             _synchronizer.StopSynchronizing();
         }
         _disposed = true;
     }
     base.Dispose(disposing);
 }
Exemplo n.º 4
0
        protected override Task SearchCallback() =>
        LockFormForExecution(async() => {
            OnSearchToBegin();

            ItemsFound.Clear();
            await ItemsFoundClearedBeforeSearch();

            OperationResult <List <TSearchReturn> > operation =
                await _dataAccessor.SubmitSearchOrderAsync(DataCollectorConverter(DataCollector));

            if (operation.WasSuccessful)
            {
                await Perform.CollectionRehydrationAsync(ItemsFound, DataGridSourceConverter(operation.Result));
            }
            await ItemsFoundFillComplete();
            if (ItemsFound.Count == 1)
            {
                SelectedItem = ItemsFound.First();
            }

            OnSearchComplete(operation);
        });
        protected override Task SearchCallback() =>
        LockFormForExecution(async() => {
            OnSearchToBegin();

            var itemList = new List <TDataGridSource>();
            await ItemsFoundToBeCleared(ItemsFound);

            if (AttemptDisposalAfterClear)
            {
                itemList.AddRange(ItemsFound ?? Enumerable.Empty <TDataGridSource>());
            }

            ItemsFound.ToList().ForEach(item => ItemsFound.Remove(item));
            await ItemsFoundClearedBeforeSearch();

            OperationResult <List <TSearchReturn> > operation =
                await _dataAccessor.SubmitSearchOrderAsync(DataCollectorConverter(DataCollector));

            if (_disposed)
            {
                return;
            }

            if (operation.WasSuccessful)
            {
                await Perform.CollectionRehydrationAsync(ItemsFound, DataGridSourceConverter(operation.Result));
            }

            await ItemsFoundFillComplete();

            if (ItemsFound.Count == 1 && SelectIfOnlyOneItemReturned)
            {
                SelectedItem = ItemsFound.First();
            }

            OnSearchComplete(operation);
        });
Exemplo n.º 6
0
 protected virtual void OnItemsFound(IEnumerable <Item> items)
 {
     ItemsFound?.Invoke(this, new ItemsEventArgs {
         Items = items
     });
 }