public async Task <string> GetAccessTokenAsync(string redirectUri, string code) { var requestUri = new StringBuilder(); requestUri.AppendFormat("https://graph.facebook.com/v6.0/oauth/access_token"); requestUri.AppendFormat("?redirect_uri={0}", Uri.EscapeUriString(redirectUri)); requestUri.AppendFormat("&code={0}", Uri.EscapeUriString(code)); requestUri.AppendFormat("&client_id={0}", _configuration.AppId); requestUri.AppendFormat("&client_secret={0}", _configuration.AppSecret); using (var client = new HttpClient()) { using (var response = await client.GetAsync(requestUri.ToString())) { var content = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { throw new FacebookClientException(content, (int)response.StatusCode); } return(_jsonUtil.DeserializeOrCreate <FacebookAccessTokenResponse>(content).AccessToken); } } }
public async Task <MicrosoftGraphAccessTokenResponse> GetAccessTokenAsync(string redirectUri, string code) { var requestArgs = new Dictionary <string, string> { ["redirect_uri"] = redirectUri, ["code"] = code, ["grant_type"] = "authorization_code", ["client_id"] = _configuration.AppId, ["client_secret"] = _configuration.AppSecret }; using (var client = new HttpClient()) { using (var response = await client.PostAsync(TokenApiRequestUri, new FormUrlEncodedContent(requestArgs !))) { var content = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { throw new MicrosoftGraphClientException(content, (int)response.StatusCode); } return(_jsonUtil.DeserializeOrCreate <MicrosoftGraphAccessTokenResponse>(content)); } } }
private void UpdateMonsterDuration(Monster monster, IList <IDurationChange> changes, INotificationSession notificationSession) { var modifiers = _jsonUtil.DeserializeOrCreate <List <ActiveStatsModifier> >(monster.Modifiers); foreach (var change in changes.OfType <ModifierDurationChange>()) { ApplyChangeOnMonsterModifier(monster, modifiers, change, notificationSession); } UpdateItemsDuration(monster.Items, changes.OfType <IITemDurationChange>(), notificationSession); monster.Modifiers = _jsonUtil.Serialize(modifiers); }
private Item GivenAnItem(ItemData itemData) { _jsonUtil.DeserializeOrCreate <ItemData>(SomeItemDataJson) .Returns(itemData); _jsonUtil.SerializeNonNull(itemData) .Returns(SomeUpdatedJsonData); return(new Item { Data = SomeItemDataJson }); }
public void CreateItemFromRequest_ShouldSerializeJsonData_AndSetItemTemplateId() { var itemData = new ItemData(); var jsonItemData = "some-json"; var itemTemplate = CreateItemTemplate(); _jsonUtil.DeserializeOrCreate <PartialItemTemplateData>(Arg.Any <string>()) .Returns(new PartialItemTemplateData()); _jsonUtil.SerializeNonNull(itemData) .Returns(jsonItemData); var actualItem = _factory.CreateItem(ItemOwnerType.Character, 10, itemTemplate, itemData); actualItem.ItemTemplateId.Should().Be(itemTemplate.Id); actualItem.Data.Should().BeEquivalentTo(jsonItemData); }
public void ApplyChangesAndNotify(Group group, PatchGroupConfigRequest request, INotificationSession notificationSession) { var config = _jsonUtil.DeserializeOrCreate <GroupConfig>(group.Config); if (request.AllowPlayersToAddObject.HasValue) { config.AllowPlayersToAddObject = request.AllowPlayersToAddObject.Value; } if (request.AllowPlayersToSeeSkillGmDetails.HasValue) { config.AllowPlayersToSeeSkillGmDetails = request.AllowPlayersToSeeSkillGmDetails.Value; } if (request.AllowPlayersToSeeGemPriceWhenIdentified.HasValue) { config.AllowPlayersToSeeGemPriceWhenIdentified = request.AllowPlayersToSeeGemPriceWhenIdentified.Value; } group.Config = _jsonUtil.SerializeNonNull(config); notificationSession.NotifyGroupChangeConfig(group.Id, config); }
public Item CreateItem(ItemTemplate itemTemplate, ItemData itemData) { var itemTemplateData = _jsonUtil.DeserializeOrCreate <PartialItemTemplateData>(itemTemplate.Data); if (itemTemplateData.Charge.HasValue) { itemData.Charge = itemTemplateData.Charge.Value; } if (itemTemplateData.Lifetime != null) { itemData.Lifetime = itemTemplateData.Lifetime; } if (itemTemplateData.Quantifiable == true && itemData.Quantity == null) { itemData.Quantity = 1; } itemData.Icon ??= itemTemplateData.Icon; if (string.IsNullOrEmpty(itemData.Name)) { if (itemData.NotIdentified == true && !string.IsNullOrEmpty(itemTemplateData.NotIdentifiedName)) { itemData.Name = itemTemplateData.NotIdentifiedName; } else { itemData.Name = itemTemplate.Name; } } var item = new Item { Data = _jsonUtil.SerializeNonNull(itemData), ItemTemplateId = itemTemplate.Id }; return(item); }
public IReadOnlyItemData GetItemData(Item item) { return(_jsonUtil.DeserializeOrCreate <ItemData>(item.Data)); }