AzureDNSManager.AzureDNSViewModel.DeleteRecordEntry C# (CSharp) Method

DeleteRecordEntry() protected method

protected DeleteRecordEntry ( object param ) : void
param object
return void
        protected void DeleteRecordEntry(object param)
        {
            List<object> objList = param as List<object>;
            RecordSet rs = objList?[0] as RecordSet;
            
            switch(GetRecordType(rs?.Type))
            {
                case RecordType.A:
                    {
                        ARecord record = objList?[1] as ARecord;
                        if (record != null)
                        {
                            rs.Properties.ARecords.Remove(record);
                        }
                    }
                    break;
                case RecordType.AAAA:
                    {
                        AaaaRecord record = objList?[1] as AaaaRecord;
                        if (record != null)
                        {
                            rs.Properties.AaaaRecords.Remove(record);
                        }
                    }
                    break;
                case RecordType.MX:
                    {
                        MxRecord  record = objList?[1] as MxRecord ;
                        if (record != null)
                        {
                            rs.Properties.MxRecords.Remove(record);
                        }
                    }
                    break;
                case RecordType.SRV:
                    {
                        SrvRecord record = objList?[1] as SrvRecord;
                        if (record != null)
                        {
                            rs.Properties.SrvRecords.Remove(record);
                        }
                    }
                    break;
                case RecordType.TXT:
                    {
                        TxtRecord record = objList?[1] as TxtRecord;
                        if (record != null)
                        {
                            rs.Properties.TxtRecords.Remove(record);
                        }
                    }
                    break;
            }

            var r = new List<RecordSet>(Records);
            Records.Clear();
            Records = new System.Collections.ObjectModel.ObservableCollection<RecordSet>(r);
        }