public override bool DoAction()
        {
            var result = base.DoAction();

            if (GridControlSource != null)
            {
                foreach (var item in GridControlSource.Where(p => p.HasErrors(IwbTirAccountData.UniqueAccountNumberValidate)).ToArray())
                {
                    item.OnPropertyChanged(IwbTirAccountData.UniqueAccountNumberValidate);
                }
            }
            return(result);
        }
        private async void OnGridControlDelete()
        {
            if (!OnCanGridControlDelete())
            {
                return;
            }

            var vs = GetViewService();
            var dr = vs.ShowDialog(StringResources.Confirmation
                                   , string.Format(StringResources.ConfirmationDeleteRecords, GridControlSelectedItems.Count)
                                   , MessageBoxButton.YesNo
                                   , MessageBoxImage.Question
                                   , MessageBoxResult.Yes);

            if (dr != MessageBoxResult.Yes)
            {
                return;
            }

            try
            {
                WaitStart();

                await OnGridControlDeleteAsync();

                for (; GridControlSelectedItems.Count > 0;)
                {
                    GridControlSource.Remove(GridControlSelectedItems[0]);
                }
            }
            catch (Exception ex)
            {
                if (!ExceptionHandler(ex, ExceptionResources.ItemsCantDelete))
                {
                    throw;
                }
            }
            finally
            {
                WaitStop();
            }
        }