コード例 #1
0
        public void RemoteInvokeTest()
        {
            RemoteWritter.ComplieToRemote <RemoteTestModel>();


            TransportParameters parameters = new TransportParameters
            {
                TypeName   = "RemoteTestModel",
                MethodName = "HelloString"
            };

            parameters["str1"] = JsonConvert.SerializeObject("hello ");
            parameters["str2"] = JsonConvert.SerializeObject("world!");


            string result = RemoteReader.Execute(parameters);

            Assert.Equal("\"hello world!\"", result);


            var parameter = new RequestParameters <RemoteTestModel>();
            var temp      = parameter["HelloString"].Params("hello ", "world!");

            result = JsonConvert.DeserializeObject <string>(RemoteReader.Execute(temp));
            Assert.Equal("hello world!", result);


            parameter = new RequestParameters <RemoteTestModel>();
            temp      = parameter["HelloInt"].Params(10, 100);

            int intResult = JsonConvert.DeserializeObject <int>(RemoteReader.Execute(temp));

            Assert.Equal(110, intResult);
        }
コード例 #2
0
ファイル: DynamicRemoteTest.cs プロジェクト: fossabot/Natasha
        public void RemoteDelegateTest()
        {
            RemoteWritter.ComplieToRemote <RemoteTestModel>();
            TransportParameters parameters = new TransportParameters();

            parameters.TypeName   = "RemoteTestModel";
            parameters.MethodName = "HelloString";
            Assert.NotNull(RemoteReader.GetFunc(parameters));
        }
コード例 #3
0
 public static Dictionary <string, string> FromFlightParameters
     (TransportParameters parameters)
 {
     return(new Dictionary <string, string>
     {
         { "country", "RU" },
         { "currency", parameters.Currency },
         { "locale", "ru-RU" },
         { "originPlace", parameters.OriginPlace + "-sky" },           //IATA
         { "destinationPlace", parameters.DestinationPlace + "-sky" }, //IATA
         { "outboundDate", parameters.OutboundDate.ToString("yyyy-MM-dd") },
         { "inboundDate", "" },
         { "adults", parameters.AdultsCount.ToString() },
         { "children", parameters.ChildrenCount.ToString() },
         { "cabinClass", parameters.CabinClass },
         { "groupPricing", "true" }
     });
 }
コード例 #4
0
        public List <Transfer> GetData(TransportParameters parameters)
        {
            var skyscannerParameters = SkyscannerApiParameters.FromFlightParameters(parameters);
            var data = SendRequestAndGetResponse(Method.POST, GetHeaders(), skyscannerParameters,
                                                 PostResource, Url);
            var location = data.Headers
                           .ToList()
                           .Find(x => x.Name == "Location")
                           .Value.ToString()
                           .Split('/')
                           .Last();
            var getParameters = new Dictionary <string, string>
            {
                { "sessionKey", location },
                { "sortType", "price" },
                { "sortOrder", "asc" },
                { "pageIndex", "0" },
                { "pageSize", "3" }
            };
            var response =
                SendRequestAndGetResponse(Method.GET, GetHeaders(), getParameters, GetResource + location, Url);

            return(ParseResponse(response.Content));
        }