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)); }
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; //} ;
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; }
/// <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); }
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 { ; } }
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); }
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); }
/// <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); }
public abstract void SetPars(GROUP_SIGNALS_PARS src);
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())); }