Exemplo n.º 1
0
        public async Task <Emoji> CloneEmoji(string source)
        {
            if (Program.TESTING)
            {
                var emote = new Emoji()
                {
                    EmojiId      = Guid.NewGuid().ToString(),
                    EmojiOwnerId = PackOwner,
                    EmojiPackId  = PackId,
                    ClickCount   = 0,
                };
                //await ApiUtils.RefreshEmoji(emote);
                Emojis.Add(emote);
                return(emote);
            }

            var res = await Program.ApiUrl
                      .AppendPathSegments("emoji", "clone")
                      .WithOAuthBearerToken(AuthService.User.AccessToken)
                      .PostJsonAsync(new
            {
                srcId      = source,
                destPackId = PackId
            });

            if (res.ResponseMessage.IsSuccessStatusCode)
            {
                var val = await res.GetJsonAsync();

                var emote = new Emoji()
                {
                    EmojiId      = val.id,
                    EmojiOwnerId = PackOwner,
                    EmojiPackId  = PackId
                };
                await ApiUtils.RefreshEmoji(emote);

                Emojis.Add(emote);
                return(emote);
            }
            return(null);
        }
Exemplo n.º 2
0
        public async Task <Pack> CreatePack(string name)
        {
            if (Program.TESTING)
            {
                var cpack = new Pack()
                {
                    PackId    = Guid.NewGuid().ToString(),
                    PackName  = name,
                    Emojis    = new List <Emoji>(),
                    PackCount = 0,
                    PackOwner = Id
                };
                //await ApiUtils.RefreshPack(cpack);
                Packs.Add(cpack);
                return(cpack);
            }


            Debug.Assert(!string.IsNullOrEmpty(name));
            var res = await Program.ApiUrl
                      .AppendPathSegments("pack", "create")
                      .WithOAuthBearerToken(AccessToken)
                      .PostJsonAsync(new
            {
                name,
                Id
            })
                      .ReceiveJson();

            var pack = new Pack()
            {
                PackId    = res.id,
                PackOwner = Id
            };
            await ApiUtils.RefreshPack(pack);

            Packs.Add(pack);
            return(pack);
        }