/// <summary> /// Creates new tag bit row and assigns default values /// </summary> /// <param name="cParent">Parent Tag <see cref="TagsRow"/></param> /// <param name="pPrefix">prefix for new tag-bit names that are created</param> /// <returns>New <see cref="TagBitRow"/></returns> public TagBitRow NewTagBitRow(TagsRow cParent, string pPrefix) { TagBitRow dr = NewTagBitRow(); dr.TagID = cParent.TagID; short idx = (short)cParent.GetTagBitRows().Length; dr.Name = string.Format("{0}{1}NewTagBit{2}", pPrefix, m_IdentSep, idx); dr.BitNumber = idx; return(dr); }
/// <summary> /// Creates new tags row and assigns default values /// </summary> /// <param name="pDatBlockID">Data block ID</param> /// <param name="pPrefix">Prefix for the name</param> /// <param name="pRowToBeCopied">row to be copied</param> /// <param name="pShallowCopy">indicates if the copy is shallow or deep</param> public void NewTagsRow(int pDatBlockID, TagsRow pRowToBeCopied, bool pShallowCopy, string pPrefix) { TagsRow dr = NewTagsRow(pDatBlockID, pPrefix); dr.AccessRights = pRowToBeCopied.AccessRights; dr.StateTrigger = pRowToBeCopied.StateTrigger; dr.Alarm = pRowToBeCopied.Alarm; dr.AlarmMask = pRowToBeCopied.AlarmMask; dr.StateMask = pRowToBeCopied.StateMask; AddTagsRow(dr); foreach (ItemPropertiesTableRow iptr in pRowToBeCopied.GetItemPropertiesTableRows()) { ((ComunicationNet)DataSet).ItemPropertiesTable.NewItemPropertiesTableRow(iptr, dr.TagID); } if (!pShallowCopy) { foreach (TagBitRow tr in pRowToBeCopied.GetTagBitRows()) { ((ComunicationNet)DataSet).TagBit.NewTagBitRow(dr, string.Empty); } } return; }