Пример #1
0
        //сохранение строки
        private void SaveData(Object o)
        {
            //пробежимся по строкам калибровочной таблицы и удалим незаполненные
            bool key = true;

            while (key && newRow != null)
            {
                key = false;
                foreach (FIDER_CALIBRATION ac in data)
                {
                    if (ac.F_CAL_F == null || ac.F_CAL_VALUE == null || ac.F_CAL_F == 0 || ac.F_CAL_VALUE == 0)
                    {
                        data.Remove(ac);
                        methodsEntities.FIDER_CALIBRATION.Remove(
                            methodsEntities.FIDER_CALIBRATION.Where(p => p.F_CAL_ID == ac.F_CAL_ID)
                            .FirstOrDefault());
                        key = true;
                        break;
                    }
                }
                //всё просмотрели, ничего не пришлось удалять
            }
            try
            {
                if (newRow != null) //сохранение новой записи
                {
                    methodsEntities.FIDER.Add(newRow);
                    methodsEntities.SaveChanges();
                    fiders = new ObservableCollection <FIDER>(methodsEntities.FIDER.OrderBy(p => p.F_TYPE));
                    RefreshGcFiders(); //перепривязка данных, иначе таблица не обновляется
                    selectedRow = fiders.Where(p => p.F_TYPE == "").FirstOrDefault();
                    isEnabled   = true;
                }
                else //сохранение откорректированной записи
                {
                    int selectedId = selectedRow.F_ID;
                    methodsEntities.SaveChanges();
                    fiders = new ObservableCollection <FIDER>(methodsEntities.FIDER.OrderBy(p => p.F_TYPE));
                    RefreshGcFiders(); //перепривязка данных, иначе таблица не обновляется
                    selectedRow = fiders.Where(p => p.F_ID == selectedId).FirstOrDefault();
                    isEnabled   = false;
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Ошибка сохранения изменения в БД. " + e.Message);
            }
            RaisePropertyChanged(() => selectedRow);
        }
Пример #2
0
 private void DeleteAnalysis()
 {
     if (anl_id == 0)
     {
         return;
     }
     if (methodsEntities.CurrentUserTask.Where(p => p.CUT_ANL_ID == anl_id && p.CUT_USER_NAME != userName).Any())
     {
         MessageBox.Show("Выбранную строку удалить невозможно, т.к. она используется другим пользователем.");
         return;
     }
     methodsEntities.ANALYSIS.Remove(methodsEntities.ANALYSIS.Where(p => p.ANL_ID == anl_id).FirstOrDefault());
     methodsEntities.SaveChanges();
     RefreshAnalysis();
     if (analysis.Count > 0)
     {
         anl_id = analysis[0].ANL_ID;
     }
 }
Пример #3
0
 //сохранение строки
 private void SaveData(Object o)
 {
     if (newRow != null && !String.IsNullOrEmpty(newRow.MDT_NAME))//сохранение новой записи
     {
         if (methodsEntities.EQUIPMENT_TYPE.Where(p => p.EQT_NAME == newRow.MDT_NAME).Any())
         {
             MessageBox.Show("Такая строка уже сущестует в таблице.");
             return;
         }
         methodsEntities.MEASURING_DEVICE_TYPE.Add(newRow);
         methodsEntities.SaveChanges();
         RaisePropertyChanged(() => data);
         AddData(null);
     }
     else //сохранение откорректированной записи
     {
         int selectedId = selectedRow.MDT_ID;
         methodsEntities.SaveChanges();
         RaisePropertyChanged(() => data);
         selectedRow = data.Where(p => p.MDT_ID == selectedId).FirstOrDefault();
     }
 }
Пример #4
0
        //сохранение строки
        private void SaveData(Object o)
        {
            if (typeId == null || typeId == 0)
            {
                MessageBox.Show("Выберите тип.");
                return;
            }

            if (newRow != null) //сохранение новой записи
            {
                newRow.MD_MDT_ID = typeId;
                var t =
                    methodsEntities.MEASURING_DEVICE.Where(
                        p => p.MD_MDT_ID == newRow.MD_MDT_ID && (p.MD_WORKNUMBER == null &&
                                                                 String.IsNullOrEmpty(newRow.MD_WORKNUMBER) || p.MD_WORKNUMBER != null && p.MD_WORKNUMBER == newRow.MD_WORKNUMBER) &&
                        (p.MD_MODEL == null &&
                         String.IsNullOrEmpty(newRow.MD_MODEL) || p.MD_MODEL != null && p.MD_MODEL == newRow.MD_MODEL));
                if (t.Count() != 0)
                {
                    System.Windows.MessageBox.Show("Такая строка уже сущестует в таблице.");
                    return;
                }
                methodsEntities.MEASURING_DEVICE.Add(newRow);
                methodsEntities.SaveChanges();
                int mdIdNew = newRow.MD_ID;
                RaisePropertyChanged(() => data);
                AddData(null);
            }
            else //сохранение откорректированной записи
            {
                int selectedId = selectedRow.MD_ID;
                methodsEntities.SaveChanges();
                RaisePropertyChanged(() => data);
                selectedRow = data.Where(p => p.MD_ID == selectedId).FirstOrDefault();
            }
        }
Пример #5
0
        //сохранение строки
        private void SaveData(Object o)
        {
            //пробежимся по строкам калибровочной таблицы и удалим незаполненные
            bool key = true;

            while (key && newRow == null) //только для сохранения не вновь добавленной строки
            {
                key = false;
                foreach (ANTENNA_CALIBRATION ac in data)
                {
                    if (ac.ANT_CAL_F == 0 || ac.ANT_CAL_VALUE == 0)
                    {
                        data.Remove(ac);
                        methodsEntities.ANTENNA_CALIBRATION.Remove(
                            methodsEntities.ANTENNA_CALIBRATION.Where(p => p.ANT_CAL_ID == ac.ANT_CAL_ID)
                            .FirstOrDefault());
                        key = true;
                        break;
                    }
                }
                //всё просмотрели, ничего не пришлось удалять
            }
            try
            {
                int selectedRowId;
                if (newRow != null) //сохранение новой записи
                {
                    methodsEntities.SaveChanges();
                    selectedRowId = newRow.ANT_ID;
                    antennas      = new ObservableCollection <ANTENNA>(methodsEntities.ANTENNA.OrderBy(p => p.ANT_TYPE)); //.OrderBy(p => p.ANT_TYPE)
                    isEnabled     = true;
                    newRow        = null;                                                                                 //запись уже не новая
                    //RefreshGcAntennas?.Invoke(); //перепривязка данных, иначе таблица не обновляется
                    // selectedRow = antennas.Where(p => p.ANT_ID == selectedRowId).FirstOrDefault();
                }
                else //сохранение откорректированной записи
                {
                    methodsEntities.Entry(selectedRow).State = EntityState.Modified;
                    selectedRowId = selectedRow.ANT_ID;
                    if (String.IsNullOrEmpty(selectedRow.ANT_TYPE))
                    {
                        MessageBox.Show("Заполните поле 'Тип антенны'");
                        FocusUI("AntType");
                        return;
                    }
                    if (String.IsNullOrEmpty(selectedRow.ANT_MODEL))
                    {
                        MessageBox.Show("Заполните поле 'Модель'");
                        FocusUI("Model");
                        return;
                    }
                    if (selectedRow.ANT_F_UNIT_ID == null || selectedRow.ANT_F_UNIT_ID == 0)
                    {
                        MessageBox.Show("Заполните поле 'Единица измерения частоты'");
                        FocusUI("UnitId");
                        return;
                    }
                    methodsEntities.SaveChanges();
                    antennas  = new ObservableCollection <ANTENNA>(methodsEntities.ANTENNA.OrderBy(p => p.ANT_TYPE));
                    isEnabled = false;
                    RefreshGcAntennas?.Invoke(); //перепривязка данных, иначе связанные данные не обновляется
                }
                // RefreshGcAntennas?.Invoke(); //перепривязка данных, иначе связанные данные не обновляется
                //selectedRow = antennas.Where(p => p.ANT_ID == selectedRowId).FirstOrDefault();
            }
            catch (Exception e)
            {
                MessageBox.Show("Ошибка сохранения изменения в БД. " + e.Message);
            }
            RaisePropertyChanged(() => selectedRow);
        }