/// <summary>
 /// Create service model from api model
 /// </summary>
 public DataSetWriterModel ToServiceModel()
 {
     return(new DataSetWriterModel {
         DataSetWriterId = DataSetWriterId,
         DataSet = DataSet?.ToServiceModel(),
         DataSetFieldContentMask = DataSetFieldContentMask,
         DataSetMetaDataSendInterval = DataSetMetaDataSendInterval,
         KeyFrameCount = KeyFrameCount,
         KeyFrameInterval = KeyFrameInterval,
         MessageSettings = MessageSettings?.ToServiceModel()
     });
 }
 /// <summary>
 /// Create service model from api model
 /// </summary>
 public WriterGroupModel ToServiceModel()
 {
     return(new WriterGroupModel {
         WriterGroupId = WriterGroupId,
         HeaderLayoutUri = HeaderLayoutUri,
         KeepAliveTime = KeepAliveTime,
         LocaleIds = LocaleIds?.ToList(),
         MaxNetworkMessageSize = MaxNetworkMessageSize,
         MessageSettings = MessageSettings?.ToServiceModel(),
         MessageType = MessageType,
         Name = Name,
         Priority = Priority,
         SecurityGroupId = SecurityGroupId,
         SecurityKeyServices = SecurityKeyServices?
                               .Select(s => s.ToServiceModel())
                               .ToList(),
         DataSetWriters = DataSetWriters?
                          .Select(s => s.ToServiceModel())
                          .ToList(),
         PublishingInterval = PublishingInterval,
         SecurityMode = SecurityMode
     });
 }