Ejemplo n.º 1
0
        public override bool Equals(object obj)
        {
            AVRInputSource other = obj as AVRInputSource;

            if (other != null && _name.Equals(other.Name))
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
        public bool FromResponse(XDocument responseDocument)
        {
            if (responseDocument == null || responseDocument.Root == null)
            {
                return(false);
            }

            XNamespace ns = responseDocument.Root.Name.Namespace;

            foreach (XElement itemElement in responseDocument.Elements(ns + "item"))
            {
                XElement powerElement = itemElement.Element(ns + "ZonePower");
                if (powerElement != null && !powerElement.IsEmpty)
                {
                    string             powerStat = powerElement.Element(ns + "value")?.Value;
                    AVRZonePowerStatus status;
                    if (Enum.TryParse(powerStat, true, out status))
                    {
                        Power = status;
                    }
                }
                XElement inputFuncSelectElement = itemElement.Element(ns + "InputFuncSelect");
                if (inputFuncSelectElement != null && !inputFuncSelectElement.IsEmpty)
                {
                    //AVRInputSource src = device.InputSources.First((x) => x.Name.Equals(inputFuncSelectElement.Element(ns + "value")?.Value));
                    //if (src != null)
                    //{
                    //    ActiveInputSource = src;
                    //}
                    AVRInputSource src = new AVRInputSource();
                    src.Name          = inputFuncSelectElement.Element(ns + "value")?.Value;
                    ActiveInputSource = src;
                }
                XElement volumeDisplayElement = itemElement.Element(ns + "VolumeDisplay");
                if (volumeDisplayElement != null && !volumeDisplayElement.IsEmpty)
                {
                    string           volumeDisplayString = volumeDisplayElement.Element(ns + "value")?.Value;
                    AVRVolumeDisplay volumeDisplay;
                    if (Enum.TryParse(volumeDisplayString, true, out volumeDisplay))
                    {
                        VolumeDisplay = volumeDisplay;
                    }
                }
                XElement masterVolumeElement = itemElement.Element(ns + "MasterVolume");
                if (masterVolumeElement != null && !masterVolumeElement.IsEmpty)
                {
                    string masterVolumeString = masterVolumeElement.Element(ns + "value")?.Value;
                    float  masterVolume;
                    if (float.TryParse(masterVolumeString, out masterVolume))
                    {
                        if (VolumeDisplay == AVRVolumeDisplay.Absolute)
                        {
                            MasterVolume.AbsoluteVolume = masterVolume;
                        }
                        else
                        {
                            MasterVolume.RelativeVolume = masterVolume;
                        }
                    }
                }
                XElement muteElement = itemElement.Element(ns + "Mute");
                if (muteElement != null && !muteElement.IsEmpty)
                {
                    string muteStat = muteElement.Element(ns + "value")?.Value;

                    MuteStatus = muteStat.Contains("on") ? AVRMuteStatus.MUTE_ON : AVRMuteStatus.MUTE_OFF;
                }
            }
            return(true);
        }