private async void ButtonSearchByDate_Click(object sender, RoutedEventArgs e)
        {
            bool showErrorMessage = false;

            if (DatePickerDateBegin.SelectedDate == null)
            {
                showErrorMessage = true;
            }

            if (CheckBoxDontSelectDateEnd.IsChecked == false)
            {
                if (RadioButtonDateSelect.IsChecked == true)
                {
                    if (DatePickerEnd.SelectedDate == null)
                    {
                        showErrorMessage = true;
                    }
                    else if (DatePickerEnd.SelectedDate.Value < DatePickerDateBegin.SelectedDate.Value)
                    {
                        showErrorMessage = true;
                    }
                }
            }

            if (showErrorMessage)
            {
                MessageBox.Show("Выберите корректный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            string sqlQuery          = Properties.Settings.Default.MisSqlSelectDiscountsByDatesTemplate + Environment.NewLine;
            bool   strongEqual       = RadioButtonStrongEqual.IsChecked ?? false;
            bool   dontSelectEndDate = CheckBoxDontSelectDateEnd.IsChecked ?? false;
            bool   endDateSelected   = RadioButtonDateSelect.IsChecked ?? false;

            if (dontSelectEndDate)
            {
                if (strongEqual)
                {
                    sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginStrongEqual;
                }
                else
                {
                    sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginWeakEqual;
                }
            }
            else
            {
                if (endDateSelected)
                {
                    if (strongEqual)
                    {
                        sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndStrongEqual;
                    }
                    else
                    {
                        sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndWeakEqual;
                    }
                }
                else
                {
                    if (strongEqual)
                    {
                        sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndlesslStrongEqual;
                    }
                    else
                    {
                        sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndlesslWeakEqual;
                    }
                }
            }

            DateTime?dateTimeEnd = null;

            if (!dontSelectEndDate && endDateSelected)
            {
                dateTimeEnd = DatePickerEnd.SelectedDate.Value;
            }

            Dictionary <string, string> parameters = new Dictionary <string, string>()
            {
                { "@dateBegin", DatePickerDateBegin.SelectedDate.Value.ToShortDateString() }
            };

            if (dateTimeEnd.HasValue)
            {
                parameters.Add("@dateEnd", dateTimeEnd.Value.ToShortDateString());
            }

            bool showClosesContracts          = CheckBoxShowClosedContracts.IsChecked ?? false;
            List <ItemDiscount> itemsDiscount = null;

            Cursor = Cursors.Wait;

            await Task.Run(() => {
                itemsDiscount = SystemDataHandle.SelectDiscoutByDates(sqlQuery, parameters, itemsFilial, showClosesContracts);
            });

            Cursor = Cursors.Arrow;

            if (itemsDiscount.Count == 0)
            {
                MessageBox.Show("Нет данных за выбранный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            PageViewDiscounts pageViewDiscounts = new PageViewDiscounts(sqlQuery, parameters, itemsFilial, showClosesContracts);

            NavigationService.Navigate(pageViewDiscounts);
        }
Beispiel #2
0
        private async void UpdateListViewDiscounts()
        {
            if (NeedToReturnToEditDiscounts())
            {
                return;
            }

            ItemsDiscount.Clear();
            isDiscountsChanged              = false;
            ButtonAdd.IsEnabled             = false;
            ButtonApplyChanges.IsEnabled    = false;
            ButtonExportToExcel.IsEnabled   = false;
            ComboBoxEndlessIsChecked        = false;
            ComboBoxAmountRelationIsChecked = false;

            List <ItemDiscount> discounts = new List <ItemDiscount>();

            Cursor = Cursors.Wait;

            switch (searchType)
            {
            case SearchType.ByNameOrNumber:
                await Task.Run(() => {
                    discounts = SystemDataHandle.SelectDiscount(itemsIC);
                });

                ButtonAdd.IsEnabled = true;

                break;

            case SearchType.ByDate:
                await Task.Run(() => {
                    discounts = SystemDataHandle.SelectDiscoutByDates(
                        sqlQuerySelectDiscountsByDate,
                        sqlQueryParameters,
                        itemsFilial,
                        showClosedContracts);
                });

                break;

            case SearchType.All:
                await Task.Run(() => {
                    discounts = SystemDataHandle.SelectDiscountsAll();
                });

                break;

            default:
                return;
            }

            if (discounts.Count == 0)
            {
                switch (searchType)
                {
                case SearchType.ByNameOrNumber:
                    ButtonAdd_Click(ButtonAdd, new RoutedEventArgs());
                    break;

                case SearchType.ByDate:
                    MessageBox.Show("Нет данных за выбранный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information);
                    break;

                default:
                    break;
                }
            }

            ButtonExportToExcel.IsEnabled      = discounts.Count > 0;
            ButtonSelectAllDiscounts.IsEnabled = discounts.Count > 0;

            discounts.ForEach(ItemsDiscount.Add);
            CheckBox_Click(null, null);
            Cursor = Cursors.Arrow;
        }