示例#1
0
        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);
            }
        }