private void executeGetPersonsCommand(object obj) { try { Mouse.OverrideCursor = Cursors.Wait; if (this.family != null) { this.family = this.family.Trim(); } if (this.name != null) { this.name = this.name.Trim(); } GetPhotoFromKaskadParams jobParams = new GetPhotoFromKaskadParams(); jobParams.Family = this.family; jobParams.Name = this.name; jobParams.Birthday = this.birthday; jobParams.OperationDateStart = this.operationDateStart; jobParams.OperationDateEnd = operationDateEnd; jobParams.MashineName = Environment.MachineName; PhotoSearchServiceResult serviceResult = this.proxy.GetFhotoFromKaskad(jobParams); if (serviceResult.Type == PhotoSearchServiceResultType.Error) { Mouse.OverrideCursor = null; MessageBox.Show(this.view, serviceResult.Data.ToString(), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } //int count = dbWorker.GetBorderCrossedPersonsCount(this.family, this.name); //List<Person> list = dbWorker.GetBorderCrossedPersons(this.family, this.name, MAX_PERSONS_COUNT); List <Person> list = dbWorker.GetBorderCrossedPersons(this.family , this.name , this.birthday , this.operationDateStart , this.operationDateEnd , MAX_PERSONS_COUNT); if (list != null) { list.Sort((x, y) => x.FullName.CompareTo(y.FullName)); } this.Persons = list; Mouse.OverrideCursor = null; if (list.Count == MAX_PERSONS_COUNT) { MessageBox.Show(this.view, "Превышено допустимое количество записей." + " Чтобы получить точный результат, пожалуйста, скорректируйте параметры запроса.", "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } } catch (FaultException <string> exception) { Mouse.OverrideCursor = null; MessageBox.Show(this.view, exception.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } catch (Exception error) { Mouse.OverrideCursor = null; MessageBox.Show(this.view, error.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } }