Esempio n. 1
0
        private void BC_Serch(object sender, RoutedEventArgs e) // реализация поиска по БД
        {
            var unic = db.Consumers.FirstOrDefault(p => p.id == 1);

            if (unic == null)
            {
                MessageBox.Show($"Ваша база данных пуста.\nПоиск не возможен.", "Внимание!.", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                MainViewTable MainViewTable = new MainViewTable();
                var           result        = from test in MainViewTable.MainVTable() select test;

                // приведение цены в формат для организации поиска
                double start_price, end_price;
                double.TryParse(TB_PriceStart.Text, out start_price);
                double.TryParse(TB_PriceEnd.Text, out end_price);

                if (end_price == 0) // устанолвение макисмального значения конечной цены если она не указана в параметрах поиска
                {
                    end_price = Int32.MaxValue;
                }

                // работа с датой.. реализовано автозаполнение минимальным и максимальным значением если не выбраны
                if (DP_StartDate.SelectedDate != null && DP_EndDate.SelectedDate == null)
                {
                    DP_EndDate.SelectedDate = DateTime.MaxValue;
                }
                else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate != null)
                {
                    DP_StartDate.SelectedDate = DateTime.MinValue;
                }
                else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate == null)
                {
                    DP_EndDate.SelectedDate   = DateTime.MaxValue;
                    DP_StartDate.SelectedDate = DateTime.MinValue;
                }

                // реализация поиска в виде запроса к промежуточной таблице с выбранными параметрами
                var serch = result.Where(p => p.unp.Contains(TB_UNP.Text))    //потом сделать поля из формы через проверку
                            .Where(p => p.name.ToLower().Contains(TB_Name.Text))
                            .Where(p => p.name_of_purchase.ToLower().Contains(TB_NameOfPurshase.Text))
                            .Where(p => p.type_of_purshase.Contains(CB.Text))
                            .Where(p => p.status.Contains(Status.Text))
                            .Where(p => p.cost >= start_price && p.cost <= end_price)
                            .Where(p => p.start_date >= DP_StartDate.SelectedDate && p.end_date <= DP_EndDate.SelectedDate)
                            .Select(c => c);

                online_status1.Text  = "Записей в таблице: " + serch.Count().ToString();
                MainTabl.ItemsSource = serch.ToList();

                // обнуление параметров даты
                DP_EndDate.SelectedDate   = DateTime.Now;
                DP_EndDate.SelectedDate   = null;
                DP_StartDate.SelectedDate = DateTime.Now;
                DP_StartDate.SelectedDate = null;
            }
        }
Esempio n. 2
0
        public Card(string x) : this()
        {
            MainViewTable MainViewTable = new MainViewTable();

            this.x = x;
            var result = from p in MainViewTable.MainVTable() // отбор по условию
                         where p.num_purhchase == x
                         select p;

            var t = result.ToList();

            GR_Card.DataContext = t[0];
        }
Esempio n. 3
0
        private void BC_Serch(object sender, RoutedEventArgs e) // реализация поиска по БД
        {
            MainViewTable MainViewTable = new MainViewTable();
            var           result        = from test in MainViewTable.MainVTable() select test;

            // приведение цены в формат для организации поиска
            double start_price, end_price;

            double.TryParse(TB_PriceStart.Text, out start_price);
            double.TryParse(TB_PriceEnd.Text, out end_price);

            if (end_price == 0) // устанолвение макисмального значения конечной цены если она не указана в параметрах поиска
            {
                end_price = Int32.MaxValue;
            }

            // работа с датой.. реализовано автозаполнение минимальным и максимальным значением если не выбраны
            if (DP_StartDate.SelectedDate != null && DP_EndDate.SelectedDate == null)
            {
                DP_EndDate.SelectedDate = DateTime.MaxValue;
            }
            else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate != null)
            {
                DP_StartDate.SelectedDate = DateTime.MinValue;
            }
            else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate == null)
            {
                DP_EndDate.SelectedDate   = DateTime.MaxValue;
                DP_StartDate.SelectedDate = DateTime.MinValue;
            }

            // реализация поиска в виде запроса к промежуточной таблице с выбранными параметрами
            var serch = result.Where(p => p.unp.Contains(TB_UNP.Text))    //потом сделать поля из формы через проверку
                        .Where(p => p.name.ToLower().Contains(TB_Name.Text))
                        .Where(p => p.name_of_purchase.ToLower().Contains(TB_NameOfPurshase.Text))
                        .Where(p => p.type_of_purshase.Contains(CB.Text))
                        .Where(p => p.status.Contains(Status.Text))
                        .Where(p => p.cost >= start_price && p.cost <= end_price)
                        .Where(p => p.start_date >= DP_StartDate.SelectedDate && p.end_date <= DP_EndDate.SelectedDate)
                        .Select(c => c);

            MainTabl.ItemsSource = serch.ToList();

            // обнуление параметров даты
            DP_EndDate.SelectedDate   = DateTime.Now;
            DP_EndDate.SelectedDate   = null;
            DP_StartDate.SelectedDate = DateTime.Now;
            DP_StartDate.SelectedDate = null;
        }
Esempio n. 4
0
        private void DataLoad()  // загрузка из БД данных согласно полей таблицы в основную форму из виртуальной таблицы
        {
            MainViewTable MainViewTable = new MainViewTable();
            var           res1          = from test in MainViewTable.MainVTable() select test;

            MainTabl.ItemsSource = res1.ToList();

            var           type         = db.TypePurshases.Select(p => p.type_of_purshase); // добавляем в комбобок список типов закупок
            List <string> list_of_type = new List <string>(type);

            CB.ItemsSource = list_of_type;

            var           type2          = db.Statuses.Select(p => p.status); // добавляем в комбобокс статусы закупок
            List <string> list_of_stulis = new List <string>(type2);

            Status.ItemsSource = list_of_stulis;
        }