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); } }
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); }