public DataBlock Copy(DataBlock source, Device target) { DataBlock dataBlock = source.CopyObject <DataBlock>(); try { if (dataBlock != null) { //dataBlock.ChannelId =(int) target.ChannelId; dataBlock.DeviceId = target.DeviceId; DataBlockService dataBlockService = new DataBlockService(); using (TransactionScope transactionScope = new TransactionScope()) { dataBlock.ChannelId = dataBlock.ChannelId; dataBlock.DeviceId = dataBlock.DeviceId; dataBlock.DataBlockId = GetNewIdByIds(dataBlock.ChannelId, target); dataBlock.DataBlockName = $"{dataBlock.DataBlockName}New"; TagService tagService = new TagService(); dataBlock.Tags = source.Tags; foreach (Tag tag in dataBlock.Tags) { tag.ChannelId = dataBlock.ChannelId; tag.DeviceId = dataBlock.DeviceId; tag.DataBlockId = dataBlock.DataBlockId; } transactionScope.Complete(); } } return(dataBlock); } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } return(dataBlock); }