Microsoft.Azure.Commands.Dns.DnsRecordBase.FromMamlRecord C# (CSharp) Method

FromMamlRecord() static private method

static private FromMamlRecord ( object record ) : DnsRecordBase
record object
return DnsRecordBase
        internal static DnsRecordBase FromMamlRecord(object record)
        {
            if (record is Management.Dns.Models.ARecord)
            {
                var mamlRecord = (Management.Dns.Models.ARecord)record;
                return new ARecord
                {
                    Ipv4Address = mamlRecord.Ipv4Address
                };
            }
            else if (record is Management.Dns.Models.AaaaRecord)
            {
                var mamlRecord = (Management.Dns.Models.AaaaRecord)record;
                return new AaaaRecord
                {
                    Ipv6Address = mamlRecord.Ipv6Address
                };
            }
            else if (record is Management.Dns.Models.CnameRecord)
            {
                var mamlRecord = (Management.Dns.Models.CnameRecord)record;
                return new CnameRecord
                {
                    Cname = mamlRecord.Cname
                };
            }
            else if (record is Management.Dns.Models.NsRecord)
            {
                var mamlRecord = (Management.Dns.Models.NsRecord)record;
                return new NsRecord
                {
                    Nsdname = mamlRecord.Nsdname
                };
            }
            else if (record is Management.Dns.Models.MxRecord)
            {
                var mamlRecord = (Management.Dns.Models.MxRecord)record;
                return new MxRecord
                {
                    Exchange = mamlRecord.Exchange,
                    Preference = (ushort) mamlRecord.Preference,
                };
            }
            else if (record is Management.Dns.Models.SrvRecord)
            {
                var mamlRecord = (Management.Dns.Models.SrvRecord)record;
                return new SrvRecord
                {
                    Port = (ushort) mamlRecord.Port,
                    Priority = (ushort) mamlRecord.Priority,
                    Target = mamlRecord.Target,
                    Weight = (ushort) mamlRecord.Weight,
                };
            }
            else if (record is Management.Dns.Models.SoaRecord)
            {
                var mamlRecord = (Management.Dns.Models.SoaRecord)record;
                return new SoaRecord
                {
                    Email = mamlRecord.Email,
                    ExpireTime = (uint) mamlRecord.ExpireTime.GetValueOrDefault(),
                    Host = mamlRecord.Host,
                    MinimumTtl = (uint) mamlRecord.MinimumTtl.GetValueOrDefault(),
                    RefreshTime = (uint) mamlRecord.RefreshTime.GetValueOrDefault(),
                    RetryTime = (uint) mamlRecord.RetryTime.GetValueOrDefault(),
                    SerialNumber = (uint) mamlRecord.SerialNumber.GetValueOrDefault(),
                };
            }
            else if (record is Management.Dns.Models.TxtRecord)
            {
                var mamlRecord = (Management.Dns.Models.TxtRecord)record;
                return new TxtRecord
                {
                    Value = ToPowerShellTxtValue(mamlRecord.Value),
                };
            }
            else if (record is Management.Dns.Models.PtrRecord)
            {
                var mamlRecord = (Management.Dns.Models.PtrRecord)record;
                return new PtrRecord
                {
                    Ptrdname = mamlRecord.Ptrdname,
                };
            }

            return null;
        }