protected override int IssueQuery(string search, string groupName, int pageIndex, int pageSize)
        {
            Debug.WriteLine("%%%%%% IssueQuery ->" + search);
            int rows;

            if ((search == null) || (search.Trim().Length == 0))
            {
                PickerDialog.ErrorMessage = SPResource.GetString("PeoplePickerNoQueryTextError", new object[0]);
                return(0);
            }

            ActionPickerDialog   pickerDialog         = (ActionPickerDialog)PickerDialog;
            ActionEntityDataBase actionEntityDataBase = new ActionEntityDataBase(pickerDialog.ExtendedData);
            DataTable            dataTable            = actionEntityDataBase.MatchesTable(search);

            PickerDialog.Results = dataTable;
            rows = dataTable.Rows.Count;
            PickerDialog.ResultControl.PageSize = rows;

            if (rows == 0)
            {
                PickerDialog.ErrorMessage = SPResource.GetString("PeoplePickerNoSearchResultError", new object[0]);
            }

            Debug.WriteLine(rows);

            return(rows);
        }
        protected override string GetProcessedValue()
        {
            ActionEntity         actionEntity         = new ActionEntity(_field.Lookup, Value, _connection);
            ActionEntityDataBase actionEntityDataBase = new ActionEntityDataBase(actionEntity);

            return(actionEntityDataBase.ResolveActionEntity(Value));
        }
        /// <summary>
        /// Resolves the error by search.
        /// </summary>
        /// <param name="unresolvedText">The unresolved text.</param>
        /// <returns>An array with entities that match</returns>
        protected override PickerEntity[] ResolveErrorBySearch(string unresolvedText)
        {
            Debug.WriteLine("%%%%%% ResolveErrorBySearch " + unresolvedText);

            if (ExtendedData != null)
            {
                ActionEntityDataBase actionEntitydataBase = new ActionEntityDataBase(ExtendedData);
                return(actionEntitydataBase.MatchesEntities(unresolvedText).ToArray());
            }

            return(new PickerEntity[] {});
        }
        /// <summary>
        /// Validates the entity.
        /// </summary>
        /// <param name="needsValidation">The needs validation.</param>
        /// <returns>The entity validated</returns>
        public override PickerEntity ValidateEntity(PickerEntity needsValidation)
        {
            Debug.WriteLine("%%%%%% ValidateEntity " + needsValidation.Key);

            if (ExtendedData == null)
            {
                needsValidation.IsResolved = false;
            }
            else
            {
                ActionEntityDataBase actionEntityDataBase = new ActionEntityDataBase(ExtendedData);
                actionEntityDataBase.ResolvePickerEntity(needsValidation);
            }

            return(needsValidation);
        }
        protected override void SetControlValue(string value)
        {
            if (_control != null)
            {
                ActionEntity entity = new ActionEntity(_field.Lookup,
                                                       value,
                                                       _connection);

                ActionEntityDataBase actionEntityDataBase = new ActionEntityDataBase(entity);

                // Decorate
                actionEntityDataBase.BindDropDown(_control);

                if (!string.IsNullOrEmpty(value))
                {
                    _control.SelectedValue = value;
                }
            }
        }
        protected override void SetControlValue(string value)
        {
            if (!string.IsNullOrEmpty(value))
            {
                ActionEntity entity = new ActionEntity(_field.Lookup,
                                                       value,
                                                       _connection);

                ActionEntityDataBase actionEntityDataBase = new ActionEntityDataBase(entity);

                _control.ExtendedData = entity;

                // Decorate
                if (!_newRecord)
                {
                    Debug.WriteLine("***** Set Entity ****");
                    actionEntityDataBase.BindActionPicker(_control);
                }
            }
        }