Exemplo n.º 1
0
        private string GetParameterString(ServiceOpParameter parameter)
        {
            // TODO: Encode and convert smart quotes

            var paramValue = parameter.Value;
            var paramTag   = "param";

            if (parameter.IsString)
            {
                paramTag = "paramstring";
            }

            return($"<{paramTag}>{paramValue}</{paramTag}>");
        }
        public static Task <TResult> Execute <TResult>(this IServiceOpService serviceOpService, string serviceOpName, CancellationToken cancellationToken, params object[] parameters)
        {
            var serviceOpParameters = new List <ServiceOpParameter>(parameters.Length);

            foreach (var param in parameters)
            {
                var paramValue = param;

                // Check if the object is already a service op parameter.
                // If it is, we just return it directly. Otherwise create a SerivceOpParameter for it.
                var serviceOpParameter = paramValue switch
                {
                    ServiceOpParameter premadeParameter => premadeParameter,
                    _ => new ServiceOpParameter(paramValue, IsString: paramValue is string)
                };

                serviceOpParameters.Add(serviceOpParameter);
            }

            return(serviceOpService.Execute <TResult>(serviceOpName, serviceOpParameters, cancellationToken));
        }
    }