/// <summary>
 /// Sets query parameters in the given builder with all all properties with the
 /// <seealso cref="Google.Apis.Util.RequestParameterAttribute"/> attribute.
 /// </summary>
 /// <param name="builder">The request builder</param>
 /// <param name="request">
 /// A request object which contains properties with 
 /// <seealso cref="Google.Apis.Util.RequestParameterAttribute"/> attribute. Those properties will be set in the 
 /// given request builder object
 /// </param>
 public static void InitParameters(RequestBuilder builder, object request)
 {
     IterateParameters(request, (type, name, value) =>
         {
             builder.AddParameter(type, name, value.ToString());
         });
 }
 public ActionResult NewRequest()
 {
     RequestBuilder builder = new RequestBuilder();
     EOfficeDirector<Request> director = new EOfficeDirector<Request>();
     Request form = director.Construct(builder);
     return View(form);
 }
Exemplo n.º 3
0
        public override void Update()
        {
            DB db = new DB("travox_global"); 

            RequestBuilder doExchange = new RequestBuilder("127.0.0.1:3000/API-v3/exchange-rate/");
            doExchange.By = RequestBuilder.Method.POST;
            doExchange.ContentType = "application/x-www-form-urlencoded";
            doExchange.AddHeader("Token-Auth", "ZHNnc2RmaCxrZXIgbmFsZ25zIGRmZ2RzZmc");

            doExchange.AddBody("from", db.GetField("SELECT ISNULL(currency,'') FROM currency FOR XML PATH('')"));
            doExchange.AddBody("to", "THB");
            doExchange.AddBody("amt", "1");

            XHR rate = new XHR().AsyncSend(doExchange).Wait();

            try
            {
                foreach (RateAPI item in JsonConvert.DeserializeObject<List<RateAPI>>(rate.ToString()))
                {
                    SQLCollection param = new SQLCollection();
                    param.Add("@to", DbType.String, item.currency);
                    param.Add("@rate", DbType.Decimal, item.rate);
                    param.Add("@date", DbType.DateTime, DateTime.Parse(item.updated).ToString("dd-MM-yyyy HH:mm:ss"));

                    db.Execute("UPDATE currency SET currency_rate=@rate, last_update=@date WHERE currency = @to", param);
                }
                db.Apply();
            }
            catch (Exception e)
            {
                db.Rollback();
                throw e;
            }
            base.Update();
        }
Exemplo n.º 4
0
		public static void GetFriends(Action<List<User>> getFriendsAction, Action<Error> errorAction)
		{
			var requestBuilder = new RequestBuilder(Context);
			requestBuilder.SetMethod("friends.get");
			requestBuilder.AddParam("uid", Context.CurrentUserId);
			requestBuilder.SendRequest<GetFriends>(
				getFriendsResponse => GetProfiles(getFriendsResponse.Result, getFriendsAction, errorAction), errorAction);
		}
Exemplo n.º 5
0
		public static void GetMessages(Action<List<Message>> getMessagesAction, Action<Error> errorAction)
		{
			var requestBuilder = new RequestBuilder(Context);
			requestBuilder.SetMethod("messages.getDialogs");
			requestBuilder.AddParam("count", "100");
			requestBuilder.SendRequest<GetMessages>(
				getMessagesResult => getMessagesAction.Invoke(getMessagesResult.Messages.ToList().GetMessageItems()), errorAction);
		}
Exemplo n.º 6
0
		public static void SendMessage(string uid, string textmessage, Action sendMessageCompleteAction,
		                        Action<Error> errorAction)
		{
			var requestBuilder = new RequestBuilder(Context);
			requestBuilder.SetMethod("messages.send");
			requestBuilder.AddParam("uid", uid);
			requestBuilder.AddParam("message", textmessage);
			requestBuilder.SendRequest<SendMessageResult>(result => sendMessageCompleteAction.Invoke(), errorAction);
		}
Exemplo n.º 7
0
		public static void GetMessageConversation(string uid, Action<List<Message>> getMessagesAction, Action<Error> errorAction)
		{
			var requestBuilder = new RequestBuilder(Context);
			requestBuilder.SetMethod("messages.getHistory");
			requestBuilder.AddParam("uid", uid);
			requestBuilder.SendRequest<GetMessagesHistory>(
				getMessagesResult =>
				getMessagesAction.Invoke(getMessagesResult.Messages.ToList().GetMessageItems(Context.CurrentUserId)),
				errorAction);
		}
        protected virtual RequestBuilder BuildRequest(string root)
        {
            var builder = new RequestBuilder(root);

            if (CustomerId != null) builder.AddElement("customer-id", CustomerId);
            if (Version != 0) builder.AddElement("version", Version);
            if (MerchantAccountId != null) builder.AddElement("merchant-account-id", MerchantAccountId);
            if (Options != null) builder.AddElement("options", Options);

            return builder;
        }
        protected virtual RequestBuilder BuildRequest(string root)
        {
            var builder = new RequestBuilder(root);

            if (Amount != 0)
                builder.AddElement("amount", Amount);

            builder.AddElement("order-id", OrderId);

            return builder;
        }
Exemplo n.º 10
0
		private static HttpWebRequest GetTimelineRequest(AuthenticationContext authenticationContext, string screenName)
		{
			var requestBuilder = new RequestBuilder(authenticationContext);
			var requestParameters = new TimelineRequestParameters(authenticationContext)
			{
				ScreenName = screenName,
				Count = "10",
			};

			return requestBuilder.GetRequest(requestParameters);
		}
        protected virtual RequestBuilder BuildRequest(string root)
        {
            var builder = new RequestBuilder(root);

            if (Amount != 0)
                builder.AddElement("amount", Amount);

            builder.AddElement("subscription-id", SubscriptionId);
            builder.AddElement("type", TransactionType.SALE.ToString().ToLower());

            return builder;
        }
Exemplo n.º 12
0
        /// <summary>
        /// Получает данные LongPollServer'a
        /// </summary>
        /// <param name="accessToken">Token</param>
        /// <returns>Возвращает объект LongPollServer'a</returns>
        public ILongPollServer Get(string accessToken)
        {
            var urlBuilder = new ApiBuilder(MessagesMethods.MessagesGetLongPollServer, ApiSettings, accessToken);
            var url = urlBuilder.GenerateUrl();

            var requestBuilder = new RequestBuilder<LongPollServer>("response", false);
            var response = requestBuilder.GetResponse(url);

            Exception = requestBuilder.Exception;

            return response;
        }
Exemplo n.º 13
0
		public static void GetProfiles(string[] profileUids, Action<List<User>> getProfilesAction, Action<Error> errorAction)
		{
			var requestBuilder = new RequestBuilder(Context);
			requestBuilder.SetMethod("getProfiles");
			requestBuilder.AddParam("uids", String.Join(",", profileUids));
			requestBuilder.AddParam("fields",
			                        "uid, first_name, last_name, nickname, domain, sex, " +
			                        "bdate, city, country, timezone, photo, photo_medium, " +
			                        "photo_big, has_mobile, rate, contacts, education, online");

			requestBuilder.SendRequest<GetProfiles>(
				getProfilesResponse => getProfilesAction.Invoke(getProfilesResponse.Result.GetUserItems()), errorAction);
		}
Exemplo n.º 14
0
        /// <summary>
        /// Отправляет сообщение пользователю
        /// </summary>
        /// <param name="userId">Id пользователя вконтакте</param>
        /// <param name="accessToken">Token</param>
        /// <param name="message">Текст сообщения</param>
        /// <returns>Возвращает id сообщения</returns>
        public int Send(int userId, string accessToken, string message)
        {
            var urlBulider = new ApiBuilder(MessagesMethods.MessagesSend, ApiSettings, accessToken);
            var url = urlBulider.GenerateUrl(
                MessagesSendParameters.Instance.UserId(userId),
                MessagesSendParameters.Instance.Message(message)
                );

            var requestBuilder = new RequestBuilder<int>("response", false);
            var response = requestBuilder.GetResponse(url);

            Exception = requestBuilder.Exception;
            return response;
        }
Exemplo n.º 15
0
        /// <summary>
        /// Получает список id пользователей, которые онлайн
        /// </summary>
        /// <param name="userId">Id авторизованного пользователя</param>
        /// <param name="accessToken">Token</param>
        /// <returns>Возвращает список id пользователей, которые онлайн. Пустой список, если ошибка</returns>
        public List<int> Get(int userId, string accessToken)
        {
            var urlBuilder = new ApiBuilder(FriendsMethods.FriendsGetOnline, ApiSettings, accessToken);
            var url = urlBuilder.GenerateUrl(
                FriendsGetOnlineParameters.Instance.UserId(userId)
                );

            var requestBuilder = new RequestBuilder<int>("response", false);
            var response = requestBuilder.GetResponseArray(url);

            Exception = requestBuilder.Exception;

            return response;
        }
Exemplo n.º 16
0
        /// <summary>
        /// Помечает сообщения как прочитанные
        /// </summary>
        /// <param name="friendId">Идентификатор отправителя сообщения</param>
        /// <param name="accessToken">Token</param>
        /// <param name="messageIds">Идентификаторы непрочитанных сообщений</param>
        public int MarkAsRead(int friendId, string accessToken, IEnumerable<int> messageIds)
        {
            var urlBulider = new ApiBuilder(MessagesMethods.MessagesMarkAsRead, ApiSettings, accessToken);
            var url = urlBulider.GenerateUrl(
                MessagesMarkAsReadParameters.Instance.UserId(friendId),
                MessagesMarkAsReadParameters.Instance.MessageIds(messageIds)
                );

            var requestBuilder = new RequestBuilder<int>("response", false);
            var response = requestBuilder.GetResponse(url);

            Exception = requestBuilder.Exception;
            return response;
        }
Exemplo n.º 17
0
        /// <summary>
        /// Возвращает информацию о пользователе
        /// </summary>
        /// <param name="userName">Имя пользователя</param>
        /// <returns>Возвращает информацию о пользователе</returns>
        public IUserInfo Get(string userName)
        {
            var urlBuilder = new OpenApiBuilder(UsersMethods.UsersGet, ApiSettings);
            var url = urlBuilder.GenerateUrl(
                UsersGetParameters.Instance.UserIds(new List<string> {userName}),
                UsersGetParameters.Instance.Fields(new List<string>
                {
                    UserFields.Photo50
                }));

            var requestBuilder = new RequestBuilder<UserInfo>("response", false);
            var response = requestBuilder.GetResponseArray(url).FirstOrDefault();

            return response;
        }
Exemplo n.º 18
0
        /// <summary>
        /// Получает список уведомлений 
        /// </summary>
        /// <param name="longPollServer">Данные LongPollServer</param>
        public ILongPollServerUpdates GetUpdates(ILongPollServer longPollServer)
        {
            if (longPollServer != null)
            {
                var url = string.Format("http://{0}?act=a_check&key={1}&ts={2}&wait=25", longPollServer.Server, longPollServer.Key, longPollServer.Ts);
                var requestBuilder = new RequestBuilder<LongPollServerResult>(null, false);
                var response = requestBuilder.GetResponse(url);

                Exception = requestBuilder.Exception;

                Ts = response.Ts;
                return LongPollServerResultParser.Parse(response);
            }

            return null;
        }
Exemplo n.º 19
0
        /// <summary>
        /// Получае последние сообщения
        /// </summary>
        /// <param name="accessToken">Token</param>
        /// <param name="count">Количество последних сообщений</param>
        public IEnumerable<IDialogMessage> GetLast(string accessToken, int count = 20)
        {
            var urlBuilder = new ApiBuilder(MessagesMethods.MessagesGet, ApiSettings, accessToken);
            var url = urlBuilder.GenerateUrl(
                MessagesGetParameters.Instance.Count(count)
                );

            var requestBuilder = new RequestBuilder<Message>("items");
            var response = requestBuilder.GetResponseArray(url);

            Exception = requestBuilder.Exception;

            foreach (var message in response)
                message.VkUserId = _vkUserId;

            return response.Cast<IDialogMessage>().OrderBy(x => x.Date).ToList();
        }
 public override string ToQueryString(string root)
 {
     var builder = new RequestBuilder("user");
     builder.AddElement("country", Country);
     builder.AddElement("email", Email);
     builder.AddElement("first_name", FirstName);
     builder.AddElement("last_name", LastName);
     builder.AddElement("phone", Phone);
     builder.AddElement("dob_year", DobYear);
     builder.AddElement("dob_month", DobMonth);
     builder.AddElement("dob_day", DobDay);
     builder.AddElement("street_address", StreetAddress);
     builder.AddElement("locality", Locality);
     builder.AddElement("region", Region);
     builder.AddElement("postal_code", PostalCode);
     return builder.ToQueryString();
 }
        public override string ToQueryString()
        {
            var builder = new RequestBuilder();
            builder.AddTopLevelElement("merchant_id", MerchantId);
            builder.AddTopLevelElement("redirect_uri", RedirectUri);
            builder.AddTopLevelElement("scope", Scope);
            builder.AddTopLevelElement("state", State);
            builder.AddTopLevelElement("landing_page", LandingPage);
            builder.AddTopLevelElement("client_id", ClientId);

            foreach (var paymentMethod in PaymentMethods)
            {
                builder.AddTopLevelElement("payment_methods[]", paymentMethod);
            }

            builder.AddElement("user", User);
            builder.AddElement("business", Business);
            return builder.ToQueryString();
        }
        public virtual RequestBuilder BuildRequest(string root)
        {
            var builder = new RequestBuilder(root);

            builder.AddElement("billing-day-of-month", BillingDayOfMonth);
            builder.AddElement("billing-frequency", BillingFrequency);
            builder.AddElement("currency-iso-code", CurrencyIsoCode);
            builder.AddElement("description", Description);
            builder.AddElement("id", Id);
            builder.AddElement("name", Name);
            builder.AddElement("number-of-billing-cycles", NumberOfBillingCycles);
            builder.AddElement("price", Price);
            builder.AddElement("trial-period", TrialPeriod);
            builder.AddElement("trial-duration", TrialDuration);
            builder.AddElement("trial-duration-unit", TrialDurationUnit);
            builder.AddElement("add-ons", AddOns);
            builder.AddElement("discounts", Discounts);
            return builder;
        }
Exemplo n.º 23
0
        public HttpResponseMessage SendRequest(string method,string target,Dictionary<string,string> parameters)
        {
            string baseUrl = Constants.BaseUrl+target;

            List<Parameter> paramList = new List<Parameter>();

            if(parameters != null)
            {
                paramList = new List<Parameter>();
                foreach(KeyValuePair<string,string> kvP in parameters)
                {
                    paramList.Add(new Parameter(kvP.Key, kvP.Value));
                }
            }

            RequestBuilder req = new RequestBuilder(apiKey,apiSecret,baseUrl,method,paramList);

            return req.SendRequest();
        }
Exemplo n.º 24
0
        private void AppMain_Loaded(object sender, RoutedEventArgs e)
        {
            Point Desktop = new Point(SystemParameters.WorkArea.Width, SystemParameters.WorkArea.Height);
            this.Left = 10;
            this.Top = Desktop.Y - (this.Height + 10);
            this.Topmost = false;

            RequestBuilder nipp = new RequestBuilder("http://www.nipponanime.net/forum/nisekoi/(one-shot)-nisekoi-ch-0-(lightning)/");
           txtTest.Text = XHR.Connect(nipp).ToString();

            nipp = new RequestBuilder("http://upic.me/i/f1/7bx12.jpg");
            nipp.Referer = "http://www.nipponanime.net/forum/nisekoi";
            XHR c = new XHR(nipp);
            ResponseBuilder a = new ResponseBuilder();
            do
            {
                //File.WriteAllBytes("C:\\Users\\HaKko\\Desktop\\"+Path.GetRandomFileName() +".txt", c.ReceiveByte());
                Console.WriteLine(XHR.BytesPerSecond(c.ReceivedData));
            } while (c.ReceivedData > 0);
        }
 public override string ToQueryString(string root)
 {
     var builder = new RequestBuilder("business");
     builder.AddElement("name", Name);
     builder.AddElement("registered_as", RegisteredAs);
     builder.AddElement("industry", Industry);
     builder.AddElement("description", Description);
     builder.AddElement("street_address", StreetAddress);
     builder.AddElement("locality", Locality);
     builder.AddElement("region", Region);
     builder.AddElement("postal_code", PostalCode);
     builder.AddElement("country", Country);
     builder.AddElement("annual_volume_amount", AnnualVolumeAmount);
     builder.AddElement("average_transaction_amount", AverageTransactionAmount);
     builder.AddElement("maximum_transaction_amount", MaximumTransactionAmount);
     builder.AddElement("ship_physical_goods", ShipPhysicalGoods);
     builder.AddElement("fulfillment_completed_in", FulfillmentCompletedIn);
     builder.AddElement("currency", Currency);
     builder.AddElement("website", Website);
     builder.AddElement("established_on", EstablishedOn);
     return builder.ToQueryString();
 }
Exemplo n.º 26
0
        /// <summary>
        /// Получает список всех друзей пользователя
        /// </summary>
        /// <param name="userId">Id авторизованного пользователя</param>
        /// <param name="accessToken">Token</param>
        /// <returns>Возвращает список друзей пользователя. Пустой список если ошибка</returns>
        public List<IFriend> Get(int userId, string accessToken)
        {
            var urlBuilder = new ApiBuilder(FriendsMethods.FriendsGet, ApiSettings, accessToken);
            var url = urlBuilder.GenerateUrl(
                FriendsGetParameters.Instance.Order(Orders.Name),
                FriendsGetParameters.Instance.Fields(new List<string>
                {
                    UserFields.Photo50
                }));

            var requestBuilder = new RequestBuilder<Friend>("items");
            var response = requestBuilder.GetResponseArray(url);

            foreach (var friend in response)
            {
                friend.ParentVkId = userId;
                friend.Position = response.IndexOf(friend);
            }

            Exception = requestBuilder.Exception;

            return response.Cast<IFriend>().ToList();
        }
Exemplo n.º 27
0
        /// <summary>
        /// Возвращает историю сообщений с указанным собеседником.
        /// </summary>
        /// <param name="friendId">Id собеседника</param>
        /// <param name="accessToken">Token</param>
        /// <param name="count">Количество сообщений</param>
        /// <param name="offset">Смещение</param>
        /// <returns>Возвращает список сообщений</returns>
        public IEnumerable<IDialogMessage> GetHistory(int friendId, string accessToken, int count = 20, int offset = 0)
        {
            var urlBuilder = new ApiBuilder(MessagesMethods.MessagesGetHistory, ApiSettings, accessToken);
            var url = urlBuilder.GenerateUrl(
                MessagesGetHistoryParameters.Instance.Offset(offset),
                MessagesGetHistoryParameters.Instance.Count(count),
                MessagesGetHistoryParameters.Instance.UserId(friendId)
                );

            var requestBuilder = new RequestBuilder<DialogMessage>("items");
            var response = requestBuilder.GetResponseArray(url);

            Exception = requestBuilder.Exception;

            //Задаем, кому было отправлено сообщение
            foreach (var message in response)
            {
                message.VkUserId = _vkUserId;
                message.VkFriendId = friendId;
            }

            var messages = response.Cast<IDialogMessage>().OrderBy(x => x.Date).ToList();
            return messages;
        }
 public void RunBeforeRequest(RequestBuilder requestBuilder, Uri absoluteUrl)
 => extensions.ForEach(ext => ext.BeforeRequest(requestBuilder, absoluteUrl));
Exemplo n.º 29
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            // если нет подключение к интернету
            if (!CrossConnectivity.Current.IsConnected)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(loginEntry.Text) ||
                string.IsNullOrWhiteSpace(passwordEntry.Text) ||
                string.IsNullOrWhiteSpace(emailEntry.Text) ||
                string.IsNullOrWhiteSpace(firstNameEntry.Text) ||
                string.IsNullOrWhiteSpace(lastNameEntry.Text) ||
                string.IsNullOrWhiteSpace(yearsEntry.Text))
            {
                await DisplayAlert("Ошибка", "Заполнены не все поля", "cancel");

                return;
            }
            if (!IsValidEmail(emailEntry.Text))
            {
                await DisplayAlert("Ошибка", "Не верный Email", "cancel");

                return;
            }
            var body = new RegisterBody
            {
                Login       = loginEntry.Text,
                Password    = passwordEntry.Text,
                Email       = emailEntry.Text,
                FirstName   = firstNameEntry.Text,
                LastName    = lastNameEntry.Text,
                Year        = Convert.ToInt32(yearsEntry.Text),
                PhoneNumber = telefonEntry.Text,
                Sex         = (SexType)picker.SelectedIndex
            };

            if (body.Year < 16 || body.Year > 150)
            {
                await DisplayAlert("Ошибка", "Некоректный возраст", "cancel");

                return;
            }
            if (body.Password.Length <= 6)
            {
                await DisplayAlert("Ошибка", "Длина пароля должна быть больше 6", "cancel");

                return;
            }

            var response = await RequestBuilder.Create()
                           .AppendPathSegments("api", "account", "registerWork") // добавляет к ендпоинт
                           .SetQueryParam("rol", pickerRol.SelectedIndex)
                           .PostJsonAsync(body);                                 //  https://localhost:5001/api/account/login?login=1&password=1234567

            if (!response.IsSuccessStatusCode)
            {
                var error = await response.Content.ReadAsStringAsync();
                await DisplayAlert("a", error, "cancel");

                return;
            }
            await DisplayAlert("ОК", "Работник успешно зарегестрирован", "ОК");
        }
Exemplo n.º 30
0
        private async Task <ServiceInformationDto> GetServiceInformationInternal(FetchBehavior behavior, CancellationToken cancellationToken = default)
        {
            // This is an intentional race condition. Calling this method from multiple threads may lead to multiple calls to Get<ServiceInformation>().
            // However, this would be rare and harmless, since it should always return the same result. It would be a lot more difficult to make this work without any races or blocking.
            // It is important to never set _LastValidServiceInformation to null anywhere to avoid possible null returns here due to the race condition.
            if (behavior == FetchBehavior.FetchAlways || _LastValidServiceInformation == null)
            {
                var serviceInformation = await _RestClient.Request <ServiceInformationDto>(RequestBuilder.CreateGet("ServiceInformation"), cancellationToken).ConfigureAwait(false);

                _LastValidServiceInformation = serviceInformation;
            }

            return(_LastValidServiceInformation);
        }
Exemplo n.º 31
0
 private IRestRequest BuildGetSwitchRequest(int id) => RequestBuilder.BuildRestRequest(SwitchCommand.GetSwitch, Method.GET, GetDefaultParameters(id), GetClientTransactionId());
Exemplo n.º 32
0
        /// <inheritdoc />
        public async Task <CatalogDto> GetCatalog(Guid catalogUuid, CancellationToken cancellationToken = default)
        {
            var catalog = await _RestClient.Request <CatalogDto[]>(RequestBuilder.CreateGet($"catalogs/{catalogUuid}"), cancellationToken).ConfigureAwait(false);

            return(catalog.FirstOrDefault());
        }
Exemplo n.º 33
0
 /// <inheritdoc />
 public Task DeleteAllAttributeDefinitions(CancellationToken cancellationToken = default)
 {
     return(_RestClient.Request(RequestBuilder.CreateDelete("configuration"), cancellationToken));
 }
Exemplo n.º 34
0
        public override void LoadItems()
        {
            var temp = Description
                       .Select(str => str.Text.Split('|')[0].Trim()).ToList();

            var skins = new List <string>();

            for (int i = 0; i < temp.Count; i++)
            {
                string item = temp[i];

                if (!skins.Contains(item))
                {
                    skins.Add(item);
                }
            }

            RequestHandler.GetInstance().AddAction(RequestHandler.Priority.Medium, () =>
            {
                return(Task.Run(() =>
                {
                    State = LootBoxState.LoadStarted;

                    return true;
                }));
            }, false);

            foreach (var description in skins)
            {
                RequestHandler.GetInstance().AddAction(RequestHandler.Priority.Medium, async() =>
                {
                    HttpWebRequest request = (HttpWebRequest)WebRequest
                                             .Create(RequestBuilder.SearchRequest(description));

                    if (ProxySingleton.GetInstanceNext().CanUse)
                    {
                        request.Proxy = ProxySingleton.GetInstance().Proxy;
                    }

                    HttpWebResponse response = await RequestsUtil.GetResponseAsync(request);

                    await Task.Delay(RequestHandler.Delay);

                    if (response == null)
                    {
                        return(false);
                    }

                    Stream stream             = response.GetResponseStream();
                    StreamReader streamReader = new StreamReader(stream);

                    string content = streamReader.ReadToEnd();

                    response.Close();

                    JSONObject json = JSONParser.Parse(content);

                    var results = json.GetArray("results");

                    if (results == null)
                    {
                        return(false);
                    }

                    string hashName, imageCode;
                    IMarketItem item;

                    for (int i = 0; i < results.Count; i++)
                    {
                        hashName = results[i]["asset_description"].GetValue("market_hash_name").ToString();

                        if (!hashName.ToLower().Contains(description.ToLower()) ||
                            Items.Where(x => x.Name == hashName).Count() > 0)
                        {
                            continue;
                        }

                        item = new MarketItem(hashName);

                        AddItem(item);

                        imageCode = results[i]["asset_description"].GetValue("icon_url").ToString();

                        item.GetIcon(imageCode, hashName, Name);

                        RaisePropertyChanged("OnItemLoaded");
                    }

                    return(true);
                });
            }

            RequestHandler.GetInstance().AddAction(RequestHandler.Priority.Medium, () =>
            {
                return(Task.Run(() =>
                {
                    State = LootBoxState.ItemsLoaded;

                    LoadPrices();

                    return true;
                }));
            }, false);
        }
Exemplo n.º 35
0
        public void UriConstructionTests(WebhookConfig config, string payload, string expectedUri)
        {
            var uri = new RequestBuilder().BuildUri(config, payload);

            Assert.Equal(expectedUri, uri);
        }
Exemplo n.º 36
0
        /// <inheritdoc />
        public async Task <SimpleMeasurementDto[]> GetMeasurements(PathInformationDto partPath = null, MeasurementFilterAttributesDto filter = null, CancellationToken cancellationToken = default)
        {
            if (filter?.MergeAttributes?.Length > 0)
            {
                var featureMatrix = await GetFeatureMatrixInternal(FetchBehavior.FetchIfNotCached, cancellationToken).ConfigureAwait(false);

                if (!featureMatrix.SupportsRestrictMeasurementSearchByMergeAttributes)
                {
                    throw new OperationNotSupportedOnServerException(
                              "Restricting measurement search by merge attributes is not supported by this server.",
                              DataServiceFeatureMatrix.RestrictMeasurementSearchByMergeAttributesMinVersion,
                              featureMatrix.CurrentInterfaceVersion);
                }
            }

            if (filter?.MergeMasterPart != null)
            {
                var featureMatrix = await GetFeatureMatrixInternal(FetchBehavior.FetchIfNotCached, cancellationToken).ConfigureAwait(false);

                if (!featureMatrix.SupportRestrictMeasurementSearchByMergeMasterPart)
                {
                    throw new OperationNotSupportedOnServerException(
                              "Restricting measurement search by merge master part is not supported by this server.",
                              DataServiceFeatureMatrix.RestrictMeasurementSearchByMergeAttributesMinVersion,
                              featureMatrix.CurrentInterfaceVersion);
                }
            }

            const string requestPath = "measurements";

            // split multiple measurement uuids into chunks of uuids using multiple requests to avoid "Request-URI Too Long" exception
            if (filter?.MeasurementUuids?.Length > 0)
            {
                var newFilter = filter.Clone();
                newFilter.MeasurementUuids = null;

                var parameterName        = AbstractMeasurementFilterAttributesDto.MeasurementUuidsParamName;
                var parameterDefinitions = CreateParameterDefinitions(partPath, newFilter);

                //Split into multiple parameter sets to limit uuid parameter lenght
                var splitter            = new ParameterSplitter(this, requestPath);
                var collectionParameter = CollectionParameterFactory.Create(parameterName, filter.MeasurementUuids);
                var parameterSets       = splitter.SplitAndMerge(collectionParameter, parameterDefinitions);

                //Execute requests in parallel
                var requests = parameterSets
                               .Select(set => RequestBuilder.CreateGet(requestPath, set.ToArray()))
                               .Select(request => _RestClient.Request <SimpleMeasurementDto[]>(request, cancellationToken));
                var result = await Task.WhenAll(requests).ConfigureAwait(false);

                return(result.SelectMany(r => r).ToArray());
            }

            // split multiple part uuids into chunks of uuids using multiple requests to avoid "Request-URI Too Long" exception
            if (filter?.PartUuids?.Length > 0)
            {
                var newFilter = filter.Clone();
                newFilter.PartUuids = null;

                const string parameterName        = AbstractMeasurementFilterAttributesDto.PartUuidsParamName;
                var          parameterDefinitions = CreateParameterDefinitions(partPath, newFilter);

                //Split into multiple parameter sets to limit uuid parameter lenght
                var splitter            = new ParameterSplitter(this, requestPath);
                var collectionParameter = CollectionParameterFactory.Create(parameterName, filter.PartUuids);
                var parameterSets       = splitter.SplitAndMerge(collectionParameter, parameterDefinitions);

                //Execute requests in parallel
                var requests = parameterSets
                               .Select(set => RequestBuilder.CreateGet(requestPath, set.ToArray()))
                               .Select(request => _RestClient.Request <SimpleMeasurementDto[]>(request, cancellationToken));
                var result = await Task.WhenAll(requests).ConfigureAwait(false);

                return(result.SelectMany(r => r).ToArray());
            }

            {
                var parameterDefinitions = CreateParameterDefinitions(partPath, filter).ToArray();
                var requestUrl           = RequestBuilder.CreateGet(requestPath, parameterDefinitions);
                return(await _RestClient.Request <SimpleMeasurementDto[]>(requestUrl, cancellationToken).ConfigureAwait(false));
            }
        }
Exemplo n.º 37
0
        /// <inheritdoc />
        public async Task <InspectionPlanCharacteristicDto> GetCharacteristicByUuid(Guid charUuid, AttributeSelector requestedCharacteristicAttributes = null, bool withHistory = false, CancellationToken cancellationToken = default)
        {
            var parameter = RestClientHelper.ParseToParameter(requestedCharacteristicAttributes: requestedCharacteristicAttributes, withHistory: withHistory);

            return(await _RestClient.Request <InspectionPlanCharacteristicDto>(RequestBuilder.CreateGet($"characteristics/{charUuid}", parameter.ToArray()), cancellationToken).ConfigureAwait(false));
        }
Exemplo n.º 38
0
 private IRestRequest BuildGetMaxSwitchRequest() => RequestBuilder.BuildRestRequest(SwitchCommand.MaxSwitch, Method.GET, GetClientTransactionId());
Exemplo n.º 39
0
 public void GivenWithPath_WhenPathProvidedIsNull_ThenExceptionIsThrown()
 {
     Assert.Throws <ArgumentNullException>(() => { RequestBuilder.Request().WithPath(null); });
 }
        public void ReturnBuilderOnWhereTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Where(g => g.Name == "Foo"));
        }
 public IRevokeTokenClient CreateClient(RequestBuilder builder)
 {
     return(new RevokeTokenClient(builder, _revokeTokenOperation, _getDiscoveryOperation));
 }
        public void ReturnRequestOnBuildTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <ApicalipseRequest>(builder.Build());
        }
Exemplo n.º 43
0
        /// <inheritdoc />
        public async Task <IEnumerable <InspectionPlanCharacteristicDto> > GetCharacteristicsByUuids(Guid[] charUuids, AttributeSelector requestedCharacteristicAttributes = null, bool withHistory = false, CancellationToken cancellationToken = default)
        {
            if (charUuids == null || charUuids.Length == 0)
            {
                return(new InspectionPlanCharacteristicDto[0]);
            }

            var result = new List <InspectionPlanCharacteristicDto>(charUuids.Length);

            var featureMatrix = await GetFeatureMatrixInternal(FetchBehavior.FetchIfNotCached, cancellationToken).ConfigureAwait(false);

            if (!featureMatrix.SupportsCharacteristicUuidRestrictionForCharacteristicFetch)
            {
                foreach (var uuid in charUuids)
                {
                    var inspectionPlanCharacteristic = await GetCharacteristicByUuid(uuid, requestedCharacteristicAttributes, withHistory, cancellationToken).ConfigureAwait(false);

                    if (inspectionPlanCharacteristic != null)
                    {
                        result.Add(inspectionPlanCharacteristic);
                    }
                }
            }
            else
            {
                const string requestPath = "characteristics";
                var          targetSize  = RestClientHelper.GetUriTargetSize(ServiceLocation, requestPath, MaxUriLength, ParameterDefinition.Create("charUuids", "{}"));

                foreach (var uuidList in ArrayHelper.Split(charUuids, targetSize, RestClientHelper.LengthOfListElementInUri))
                {
                    var parameter       = RestClientHelper.ParseToParameter(null, null, uuidList, null, null, requestedCharacteristicAttributes, withHistory);
                    var characteristics = await _RestClient.Request <InspectionPlanCharacteristicDto[]>(RequestBuilder.CreateGet("characteristics", parameter.ToArray()), cancellationToken).ConfigureAwait(false);

                    result.AddRange(characteristics);
                }
            }

            return(result);
        }
Exemplo n.º 44
0
        public void Generate_GatewayRespectsMakeDefault()
        {
            BraintreeGateway gateway = new BraintreeGateway
            {
                Environment = Environment.DEVELOPMENT,
                MerchantId  = "integration_merchant_id",
                PublicKey   = "integration_public_key",
                PrivateKey  = "integration_private_key"
            };
            Result <Customer> result = gateway.Customer.Create(new CustomerRequest());

            Assert.IsTrue(result.IsSuccess());
            string customerId = result.Target.Id;

            var request = new CreditCardRequest
            {
                CustomerId     = customerId,
                Number         = "5105105105105100",
                ExpirationDate = "05/2099"
            };
            Result <CreditCard> creditCardResult = gateway.CreditCard.Create(request);

            Assert.IsTrue(creditCardResult.IsSuccess());

            var clientToken = TestHelper.GenerateDecodedClientToken(gateway,
                                                                    new ClientTokenRequest
            {
                CustomerId = customerId,
                Options    = new ClientTokenOptionsRequest
                {
                    MakeDefault = true
                }
            }
                                                                    );
            var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken);

            RequestBuilder builder = new RequestBuilder("");

            builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint).
            AddTopLevelElement("shared_customer_identifier_type", "testing").
            AddTopLevelElement("shared_customer_identifier", "test-identifier").
            AddTopLevelElement("credit_card[number]", "4111111111111111").
            AddTopLevelElement("credit_card[expiration_month]", "11").
            AddTopLevelElement("credit_card[expiration_year]", "2099");

            HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString());

            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            response.Close();

            Customer customer = gateway.Customer.Find(customerId);

            Assert.AreEqual(2, customer.CreditCards.Length);
            foreach (CreditCard creditCard in customer.CreditCards)
            {
                if (creditCard.LastFour == "1111")
                {
                    Assert.IsTrue(creditCard.IsDefault.Value);
                }
            }
        }
Exemplo n.º 45
0
        /// <inheritdoc />
        public async Task <IEnumerable <InspectionPlanCharacteristicDto> > GetCharacteristics(PathInformationDto partPath = null, ushort?depth = null, AttributeSelector requestedCharacteristicAttributes = null, bool withHistory = false, CancellationToken cancellationToken = default)
        {
            var parameter = RestClientHelper.ParseToParameter(partPath, null, null, depth, null, requestedCharacteristicAttributes, withHistory);

            return(await _RestClient.Request <InspectionPlanCharacteristicDto[]>(RequestBuilder.CreateGet("characteristics", parameter.ToArray()), cancellationToken).ConfigureAwait(false));
        }
        /// <summary>
        /// Gets the items from the current folder.
        /// </summary>
        /// <param name="top">The number of items to return in a result set.</param>
        /// <param name="orderBy">Sort the order of items in the response collection</param>
        /// <param name="filter">Filters the response based on a set of criteria.</param>
        /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param>
        /// <returns>When this method completes successfully, it returns a list of the subfolders and files in the current folder.</returns>
        public async Task <OneDriveStorageItemsCollection> GetItemsAsync(int top, OrderBy orderBy = OrderBy.None, string filter = null, CancellationToken cancellationToken = default(CancellationToken))
        {
            IItemChildrenCollectionRequest oneDriveItemsRequest = RequestBuilder.CreateChildrenRequest(top, orderBy, filter);

            return(await RequestOneDriveItemsAsync(oneDriveItemsRequest, cancellationToken).ConfigureAwait(false));
        }
Exemplo n.º 47
0
 /// <inheritdoc />
 public Task <CatalogDto[]> GetAllCatalogs(CancellationToken cancellationToken = default)
 {
     return(_RestClient.Request <CatalogDto[]>(RequestBuilder.CreateGet("catalogs"), cancellationToken));
 }
 /// <summary>
 /// Requests from OneDrive the file or folder with the specified name from the current folder.
 /// </summary>
 /// <param name="path">The name (or path relative to the current folder) of the file or folder to get.</param>
 /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param>
 /// <returns>When this method completes successfully, it returns a DriveItem that represents the specified file or folder.</returns>
 private async Task <Item> RequestChildrenAsync(string path, CancellationToken cancellationToken)
 {
     return(await RequestBuilder.ItemWithPath(path).Request().GetAsync(cancellationToken).ConfigureAwait(false));
 }
Exemplo n.º 49
0
 /// <inheritdoc />
 public Task <ConfigurationDto> GetConfiguration(CancellationToken cancellationToken = default)
 {
     return(_RestClient.Request <ConfigurationDto>(RequestBuilder.CreateGet("configuration"), cancellationToken));
 }
Exemplo n.º 50
0
 /// <summary>
 /// Retrieves a thumbnail set for the file
 /// </summary>
 /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param>
 /// <returns>When this method completes, return a thumbnail set, or null if no thumbnail are available</returns>
 public async Task <OneDriveThumbnailSet> GetThumbnailSetAsync(CancellationToken cancellationToken = default(CancellationToken))
 {
     return(await RequestBuilder.GetThumbnailSetAsync(cancellationToken));
 }
        public void ReturnBuilderOnTakeTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Take(20));
        }
Exemplo n.º 52
0
 public static RequestBuilder WithCookie(this RequestBuilder request, Cookie cookie)
 {
     return(WithCookie(request, cookie.Name, cookie.Value));
 }
        public void ReturnBuilderOnOrderByDescendingTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.OrderByDescending(g => g.Name));
        }
        public void ReturnBuilderOnSkipTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Skip(0));
        }
        public void ReturnBuilderOnSelectTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Select <GameName>());
        }
        public void ReturnBuilderOnSearchTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Search("Foo"));
        }
Exemplo n.º 57
0
        public void Generate_GatewayRespectsMakeDefault()
        {
            var gateway = new BraintreeGateway();
            Result<Customer> result = gateway.Customer.Create(new CustomerRequest());
            Assert.IsTrue(result.IsSuccess());
            string customerId = result.Target.Id;

            var request = new CreditCardRequest
            {
                CustomerId = customerId,
                Number = "5555555555554444",
                ExpirationDate = "05/2099"
            };
            Result<CreditCard> creditCardResult = gateway.CreditCard.Create(request);
            Assert.IsTrue(creditCardResult.IsSuccess());

            var clientToken = TestHelper.GenerateDecodedClientToken(gateway,
                new ClientTokenRequest
                {
                    CustomerId = customerId,
                    Options = new ClientTokenOptionsRequest
                    {
                        MakeDefault = true
                    }
                }
            );
            var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken);

            var builder = new RequestBuilder("");
            builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint).
                AddTopLevelElement("shared_customer_identifier_type", "testing").
                AddTopLevelElement("shared_customer_identifier", "test-identifier").
                AddTopLevelElement("credit_card[number]", "4111111111111111").
                AddTopLevelElement("credit_card[expiration_month]", "11").
                AddTopLevelElement("credit_card[expiration_year]", "2099");

            HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString());
            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
            response.Close();

            Customer customer = gateway.Customer.Find(customerId);
            Assert.AreEqual(2, customer.CreditCards.Length);
            foreach (CreditCard creditCard in customer.CreditCards)
            {
                if (creditCard.LastFour == "1111") {
                    Assert.IsTrue(creditCard.IsDefault.Value);
                }
            }
        }
Exemplo n.º 58
0
        public void Generate_GatewayRespectsVerifyCard()
        {
            var gateway = new BraintreeGateway();
            Result<Customer> result = gateway.Customer.Create(new CustomerRequest());
            Assert.IsTrue(result.IsSuccess());

            string customerId = result.Target.Id;
            var clientToken = TestHelper.GenerateDecodedClientToken(gateway,
                new ClientTokenRequest
                {
                    CustomerId = customerId,
                    Options = new ClientTokenOptionsRequest
                    {
                        VerifyCard = true
                    }
                }
            );
            var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken);

            var builder = new RequestBuilder("");
            builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint).
                AddTopLevelElement("shared_customer_identifier_type", "testing").
                AddTopLevelElement("shared_customer_identifier", "test-identifier").
                AddTopLevelElement("credit_card[number]", "4000111111111115").
                AddTopLevelElement("credit_card[expiration_month]", "11").
                AddTopLevelElement("credit_card[expiration_year]", "2099");

            HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString());
            Assert.AreEqual(422, (int)response.StatusCode);
            response.Close();

            Customer customer = gateway.Customer.Find(customerId);
            Assert.AreEqual(0, customer.CreditCards.Length);
        }
        public void ReturnBuilderOnExcludeTest()
        {
            var builder = new RequestBuilder <Game>();

            Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Exclude(g => g.Name));
        }
Exemplo n.º 60
-1
        public override void Start()
        {
            // LOGIN 
            
            RequestBuilder doLogin = new RequestBuilder("forum.tirkx.com/main/login.php?do=login");
            doLogin.By = RequestBuilder.Method.POST;
            doLogin.CacheControl = "max-age=0";
            doLogin.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
            doLogin.Origin = "http://forum.tirkx.com";
            doLogin.ContentType = "application/x-www-form-urlencoded";
            doLogin.Referer = "http://forum.tirkx.com/main/forum.php";

            doLogin.AddBody("vb_login_username", Username);
            doLogin.AddBody("vb_login_password", "");
            doLogin.AddBody("vb_login_password_hint", "Password");
            doLogin.AddBody("cookieuser", "1");
            doLogin.AddBody("s", "");
            doLogin.AddBody("securitytoken", "guest");
            doLogin.AddBody("do", "login");
            doLogin.AddBody("vb_login_md5password", Password);
            doLogin.AddBody("vb_login_md5password_utf", Password);

            Trikx = new XHR();
            //Trikx.AsyncSend(doLogin, true);

            //Trikx.AsyncReceive();
            //Trikx.WaitResponse();

            doLogin.Clear();

            base.Start();
        }