コード例 #1
0
        private string GetSetObjectPropertyResponse(string address)
        {
            var queries = UrlHelpers.CrackUrl(address);

            PropertyInfo info;

            if (typeof(TObjectProperty) == typeof(ObjectProperty))
            {
                info = BaseSetObjectPropertyParameters <TObjectProperty> .GetPropertyInfoViaTypeLookup((Enum)(object)property);
            }
            else if (typeof(TObjectProperty) == typeof(ChannelProperty))
            {
                info = BaseSetObjectPropertyParameters <TObjectProperty> .GetPropertyInfoViaPropertyParameter <Channel>((Enum)(object)property);
            }
            else
            {
                throw new NotImplementedException($"Handler for object property type {nameof(TObjectProperty)} is not implemented");
            }

            var queryName = BaseSetObjectPropertyParameters <TObjectProperty> .GetParameterNameStatic((Enum)(object)property, info);

            if (typeof(TObjectProperty) == typeof(ChannelProperty))
            {
                queryName += "1"; //Channel ID used for tests
            }
            var val = queries[queryName];

            Assert.IsTrue(val == expectedValue, $"The value of property '{property.ToString().ToLower()}' did not match the expected value. Expected '{expectedValue}', received: '{val}'");

            return("OK");
        }
コード例 #2
0
ファイル: SetObjectProperty.cs プロジェクト: git22ura/PrtgAPI
        /// <summary>
        /// Retrieves an object that defines the dynamic parameters of this cmdlet.
        /// </summary>
        /// <returns>An object that defines the dynamic parameters of this cmdlet.</returns>
        public object GetDynamicParameters()
        {
            if (dynamicParams == null)
            {
                dynamicParams = new DynamicParameterSet <ObjectProperty>(
                    ParameterSet.Dynamic,
                    e => BaseSetObjectPropertyParameters <ObjectProperty> .GetPropertyInfoViaTypeLookup(e).Property
                    );
            }

            return(dynamicParams.Parameters);
        }
コード例 #3
0
        /// <summary>
        /// Retrieves an object that defines the dynamic parameters of this cmdlet.
        /// </summary>
        /// <returns>An object that defines the dynamic parameters of this cmdlet.</returns>
        public object GetDynamicParameters()
        {
            if (dynamicParams == null)
            {
                dynamicParams = new DynamicParameterSet <ChannelProperty>(
                    new[] { ParameterSet.Dynamic, ParameterSet.DynamicManual },
                    e => BaseSetObjectPropertyParameters <ChannelProperty> .GetPropertyInfoViaPropertyParameter <Channel>(e).Property
                    );
            }

            return(dynamicParams.Parameters);
        }
コード例 #4
0
        private void ParseValue()
        {
            var prop = BaseSetObjectPropertyParameters <ObjectProperty> .GetPropertyInfoViaTypeLookup(Property);

            Value = ParseValueIfRequired(prop, Value);
        }
コード例 #5
0
 internal async Task SetObjectPropertyAsync <T>(BaseSetObjectPropertyParameters <T> parameters, int numObjectIds, CancellationToken token) =>
 await RequestEngine.ExecuteRequestAsync(parameters, m => Task.FromResult <PrtgResponse>(ResponseParser.ParseSetObjectPropertyUrl(numObjectIds, m)), token).ConfigureAwait(false);
コード例 #6
0
 internal void SetObjectProperty <T>(BaseSetObjectPropertyParameters <T> parameters, int numObjectIds) =>
 RequestEngine.ExecuteRequest(parameters, m => ResponseParser.ParseSetObjectPropertyUrl(numObjectIds, m));
コード例 #7
0
 internal void SetObjectProperty <T>(BaseSetObjectPropertyParameters <T> parameters, int numObjectIds, CancellationToken token) =>
 RequestEngine.ExecuteRequest(parameters, m => ResponseParser.ParseSetObjectPropertyUrl(numObjectIds, m), token);