Ejemplo n.º 1
0
 //Загрузка параметров ручного ввода для редактирования
 public void LoadHandInput()
 {
     ClearLists();
     foreach (var pr in ProjectsList)
     {
         try
         {
             using (var rec = new ReaderAdo(pr.File, "SELECT * FROM CalcParams WHERE (CalcParamType Is Not Null) And (CalcOn=True) And (TaskOn=True) ORDER BY Task, Code"))
                 while (rec.Read())
                 {
                     var gip = new GridInputParam(pr.Code, rec, false);
                     if (!ProjectsForFilter.Contains(gip.Project))
                     {
                         ProjectsForFilter.Add(gip.Project);
                     }
                     if (!TasksForFilter.Contains(gip.Task))
                     {
                         TasksForFilter.Add(gip.Task);
                     }
                     if (!DataTypesForFilter.Contains(gip.DataType))
                     {
                         DataTypesForFilter.Add(gip.DataType);
                     }
                     GridInputParams.Add(gip);
                 }
         }
         catch (Exception ex)
         {
             AddError("Не найден или неправильный проект", ex, pr.Code);
             MessageBox.Show("Не найден или неправильный проект", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
 }
Ejemplo n.º 2
0
 //Загрузка абсолютных значений для редактирования
 public void LoadAbsolute()
 {
     ClearLists();
     foreach (var pr in ProjectsList)
     {
         using (StartAtom(Atom.LoadAbsolute, 0, 100, "Проект " + pr.Code, pr.Code))
         {
             try
             {
                 if (SysTabl.SubValueS(pr.File, "ArchiveOptions", "IsAbsolute") == "True")
                 {
                     //Чтение значений из архива
                     var apars = Archive.ReadAbsoluteEdit(pr.Code, false);
                     //Чтение параметров из проекта
                     using (var rec = new ReaderAdo(pr.File, "SELECT CalcParamsArchive.FullCode as Code, CalcParams.Task, CalcParams.Name, CalcSubParams.Name AS SubName, " +
                                                    "CalcParamsArchive.Units, CalcParamsArchive.DataType, CalcParamsArchive.SuperProcessType, CalcParams.Comment " +
                                                    "FROM CalcParams INNER JOIN (CalcSubParams RIGHT JOIN CalcParamsArchive ON CalcSubParams.CalcParamId = CalcParamsArchive.CalcSubParamId) ON CalcParams.CalcParamId = CalcParamsArchive.CalcParamId " +
                                                    "WHERE (CalcParams.CalcOn=True) And (CalcParams.TaskOn=True) And ((CalcSubParams.CalcOn=True) Or (CalcSubParams.CalcOn Is Null)) " +
                                                    "ORDER BY Task, FullCode;"))
                         while (rec.Read())
                         {
                             var sp = rec.GetString("SuperProcessType").ToSuperProcess();
                             if (sp.IsAbsolute())
                             {
                                 var gip = new GridInputParam(pr.Code, rec, true);
                                 if (!ProjectsForFilter.Contains(gip.Project))
                                 {
                                     ProjectsForFilter.Add(gip.Project);
                                 }
                                 if (!TasksForFilter.Contains(gip.Task))
                                 {
                                     TasksForFilter.Add(gip.Task);
                                 }
                                 if (!DataTypesForFilter.Contains(gip.DataType))
                                 {
                                     DataTypesForFilter.Add(gip.DataType);
                                 }
                                 if (apars.ContainsKey(gip.Code))
                                 {
                                     var hip = apars[gip.Code];
                                     gip.OldValue = hip.OldValue;
                                     gip.OldTime  = hip.OldTime.ToString();
                                     gip.Value    = hip.Value;
                                     gip.Time     = hip.Time == Different.MinDate ? null : hip.Time.ToString();
                                 }
                                 GridInputParams.Add(gip);
                             }
                         }
                 }
             }
             catch (Exception ex)
             {
                 AddError("Ошибка загрузки абсолютных значений", ex);
                 MessageBox.Show("Ошибка загрузки абсолютных значений", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
             }
         }
     }
 }
Ejemplo n.º 3
0
 //Очистка списка параметров и выпадающих списков
 private void ClearLists()
 {
     GridInputParams.Clear();
     ProjectsForFilter.Clear();
     ProjectsForFilter.Add("<Все>");
     TasksForFilter.Clear();
     TasksForFilter.Add("<Все>");
     DataTypesForFilter.Clear();
     DataTypesForFilter.Add("<Все>");
 }
Ejemplo n.º 4
0
 //Сохранение абсолютных значений после редактирования
 public void SaveAbsolute()
 {
     try
     {
         var list = new List <HandInputParam>();
         foreach (var gip in GridInputParams)
         {
             if (gip.ValueCorrect && gip.TimeCorrect)
             {
                 list.Add(new HandInputParam(gip.Project, gip.Code, gip.Value, DateTime.Parse(gip.Time)));
             }
         }
         Archive.WriteAbsoluteEdit(list);
     }
     catch (Exception ex)
     {
         AddError("Ошибка сохранения абсолютных значений", ex);
         Different.MessageError("Ошибка сохранения абсолютных значений");
     }
     GridInputParams.Clear();
 }