Beispiel #1
0
        /// <summary>
        /// Валидация, сохранение и выход к списку сущностей
        /// </summary>
        private void SaveAndExit()
        {
            // Получение значений и подписей полей
            var name           = NameTextBox.Text.Trim();
            var shortName      = ShortNameTextBox.Text.Trim();
            var fieldShortName = ShortNameLabel.Content.ToString();
            var fieldName      = NameLabel.Content.ToString();
            var idMeasure      = IdTextBox.Value;

            // Валидация полей
            var isValidFields = IsValidFieldsWithShowMessageOtherwise();

            if (!isValidFields)
            {
                return;
            }
            // Если краткое название ед. изм. содержит некиррилические символы - получение подтверждение пользователя
            if (!Validator.IsCyrillicWithUserConfirmOtherwise(shortName, fieldShortName))
            {
                return;
            }

            // Если название ед. изм. содержит некиррилические символы - получение подтверждение пользователя
            if (!Validator.IsCyrillicWithUserConfirmOtherwise(name, fieldName))
            {
                return;
            }

            // Проверка на дубликат
            foreach (var measure in _measuresList)
            {
                if (measure.OldDbCode == idMeasure)
                {
                    const string message = "Такой код уже имеется!";
                    const string header  = "Ошибка валидации";
                    MessageBox.Show(message, header, MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }

            try
            {
                // Такое не произайдет из за валидации, но анализатор Resharper ругается
                if (idMeasure == null)
                {
                    return;
                }

                MeasuresService.Insert((long)idMeasure, shortName, name);
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }

            PageSwitcher.Switch(new MeasuresTable());
        }
Beispiel #2
0
 /// <summary>
 /// Загрузка списка объектов из базы данных, их отображение в таблице, указание их кол-ва в Label
 /// </summary>
 /// <inheritdoc />
 public void AdditionalInitializeComponent()
 {
     FilterBarCoverLabel.Content = PageLiterals.FilterBarCoverLabel;             // Сообщение-заглушка панели фильтрации
     try
     {
         _measures = MeasuresService.GetAll();
         if (_measures != null && _measures.Count > 0)
         {
             // Критерии сортировки указаны в реализации интерфейса IComparable класса
             _measures.Sort();
         }
         PageDataGrid.ItemsSource = _measures;
         ShowCountItemsPageDataGrid();
     }
     catch (StorageException ex)
     {
         Common.ShowDetailExceptionMessage(ex);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Инициализация данными полей формы, загрузка соответсвующих списков из БД в локальные хранилища,
        /// заполнение локальных списков и таблиц ящиков/драг.металлов (в случае редактирования)
        /// </summary>
        public void AdditionalInitializeComponent()
        {
            // Установка даты по умолчанию
            DatePicker.SelectedDate = DateTime.Today;

            //Получение списков кодов материала и ед. измерения
            MeasureComboBox.ItemsSource  = null;
            MaterialComboBox.ItemsSource = null;
            try
            {
                _searchMaterials = MaterialsService.GetAllMssql();
                _measures        = MeasuresService.GetAll();
            }
            catch (StorageException ex)
            {
                Common.ShowDetailExceptionMessage(ex);
            }
            if ((_searchMaterials != null && _searchMaterials.Count > 0) && (_measures != null && _measures.Count > 0))
            {
                _searchMaterials.Sort();
                _measures.Sort();
            }
            MaterialComboBox.ItemsSource = _searchMaterials;
            MeasureComboBox.ItemsSource  = _measures;

            if (_editedProduct != null)
            {
                ProductIdTextBox.Text      = _editedProduct.DisplayCodeString;
                ProductNameTextBox.Text    = _editedProduct.Name;
                ProductNameTextBox.ToolTip = _editedProduct.Name;
                ProductMarkTextBox.Text    = _editedProduct.Mark;
                ProductMarkTextBox.ToolTip = _editedProduct.Mark;
            }

            if (_editedMaterial == null)
            {
                // Режим добавления
                EditingTypeLabel.Content     = PageLiterals.EditPageTypeAdd;
                AddMaterialButton.Visibility = Visibility.Visible;
            }
            else
            {
                // Режим редактирования
                EditingTypeLabel.Content     = PageLiterals.EditPageTypeEdit;
                AddMaterialButton.Visibility = Visibility.Hidden;
                var searchMaterial = new Material()
                {
                    Id           = _editedMaterial.Id,
                    CodeMaterial = _editedMaterial.CodeMaterial,
                    Name         = _editedMaterial.Name,
                    Profile      = _editedMaterial.Profile,
                    Gost         = _editedMaterial.Gost,
                };
                if (_measures != null)
                {
                    foreach (var measure in _measures)
                    {
                        if (measure.Id == _editedMaterial.ServiceMappedMeasureId)
                        {
                            _editedMaterial.Measure = measure;
                            break;
                        }
                    }
                }

                MaterialComboBox.SelectedItem  = searchMaterial;
                MaterialNameTextBox.Text       = _editedMaterial.Name;
                MaterialGostTextBox.Text       = _editedMaterial.Gost;
                MaterialProfileTextBox.Text    = _editedMaterial.Profile;
                MaterialProfileTextBox.ToolTip = _editedMaterial.Profile;
                FlowRateTextBox.Text           = _editedMaterial.FlowRate;
                MeasureComboBox.SelectedItem   = _editedMaterial.Measure;
                MeasureShortNameTextBox.Text   = _editedMaterial.Measure.ShortName;
                WorkGuildIdLongUpDown.Text     = _editedMaterial.WorkGuildId;
                ParcelIdLongUpDown.Text        = _editedMaterial.ParcelId;
                SignMaterialLongUpDown.Text    = _editedMaterial.SignMaterial;
                NormUnitLongUpDown.Text        = _editedMaterial.UnitValidation;
                AuxiliaryMaterialConsumptionRateTextBox.Text = _editedMaterial.AuxiliaryMaterialConsumptionRate;
                DatePicker.SelectedDate = _editedMaterial.Date;

                MaterialComboBox.IsEnabled = false;
            }
            //  WorkGuildIdTextBox.Focus(); // Фокус на поле установки значения Код цеха
        }