Пример #1
0
        public void Find(FindClientObject obj)
        {
            if (obj != null)
            {
                Clients.Clear();

                var list =
                    Client.AllClients
                    .Where(c => string.IsNullOrEmpty(FindClientObject.FirstName) ||
                           c.FirstName.Contains(FindClientObject.FirstName, StringComparison.InvariantCultureIgnoreCase))
                    .Where(c => string.IsNullOrEmpty(FindClientObject.LastName) ||
                           c.LastName.Contains(FindClientObject.LastName, StringComparison.InvariantCultureIgnoreCase))
                    .Where(c => string.IsNullOrEmpty(FindClientObject.PhoneNumber) ||
                           c.PhoneNumber.ToString().Contains(FindClientObject.PhoneNumber, StringComparison.InvariantCultureIgnoreCase))
                    .Where(c => FindClientObject.City == null || FindClientObject.City.Id == AllCity.Id ||
                           c.City.Id == FindClientObject.City.Id).ToList();

                foreach (var c in list)
                {
                    Clients.Add(c);
                }

                SelectedItem = null;
            }
        }
Пример #2
0
        public ClientViewModel()
        {
            FindClientObject = new FindClientObject();

            AllCity = new City("Все города");

            CitiesForFind = new ObservableCollection <City>();
            CitiesForFind.Insert(0, AllCity);

            foreach (var c in City.AllCities)
            {
                CitiesForFind.Add(c);
            }

            Clients = new ObservableCollection <Client>();
            foreach (var c in Client.AllClients)
            {
                Clients.Add(c);
            }

            City.AllCities.CollectionChanged += AllCitiesOnCollectionChanged;

            AddCommand    = new RelayCommand(OnAdd(), CanAdd());
            ClearCommand  = new RelayCommand(OnClear(), CanClear());
            FindCommand   = new RelayCommand(OnFind());
            RemoveCommand = new RelayCommand(OnRemove(), CanRemove());
        }