public async Task <long> AddDeck(string userId, Data.Deck deck, long lastModificationTimestamp) { RepeatedField <CardCollection> cards = new RepeatedField <CardCollection>(); for (int i = 0; i < deck.Cards.Count; i++) { CardCollection cardInCollection = new CardCollection { CardName = deck.Cards[i].CardName, Amount = deck.Cards[i].Amount }; Debug.Log("Card in collection = " + cardInCollection.CardName + " , " + cardInCollection.Amount); cards.Add(cardInCollection); } CreateDeckRequest request = new CreateDeckRequest { UserId = userId, Deck = new Deck { Name = deck.Name, HeroId = deck.HeroId, Cards = { cards } }, LastModificationTimestamp = lastModificationTimestamp }; CreateDeckResponse createDeckResponse = await Contract.CallAsync <CreateDeckResponse>(AddDeckMethod, request); return(createDeckResponse.DeckId); }
public async Task CreateDeck() { CreateDeckResponse Response = await JSRuntime.InvokeAsync <CreateDeckResponse>("CreateDeck", DeckName); if (Response.Success) { await JSRuntime.InvokeVoidAsync("Alert", "success", "Deck Created", DeckName + " has been created."); NavigationManager.NavigateTo("/decks/edit/" + Response.UID); } else { await JSRuntime.InvokeVoidAsync("Alert", "error", "Error", Response.Error); } }
public async Task <CreateDeckResponse> CreateDeck(string deckName) { var response = new CreateDeckResponse(); try { var result = await _baseUrl.AppendPathSegment("/decks") .WithOAuthBearerToken(_token) .PostJsonAsync(new { Name = deckName }); response.isSuccess = result.IsSuccessStatusCode; } catch (FlurlHttpException e) { response.Errors = await e.GetResponseJsonAsync <Errors>(); } return(response); }