Exemplo n.º 1
0
        /// <summary>
        /// Command handler of search command
        /// </summary>
        private async void OnSearchCommand()
        {
            try
            {
                IsLoading = true;
                var filterInfo = new EmployeeFilterInfo
                {
                    Name         = NameFilter,
                    DepartmentId = SelectedDepartment?.Id,
                    SectionId    = SelectedSection?.Id
                };
                var reply = await _employeeApiService.FilterEmployees(filterInfo);

                if (reply != null)
                {
                    var result = reply.Select(employee => new EmployeeListItemViewModel(employee)).ToList();
                    Employees = new ObservableCollection <EmployeeListItemViewModel>(result);
                }
                else
                {
                    Employees = new ObservableCollection <EmployeeListItemViewModel>();
                }
            }
            catch (Exception e)
            {
                _loggingService.LogError("Error during Employee search", e);
                _dialogService.ShowError(e.Message);
            }
            finally
            {
                IsLoading = false;
            }
        }