示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }