/// <returns>xml text</returns> public bool Do(out string message, out string sourcestring) { try { message = string.Empty; sourcestring = File.ReadAllText(@"ITELMA_ALL_READ.otx"); sourcestring = sourcestring.Replace("DC_K_C_BC_015_057", AppSettings.ShortNameECU); sourcestring = sourcestring.Replace("K_C_BC_015_057", AppSettings.Codificator); string contentForBufferList = string.Empty; string contentForOutputList = string.Empty; string contentForReadingSignals = string.Empty; string flag8_contentForEndPositionRangeValue = string.Empty; for (int i = 0; i < _servicesNames_List.Count; i++) { //в соотвествии с кол-вом сервисов, заполнится кол-вом элементов для инициализации списка contentForBufferList += OTX_Input_Template.GetItemForStringList(); contentForOutputList += OTX_Input_Template.GetItemForStringList(); contentForReadingSignals += OTX_Input_Template.GetGroup_NextPosition(); contentForReadingSignals += OTX_Input_Template.GetGroup_ReadSpecificSignal(_phrases_List[i], _servicesNames_List[i]); } flag8_contentForEndPositionRangeValue += OTX_Output_Template.GetTermInteger(_servicesNames_List.Count); sourcestring = sourcestring.Replace(OTX_Input_Template.flagOfStringBufferList, contentForBufferList); sourcestring = sourcestring.Replace(OTX_Input_Template.flagOfStringOutputList, contentForOutputList); sourcestring = sourcestring.Replace(OTX_Input_Template.flagOfReadingSignals, contentForReadingSignals); sourcestring = sourcestring.Replace(OTX_Input_Template.flag8_OfIntegerEndPositionRangeValue, flag8_contentForEndPositionRangeValue); this.Replace_All_IDs_ToUnique(ref sourcestring); return(true); } catch (Exception ex) { message = ex.ToString(); sourcestring = string.Empty; return(false); } }
/// <returns>xml text</returns> public bool Do(out string message, out string sourcestring) { try { message = string.Empty; sourcestring = File.ReadAllText(@"ITELMA_WRITE_BY_BUTTON_INDEX.otx"); sourcestring = sourcestring.Replace("DC_K_C_BC_015_057", AppSettings.ShortNameECU); sourcestring = sourcestring.Replace("K_C_BC_015_057", AppSettings.Codificator); #region init content variables string flag1_contentForInputList = string.Empty; string flag2_contentForBufferList = string.Empty; string flag4_contentForBtnToSignalValueList = string.Empty; string flag5_contentForResponsesList = string.Empty; string flag10_contentForOutputInitList = string.Empty; string flag3_contentForBtnToParamIdList = string.Empty; string flag6_contentForBtnNumToOrderNumList = string.Empty; string flag7_contentForBtnEscapeValue = string.Empty; string flag8_contentForEndPositionRangeValue = string.Empty; string flag9_contentForOutputMsgAndControlRespList = string.Empty; string flag11_contentForReadingSignals = string.Empty; string flag12_contentForInpIndToBtnValList = string.Empty; #endregion #region make content for (int i = 0; i < _services_Request_PARAM_ID_List.Count; i++) { flag4_contentForBtnToSignalValueList += OTX_Output_Template.GetItemForStringList(_services_SIGNAL_VALUE_List[i]); flag3_contentForBtnToParamIdList += OTX_Output_Template.GetItemForIntegerList(_services_Request_PARAM_ID_List[i]); var specific_service = SERVICES_handbook.SERVICES .First(service => service.Request_PARAM_ID .Equals(_services_Request_PARAM_ID_List[i])); flag6_contentForBtnNumToOrderNumList += OTX_Output_Template.GetItemForIntegerList(specific_service.OrderNumber); } int btnsCount = 0; for (int i = 0; i < _servicesList.Count; i++) { //в соотвествии с кол-вом сервисов, заполнится кол-вом элементов для инициализации списка flag2_contentForBufferList += OTX_Output_Template.GetItemForStringList("-"); flag5_contentForResponsesList += OTX_Output_Template.GetItemForStringList(); flag10_contentForOutputInitList += OTX_Output_Template.GetItemForStringList(); flag10_contentForOutputInitList += OTX_Output_Template.GetItemForStringList(); flag11_contentForReadingSignals += OTX_Output_Template.GetGroup_NextPosition(); flag11_contentForReadingSignals += OTX_Output_Template.GetGroup_ReadSpecificSignal(_servicesList[i].Description_Phrase, _servicesList[i].Procedure_Name); flag9_contentForOutputMsgAndControlRespList += OTX_Output_Template.GetOutputSpec(i); if (_servicesList[i].Buttons_Count_For_Output_Handing == 1) { flag1_contentForInputList += OTX_Output_Template.GetItemForStringList(); flag12_contentForInpIndToBtnValList += OTX_Output_Template.GetItemForIntegerList(btnsCount); } btnsCount += _servicesList[i].Buttons_Count_For_Output_Handing; } //номер кнопки выхода задается подсчетом кол-ва кнопок всех представленных сигналов. Соответсвенно, чтобы получить №выхода, прибавим 1 flag7_contentForBtnEscapeValue += OTX_Output_Template.GetTermInteger(_services_Request_PARAM_ID_List.Count); flag8_contentForEndPositionRangeValue += OTX_Output_Template.GetTermInteger(_servicesList.Count); #endregion #region replace sourstring sourcestring = sourcestring.Replace(OTX_Output_Template.flag1_OfStringInputList, flag1_contentForInputList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag2_OfStringBufferList, flag2_contentForBufferList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag4_OfStringBtnToSignalValueList, flag4_contentForBtnToSignalValueList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag5_OfStringResponsesList, flag5_contentForResponsesList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag10_OutputInitStringList, flag10_contentForOutputInitList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag3_OfIntegerBtnToParamIdList, flag3_contentForBtnToParamIdList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag6_OfIntegerBtnNumToOrderNumList, flag6_contentForBtnNumToOrderNumList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag7_OfIntegerBtnEscapeValue, flag7_contentForBtnEscapeValue); sourcestring = sourcestring.Replace(OTX_Output_Template.flag8_OfIntegerEndPositionRangeValue, flag8_contentForEndPositionRangeValue); sourcestring = sourcestring.Replace(OTX_Output_Template.flag9_OfStringCombineOutputMsgAndControlRespList, flag9_contentForOutputMsgAndControlRespList); sourcestring = sourcestring.Replace(OTX_Output_Template.flag11_OfReadingSignals, flag11_contentForReadingSignals); sourcestring = sourcestring.Replace(OTX_Output_Template.flag12_OfInputIndexToButtonValueIntegerList, flag12_contentForInpIndToBtnValList); #endregion this.Replace_All_IDs_ToUnique(ref sourcestring); return(true); } catch (Exception ex) { message = ex.ToString(); sourcestring = string.Empty; return(false); } }