Example #1
0
        /// <summary>
        ///     Executes the UpdateAlarm action.
        /// </summary>
        /// <param name="iD">In value for the ID action parameter.</param>
        /// <param name="startLocalTime">In value for the StartLocalTime action parameter.</param>
        /// <param name="duration">In value for the Duration action parameter.</param>
        /// <param name="recurrence">In value for the Recurrence action parameter.</param>
        /// <param name="enabled">In value for the Enabled action parameter.</param>
        /// <param name="roomUuid">In value for the RoomUUID action parameter.</param>
        /// <param name="programUri">In value for the ProgramURI action parameter.</param>
        /// <param name="programMetaData">In value for the ProgramMetaData action parameter.</param>
        /// <param name="playMode">In value for the PlayMode action parameter. Default value of NORMAL.</param>
        /// <param name="volume">In value for the Volume action parameter.</param>
        /// <param name="includeLinkedZones">In value for the IncludeLinkedZones action parameter.</param>
        public async Task UpdateAlarm(UInt32 iD, String startLocalTime, String duration,
                                      AargtypeRecurrenceEnum recurrence, Boolean enabled, String roomUuid, String programUri,
                                      String programMetaData, AargtypeAlarmPlayModeEnum playMode, UInt16 volume, Boolean includeLinkedZones)
        {
            var loIn = new object[11];

            loIn[0]  = iD;
            loIn[1]  = startLocalTime;
            loIn[2]  = duration;
            loIn[3]  = AlarmClock.ToStringAargtypeRecurrence(recurrence);
            loIn[4]  = enabled;
            loIn[5]  = roomUuid;
            loIn[6]  = programUri;
            loIn[7]  = programMetaData;
            loIn[8]  = AlarmClock.ToStringAargtypeAlarmPlayMode(playMode);
            loIn[9]  = volume;
            loIn[10] = includeLinkedZones;
            var action = new SoapAction
            {
                ArgNames =
                    new[]
                {
                    "ID", "StartLocalTime", "Duration", "Recurrence", "Enabled", "RoomUUID", "ProgramURI",
                    "ProgramMetaData", "PlayMode", "Volume", "IncludeLinkedZones"
                },
                Name = CsActionUpdateAlarm,
                ExpectedReplyCount = 0
            };

            await InvokeActionAsync(action, loIn);
        }
Example #2
0
        /// <summary>
        ///     Executes the CreateAlarm action.
        /// </summary>
        /// <param name="startLocalTime">In value for the StartLocalTime action parameter.</param>
        /// <param name="duration">In value for the Duration action parameter.</param>
        /// <param name="recurrence">In value for the Recurrence action parameter.</param>
        /// <param name="enabled">In value for the Enabled action parameter.</param>
        /// <param name="roomUuid">In value for the RoomUUID action parameter.</param>
        /// <param name="programUri">In value for the ProgramURI action parameter.</param>
        /// <param name="programMetaData">In value for the ProgramMetaData action parameter.</param>
        /// <param name="playMode">In value for the PlayMode action parameter. Default value of NORMAL.</param>
        /// <param name="volume">In value for the Volume action parameter.</param>
        /// <param name="includeLinkedZones">In value for the IncludeLinkedZones action parameter.</param>
        /// <returns>Out value for the AssignedID action parameter.</returns>
        public async Task <ActionResult> CreateAlarm(String startLocalTime, String duration,
                                                     AargtypeRecurrenceEnum recurrence, Boolean enabled, String roomUuid, String programUri,
                                                     String programMetaData, AargtypeAlarmPlayModeEnum playMode, UInt16 volume, Boolean includeLinkedZones)
        {
            var loIn = new object[10];

            loIn[0] = startLocalTime;
            loIn[1] = duration;
            loIn[2] = AlarmClock.ToStringAargtypeRecurrence(recurrence);
            loIn[3] = enabled;
            loIn[4] = roomUuid;
            loIn[5] = programUri;
            loIn[6] = programMetaData;
            loIn[7] = AlarmClock.ToStringAargtypeAlarmPlayMode(playMode);
            loIn[8] = volume;
            loIn[9] = includeLinkedZones;
            var action = new SoapAction
            {
                ArgNames =
                    new[]
                {
                    "StartLocalTime", "Duration", "Recurrence", "Enabled", "RoomUUID", "ProgramURI", "ProgramMetaData",
                    "PlayMode", "Volume", "IncludeLinkedZones", "AssignedID"
                },
                Name = CsActionCreateAlarm,
                ExpectedReplyCount = 1
            };
            SoapActionResult result = await InvokeActionAsync(action, loIn);

            // TODO: check for execption
            return(new ActionResult(result.XElement));
        }
        /// <summary>
        ///     Gets the string value for the AARGTYPERecurrence state var from its enumeration value.
        /// </summary>
        /// <param name="value">The enumeration value to get the string value for.</param>
        /// <returns>The string value for the enumeration, or string.empty if AARGTYPERecurrenceEnum.Invalid or out of range.</returns>
        public static string ToStringAargtypeRecurrence(AargtypeRecurrenceEnum value)
        {
            switch (value)
            {
            case AargtypeRecurrenceEnum.Once:
                return(CsAllowedValAargtypeRecurrenceOnce);

            case AargtypeRecurrenceEnum.Weekdays:
                return(CsAllowedValAargtypeRecurrenceWeekdays);

            case AargtypeRecurrenceEnum.Weekends:
                return(CsAllowedValAargtypeRecurrenceWeekends);

            case AargtypeRecurrenceEnum.Daily:
                return(CsAllowedValAargtypeRecurrenceDaily);

            default:
                return(String.Empty);
            }
        }