Ejemplo n.º 1
0
        public bool TryMatch(string urlPath, string queryString, ref ParameterQuery query)
        {
            var urlSegments = urlPath.Trim('/').Split('/');

            if (segments.Length != urlSegments.Length)
            {
                return(false);
            }

            for (int i = 0; i < segments.Length; i++)
            {
                if (!segments[i].DoesMatch(urlSegments[i]))
                {
                    return(false);
                }
            }

            for (int i = 0; i < segments.Length; i++)
            {
                segments[i].Match(urlSegments[i], ref query);
            }

            var queryCollection = System.Web.HttpUtility.ParseQueryString(queryString);

            foreach (var q in queries)
            {
                q.Match(queryCollection, ref query);
            }

            return(true);
        }
        public ActionResult Post([FromBody] ParameterQuery query)
        {
            _logger.LogInformation("Get Parameters => Random response");

            var result = new ParameterResponse();
            var engine = new Random();

            foreach (var v in query.Parameter)
            {
                result.Parameters[v] = engine.Next(0, 100);
            }

            return(Ok(result));
        }
Ejemplo n.º 3
0
        private async Task ResolveParametersChange()
        {
            var query = new ParameterQuery();

            query.Parameter.AddRange(Enumerable.Range(0, 17));
            query.Parameter.AddRange(Enumerable.Range(20, 60));
            query.Parameter.Add(255);

            var parameters = await server.Value.GetParameters(query);

            lock (locker)
            {
                data.UpdateParameters(parameters.Parameters);
                server_data.UpdateParameters(parameters.Parameters);
            }
        }
Ejemplo n.º 4
0
        public async Task <ParameterResponse> GetParameters(ParameterQuery parameter)
        {
            NotifyFunctionCalled();

            await Task.Delay(100);

            var result = new ParameterResponse();
            var engine = new Random();

            foreach (var v in parameter.Parameter)
            {
                result.Parameters[v] = engine.Next(0, 100);
            }

            return(result);
        }
Ejemplo n.º 5
0
        protected override void Context()
        {
            _compartment = A.Fake <Compartment>();
            A.CallTo(() => _compartment.OrganName).Returns("MyParentOrgan");
            _compartment.Name = "MyComp";
            var containerPath = new ObjectPath(new[] { _compartment.OrganName, _compartment.Name }).ToString();

            _containerPathRetriever = A.Fake <IEntityPathResolver>();
            A.CallTo(() => _containerPathRetriever.PathFor(_compartment)).Returns(containerPath);
            _originData            = new OriginData();
            _originData.Population = new SpeciesPopulation();
            var distributionDefinition = new ParameterDistributionMetaData();
            var rateDefinition         = new ParameterRateMetaData();
            var valueDefinition        = new ParameterValueMetaData();

            distributionDefinition.ParameterName = "tutu";
            var distributionRepository = A.Fake <IParameterDistributionRepository>();

            A.CallTo(() => distributionRepository.AllFor(containerPath)).Returns(new List <ParameterDistributionMetaData> {
                distributionDefinition
            });

            var rateRepository = A.Fake <IParameterRateRepository>();

            A.CallTo(() => rateRepository.AllFor(containerPath)).Returns(new List <ParameterRateMetaData> {
                rateDefinition
            });

            var valueRepository = A.Fake <IParameterValueRepository>();

            A.CallTo(() => valueRepository.AllFor(containerPath)).Returns(new List <ParameterValueMetaData> {
                valueDefinition
            });

            sut = new ParameterQuery(distributionRepository, valueRepository, rateRepository, _containerPathRetriever);
        }
 /// <summary>
 /// Instructs firebase to send data lower or equal to the <see cref="value"/>. This must be preceded by an OrderBy query.
 /// </summary>
 /// <param name="child"> Current node. </param>
 /// <param name="value"> Value to start at. </param>
 /// <returns> The <see cref="FilterQuery"/>. </returns>
 public static FilterQuery EndAt(this ParameterQuery child, double value)
 {
     return(child.EndAt(() => value));
 }
 /// <summary>
 /// Instructs firebase to send data equal to the <see cref="value"/>. This must be preceded by an OrderBy query.
 /// </summary>
 /// <param name="child"> Current node. </param>
 /// <param name="value"> Value to start at. </param>
 /// <returns> The <see cref="FilterQuery"/>. </returns>
 public static FilterQuery EqualTo(this ParameterQuery child, string value)
 {
     return(child.EqualTo(() => value));
 }
 /// <summary>
 /// Instructs firebase to send data greater or equal to the <see cref="value"/>. This must be preceded by an OrderBy query.
 /// </summary>
 /// <param name="child"> Current node. </param>
 /// <param name="value"> Value to start at. </param>
 /// <returns> The <see cref="FilterQuery"/>. </returns>
 public static FilterQuery StartAt(this ParameterQuery child, string value)
 {
     return(child.StartAt(() => value));
 }
 /// <summary>
 /// Limits the result to last <see cref="count"/> items.
 /// </summary>
 /// <param name="child"> Current node. </param>
 /// <param name="count"> Number of elements. </param>
 /// <returns> The <see cref="FilterQuery"/>. </returns>
 public static FilterQuery LimitToLast(this ParameterQuery child, int count)
 {
     return(child.LimitToLast(() => count));
 }
Ejemplo n.º 10
0
 public void Match(NameValueCollection queryString, ref ParameterQuery query)
 {
     query[name] = queryString[name] ?? defaultValue;
 }
Ejemplo n.º 11
0
 public void Match(string part, ref ParameterQuery query)
 {
     query[name] = part;
 }
Ejemplo n.º 12
0
 public void Match(string part, ref ParameterQuery query)
 {
 }
Ejemplo n.º 13
0
 public Task <ParameterResponse> GetParameters(ParameterQuery parameter)
 {
     return(SendJsonQuery <ParameterResponse, ParameterQuery>(parameter, parametersSite));
 }