public PSConnectionMonitorResultV1 ConvertConnectionMonitorResultToPSConnectionMonitorResultV1(ConnectionMonitorResult ConnectionMonitorResult)
        {
            PSConnectionMonitorResultV2 PSConnectionMonitorResultV2 = MapConnectionMonitorResultToPSConnectionMonitorResultV2(ConnectionMonitorResult);

            PSConnectionMonitorResultV1 ConnectionMonitorResultV1 = new PSConnectionMonitorResultV1()
            {
                Name = ConnectionMonitorResult.Name,
                Id   = ConnectionMonitorResult.Id,
                Etag = ConnectionMonitorResult.Etag,
                ProvisioningState = ConnectionMonitorResult.ProvisioningState,
                Type                        = ConnectionMonitorResult.Type,
                Location                    = ConnectionMonitorResult.Location,
                AutoStart                   = ConnectionMonitorResult.AutoStart,
                StartTime                   = ConnectionMonitorResult.StartTime,
                MonitoringStatus            = ConnectionMonitorResult.MonitoringStatus,
                ConnectionMonitorType       = ConnectionMonitorResult.ConnectionMonitorType,
                MonitoringIntervalInSeconds = ConnectionMonitorResult.TestConfigurations?[0]?.TestFrequencySec,
                Tags                        = new Dictionary <string, string>()
            };

            if (ConnectionMonitorResult.Tags != null)
            {
                foreach (KeyValuePair <string, string> KeyValue in ConnectionMonitorResult.Tags)
                {
                    ConnectionMonitorResultV1.Tags.Add(KeyValue.Key, KeyValue.Value);
                }
            }

            if (ConnectionMonitorResultV1.Source == null)
            {
                ConnectionMonitorResultV1.Source = new PSConnectionMonitorSource()
                {
                    ResourceId = PSConnectionMonitorResultV2.TestGroups?[0]?.Sources?[0]?.ResourceId
                };
            }

            if (ConnectionMonitorResultV1.Destination == null)
            {
                ConnectionMonitorResultV1.Destination = new PSConnectionMonitorDestination()
                {
                    ResourceId = PSConnectionMonitorResultV2.TestGroups?[0]?.Destinations?[0]?.ResourceId,
                    Address    = PSConnectionMonitorResultV2.TestGroups?[0]?.Destinations?[0]?.Address,
                    Port       = GetDestinationPort(PSConnectionMonitorResultV2.TestGroups?[0]?.TestConfigurations[0])
                };
            }

            return(ConnectionMonitorResultV1);
        }
        public PSConnectionMonitorResultV1 MapConnectionMonitorResultToPSConnectionMonitorResultV1(ConnectionMonitorResult ConnectionMonitor)
        {
            PSConnectionMonitorResultV1 psConnectionMonitor = new PSConnectionMonitorResultV1()
            {
                Name = ConnectionMonitor.Name,
                Id   = ConnectionMonitor.Id,
                Etag = ConnectionMonitor.Etag,
                ProvisioningState = ConnectionMonitor.ProvisioningState,
                Type      = ConnectionMonitor.Type,
                Location  = ConnectionMonitor.Location,
                AutoStart = ConnectionMonitor.AutoStart,
                MonitoringIntervalInSeconds = ConnectionMonitor.MonitoringIntervalInSeconds,
                StartTime             = ConnectionMonitor.StartTime,
                MonitoringStatus      = ConnectionMonitor.MonitoringStatus,
                Tags                  = NetworkResourceManagerProfile.Mapper.Map <Dictionary <string, string> >(ConnectionMonitor.Tags),
                ConnectionMonitorType = ConnectionMonitor.ConnectionMonitorType,
                Source                = NetworkResourceManagerProfile.Mapper.Map <PSConnectionMonitorSource>(ConnectionMonitor.Source),
                Destination           = NetworkResourceManagerProfile.Mapper.Map <PSConnectionMonitorDestination>(ConnectionMonitor.Destination),
            };

            return(psConnectionMonitor);
        }