Esempio n. 1
0
        private void SearchButton_Click(object sender, EventArgs e)
        {
            search = new SearchClientParam(
                passportTextBox.Text,
                drivingLicenseTextBox.Text,
                fioTextBox.Text,
                phoneTextBox.Text,
                int.TryParse(dealsCountTextBox.Text, out int count) ? new int?(count) : null
                );

            UpdateView();
        }
Esempio n. 2
0
        // метод для поиска клиентов по указанным фильтрам (параметрам поиска)
        public IEnumerable <Models.Library.Client> GetClients(SearchClientParam search)
        {
            // отбираем только клиентов
            var queryable = Users.Where(u => u.UserType == Models.Library.Role.Client);

            // проверяем заполненность фильтра
            if (!string.IsNullOrWhiteSpace(search.FIO))
            {
                // применяем его, проверяя вхождение строки поиска в значение поля
                queryable = queryable.Where(u => u.FIO.Contains(search.FIO));
            }
            // далее - аналогично
            if (!string.IsNullOrWhiteSpace(search.Passport))
            {
                queryable = queryable.Where(u => u.Passport.Contains(search.Passport));
            }

            if (!string.IsNullOrWhiteSpace(search.Phone))
            {
                queryable = queryable.Where(u => u.PhoneNumber.Contains(search.Phone));
            }

            if (!string.IsNullOrWhiteSpace(search.DrivingLicense))
            {
                queryable = queryable.Where(u => u.DrivingLicense.Contains(search.DrivingLicense));
            }

            var seq =
                queryable
                // получаем данные из БД преобразовывая в массив
                .ToArray()
                // преобразуем в модельные объекты
                .Select(u => GetClientFromUser(u));

            // если есть фильтр по количество сделок
            if (search.DealsCount.HasValue)
            {
                // то применяем LINQ и фильтруем значения
                return(seq.Where(c => c.DealsCount == search.DealsCount.Value));
            }

            return(seq);
        }
Esempio n. 3
0
 public Clients()
 {
     InitializeComponent();
     search = SearchClientParam.Empty;
     UpdateView();
 }