示例#1
0
        public async Task <Pack> ClonePack(string id, string name)
        {
            var res = await Program.ApiUrl
                      .AppendPathSegments("pack", "clone")
                      .WithOAuthBearerToken(AccessToken)
                      .PostJsonAsync(new
            {
                srcId  = id,
                userId = Id
            });

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

                await pack.RenamePack(name);

                Packs.Add(pack);
                return(pack);
            }
            else
            {
                return(null);
            }
        }
示例#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);
        }