Ejemplo n.º 1
0
 public void UpdateParameter(int type,string strIdGroup,int indxGrpSgnls,GROUP_SIGNALS_PARS parValues)
 {
     UpdateParameter(type
                     ,strIdGroup
                     ,KEY_TREE_SGNLS[(int)INDEX_KEY_SIGNAL.GROUP_SIGNALS] + indxGrpSgnls
                     ,makeValueGroupSignalsPars(type,strIdGroup,indxGrpSgnls,parValues));
 }
Ejemplo n.º 2
0
        public abstract /*virtual*/ void SetPars(GROUP_SIGNALS_PARS src)
        //{
        //    m_iAutoStart = src.m_iAutoStart == 2
        //        ? m_iAutoStart == 1 ? 0 : 1 // изменить на противоположный
        //            : m_iAutoStart;

        //    src.m_iAutoStart = m_iAutoStart;
        //}
        ;
Ejemplo n.º 3
0
 public override void SetPars(GROUP_SIGNALS_PARS src)
 {
     //!!! только единственный режим работы
     m_arWorkIntervals [(int)MODE_WORK.CUSTOMIZE].m_dtStart =
         src.m_arWorkIntervals [(int)MODE_WORK.CUSTOMIZE].m_dtStart;
     m_arWorkIntervals [(int)MODE_WORK.CUSTOMIZE].m_tsPeriodMain =
         src.m_arWorkIntervals [(int)MODE_WORK.CUSTOMIZE].m_tsPeriodMain;
     //m_arWorkIntervals[(int)MODE_WORK.COSTUMIZE].m_tsPeriodLocal =
     //    src.m_arWorkIntervals[(int)MODE_WORK.COSTUMIZE].m_tsPeriodLocal;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Установить новые значения параметров для СУЩЕСТВУЮЩей группы сигналов
        ///  в контексте списка объектов выполнения, возвращает (внутренний) индекс группы сигналов в списке
        /// </summary>
        /// <param name="idGroupSgnls">Идентификатор (строковый) группы сигналов</param>
        /// <param name="pars">Параметры группы сигналов для установки</param>
        /// <returns>Индекс (внутренний) группы сигналов в списке</returns>
        public int SetGroupSignalsPars(/*string idGroupSgnls,*/ GROUP_SIGNALS_PARS pars)
        {
            int iRes = getIndexGroupSignalsPars(pars.m_strId /*idGroupSgnls*/);

            if (iRes < m_listGroupSignalsPars.Count)
            {
                m_listGroupSignalsPars [iRes].SetPars(pars);
            }
            else
            {
                ;
            }

            return(iRes);
        }
Ejemplo n.º 5
0
        public override void SetPars(GROUP_SIGNALS_PARS src)
        {
            if (src.Index == FormMain.INDEX_SRC.SOURCE)
            {
                ////??? изменяется 'm_iAutoStart'
                //base.SetPars (src);

                MODE_WORK mode
                , amode;

                mode       =
                    m_mode =
                        (src as GROUP_SIGNALS_SRC_PARS).m_mode;
                amode = mode == MODE_WORK.CUR_INTERVAL ? MODE_WORK.CUSTOMIZE
                    : mode == MODE_WORK.CUSTOMIZE ? MODE_WORK.CUR_INTERVAL
                        : MODE_WORK.UNKNOWN;

                m_arWorkIntervals[(int)mode].m_dtStart =
                    src.m_arWorkIntervals[(int)mode].m_dtStart;
                m_arWorkIntervals [(int)mode].m_tsPeriodMain =
                    src.m_arWorkIntervals [(int)mode].m_tsPeriodMain;
                #region Отладка
                if ((m_arWorkIntervals [(int)mode].m_tsPeriodMain - src.m_arWorkIntervals [(int)mode].m_tsPeriodMain).TotalSeconds < 0)
                {
                    // устанавливаемое значение всегда равно или больше
                    ASUTP.Logging.Logg().Warning($"GROUP_SRC::SetGroupSignalsPars ()- ModeWork={mode}, новое значение для PeriodMain меньше текущего...", ASUTP.Logging.INDEX_MESSAGE.NOT_SET);
                }
                else

                #endregion
                { m_arWorkIntervals[(int)mode].m_tsIntervalCustomize =
                      src.m_arWorkIntervals[(int)mode].m_tsIntervalCustomize; }

                //if (mode == MODE_WORK.CUR_INTERVAL)
                m_arWorkIntervals[(int)mode].m_tsRequery =
                    src.m_arWorkIntervals[(int)mode].m_tsRequery;
                //else ;
            }
            else
            {
                ;
            }
        }
Ejemplo n.º 6
0
            public GROUP_SIGNALS_PARS GetObjectGroupSignalsPars(object[] pars)
            {
                GROUP_SRC          itemSrc     = getItemSrc((INDEX_SRC)pars[0],pars[1] as string) as GROUP_SRC;
                GROUP_SIGNALS_PARS grpSgnlsRes = null;

                //???
                //return (getItemSrc(pars) as GROUP_SRC).m_listGroupSignalsPars[0];

                foreach (GROUP_SIGNALS_PARS grpSgnlsPars in itemSrc.m_listGroupSignalsPars)
                {
                    if (grpSgnlsPars.m_strId.Equals(pars[2] as string) == true)
                    {
                        grpSgnlsRes = grpSgnlsPars;

                        break;
                    }
                    else
                    {
                        ;
                    }
                }

                return(grpSgnlsRes);
            }
Ejemplo n.º 7
0
            private string makeValueGroupSignalsPars(int type,string strIdGroup,int indxGrpSgnls,GROUP_SIGNALS_PARS parValues)
            {
                string strRes  = string.Empty;
                int    indxPar = -1;

                //Получить ниаменования параметров для групп сигналов
                List <string> pars = GetSecValueOfKey(SEC_SRC_TYPES[(int)type] + s_chSecDelimeters[(int)INDEX_DELIMETER.SEC_PART_TARGET] + strIdGroup
                                                      ,KEY_TREE_SGNLS[(int)INDEX_KEY_SIGNAL.GROUP_SIGNALS] + s_chSecDelimeters[(int)INDEX_DELIMETER.SEC_PART_TARGET] + @"PARS").Split(s_chSecDelimeters[(int)INDEX_DELIMETER.PAIR_VAL]).ToList <string>()
                ,listParValues = GetSecValueOfKey(SEC_SRC_TYPES[(int)type] + s_chSecDelimeters[(int)INDEX_DELIMETER.SEC_PART_TARGET] + strIdGroup
                                                  ,KEY_TREE_SGNLS[(int)INDEX_KEY_SIGNAL.GROUP_SIGNALS] + indxGrpSgnls).Split(s_chSecDelimeters[(int)INDEX_DELIMETER.PAIR_VAL]).ToList <string>();;

                indxPar = 0;
                foreach (string par in pars)
                {
                    switch (par)
                    {
                    case @"ID":
                    case @"ID_GS":
                        //Не устанавливается с помощью GUI
                        break;

                    case @"AUTO_START":
                        ////Вариант №1, 2
                        //listParValues[indxPar] = parValues.m_iAutoStart.ToString ();

                        //Вариант №3
                        int iAutoStart = Int32.Parse(listParValues[indxPar]);
                        if (parValues.m_iAutoStart == 2)
                        {
                            //Признак изменения значения
                            listParValues[indxPar] = ((iAutoStart == 0) ? 1 : 0).ToString();
                        }
                        else
                        {
                            ;     //Не изменять
                        }
                        Console.WriteLine(@"MainForm.FileINI::makeValueGroupSignalsPars () - iAutoStart=" + listParValues[indxPar] + @"...");
                        break;

                    case @"TOOLS_ENABLED":     //Не устанавливается с помощью GUI
                        break;

                    case @"CURINTERVAL_PERIODMAIN":
                        if ((type == (int)INDEX_SRC.SOURCE) &&
                            ((parValues as GROUP_SIGNALS_SRC_PARS).m_mode == MODE_WORK.CUR_INTERVAL))
                        {
                            //Только для источника
                            listParValues[indxPar] = parValues.m_arWorkIntervals[(int)MODE_WORK.CUR_INTERVAL].m_tsPeriodMain.Text;
                        }
                        else
                        {
                            ;
                        }
                        break;

                    case @"CURINTERVAL_PERIODLOCAL":
                        if ((type == (int)INDEX_SRC.SOURCE) &&
                            ((parValues as GROUP_SIGNALS_SRC_PARS).m_mode == MODE_WORK.CUR_INTERVAL))
                        {
                            //Только для источника
                            listParValues[indxPar] = parValues.m_arWorkIntervals[(int)MODE_WORK.CUR_INTERVAL].m_tsIntervalLocal.ToString();
                        }
                        else
                        {
                            ;
                        }
                        break;

                    default:
                        throw new Exception(@"FormMain.FileINI::getValueGroupSignalsPars () - ...");
                    }

                    indxPar++;
                }

                strRes = string.Join(s_chSecDelimeters[(int)INDEX_DELIMETER.PAIR_VAL].ToString(),listParValues.ToArray());

                return(strRes);
            }
Ejemplo n.º 8
0
 /// <summary>
 /// Заполнить рабочий элемент - список групп
 /// </summary>
 /// <param name="indxWork">Индекс панели</param>
 /// <param name="grpSrc">Объект с данными для заполнения</param>
 private void fillWorkItem(INDEX_SRC indxWork, GROUP_SIGNALS_PARS grpSrc)
 {
     m_arLoader[(int)indxWork].FillWorkItem(grpSrc);
 }
Ejemplo n.º 9
0
 public abstract void SetPars(GROUP_SIGNALS_PARS src);
Ejemplo n.º 10
0
            public void UpdateParameter(FormMain.INDEX_SRC type,string strIdGroup,int indxGrpSgnls,GROUP_SIGNALS_PARS parValues)
            {
                string        parNames = string.Empty;
                List <string> listParPrevValues
                ,listParCurValues;

                parNames = $"{KEY_TREE_SGNLS [(int)INDEX_KEY_SIGNAL.GROUP_SIGNALS]}{indxGrpSgnls}";

                listParPrevValues = GetSecValueOfKey($"{SEC_SRC_TYPES [(int)type]}{s_chSecDelimeters [(int)INDEX_DELIMETER.SEC_PART_TARGET]}{strIdGroup}",parNames)
                                    .Split(s_chSecDelimeters [(int)INDEX_DELIMETER.PAIR_VAL])
                                    .ToList <string> ();
                listParCurValues = parValues.ValuesToFileINI(listParPrevValues);

                UpdateParameter(type
                                ,strIdGroup
                                ,KEY_TREE_SGNLS[(int)INDEX_KEY_SIGNAL.GROUP_SIGNALS] + indxGrpSgnls
                                ,string.Join(s_chSecDelimeters [(int)INDEX_DELIMETER.PAIR_VAL].ToString(),listParCurValues.ToArray()));
            }