public async Task <PaginatedList <Card> > GetAsync(CardQuery cardQuery)
        {
            var query = Context.Cards
                        .Include(g => g.Club)
                        .Include(g => g.Player)
                        .AsQueryable();

            if (cardQuery.MatchId.HasValue)
            {
                query = query.Where(g => g.MatchId == cardQuery.MatchId);
            }

            var columnsMap = new Dictionary <string, Expression <Func <Card, object> > >()
            {
                ["id"]       = c => c.Id,
                ["club"]     = c => c.Club.Name,
                ["player"]   = c => c.Player.Name,
                ["cardType"] = c => c.CardType,
                ["cardTime"] = c => c.CardTime,
            };

            query = query.Sort(cardQuery, columnsMap);

            return(await PaginatedList <Card> .CreateAsync(query, cardQuery.PageNumber, cardQuery.PageSize));
        }
        private void Statement()
        {
            if (stackMain.Children.Count > 2)
            {
                //stackMain.Children.RemoveRange(1, stackMain.Children.Count - 1);
                stackMain.Children.RemoveAt(2);
            }

            if (header == StatementType.None)
            {
                return;
            }

            cardQuery = new CardQuery();

            cardQuery.Header = header;
            cardQuery.Month  = (Months)Enum.Parse(typeof(Months), cmbMonths.SelectedValue.ToString());
            cardQuery.Year   = 2019;

            statement = new ucStatement(cardQuery);

            stackMain.Children.Add(statement);

            Grid.SetRow(statement, 1);
        }
Example #3
0
        public async Task <IActionResult> GetCards(int matchId, [FromQuery] CardQuery cardQuery)
        {
            cardQuery.MatchId = matchId;

            var cards = await _cardService.GetAsync(cardQuery);

            var returnCards = _mapper.Map <PaginatedList <CardListDto> >(cards);

            return(Ok(returnCards));
        }
        public ucStatement(CardQuery cardQuery)
        {
            _cardVM    = new CardViewModel();
            _cardQuery = cardQuery;

            _cardVM.LoadCard(_cardQuery);

            DataContext = _cardVM;

            InitializeComponent();
        }
Example #5
0
 private async void SearchBarText_OnTextChanged(string newText)
 {
     if (CardQuery.TryParse(newText, out var query))
     {
         await _dataContext().ApplyFilter(query?.ToQuery());
     }
     else
     {
         await _dataContext().ApplyFilter((card) => (card.Name.EN ?? "").Contains(newText) || (card.Name.JP ?? "").Contains(newText) || card.Serial.Contains(newText));
     }
 }
Example #6
0
 public IList <UserCardModel> GetUserCards(CardQuery query)
 {
     EnsureIsValid(query);
     try
     {
         var dbQuery    = query.ToDbQuery <UserCardModel>();
         var ownedCards = _deps.UserCards.ProjectThenQuery <UserCardModel>(dbQuery);
         return(ownedCards);
     }
     catch (Exception ex)
     {
         throw new ServiceException("Cannot get cards for account.", ex);
     }
 }
        private static string GenerateQueryString(CardQuery query)
        {
            string queryText = baseURL + string.Format(nameSearchEndpoint, query.cardName);

            // Do we have any colors?
            string colorQuery = "";

            if (query.isWhite)
            {
                colorQuery += "white,";
            }
            if (query.isBlue)
            {
                colorQuery += "blue,";
            }
            if (query.isBlack)
            {
                colorQuery += "black,";
            }
            if (query.isRed)
            {
                colorQuery += "red,";
            }
            if (query.isGreen)
            {
                colorQuery += "green,";
            }

            if (!string.IsNullOrWhiteSpace(colorQuery))
            {
                colorQuery.TrimEnd(',');
                queryText += string.Format(colorSearchEndpoint, colorQuery);
            }

            if (!string.IsNullOrWhiteSpace(query.cmc))
            {
                queryText += string.Format(cmcSearchEndpoint, query.cmc);
            }

            if (!string.IsNullOrWhiteSpace(query.cardType))
            {
                queryText += string.Format(typeSearchEndpoint, query.cardType);
            }

            return(queryText);
        }
        public static async Task <CardList> GetCards(CardQuery query)
        {
            CardList cards = new CardList();

            string url = GenerateQueryString(query);

            using (HttpClient client = new HttpClient())
            {
                var response = await client.GetAsync(url);

                string json = await response.Content.ReadAsStringAsync();

                cards = JsonConvert.DeserializeObject <CardList>(json);
            }

            return(cards);
        }
Example #9
0
        public async Task CardStateUpdates()
        {
            user = Auth.CurrentUser = await GetUser("*****@*****.**", Privilege.Admin);

            BoardExtensions.Board = await BoardExtensions.BoardLookup(services, "benefact");

            Auth.CurrentRole = user.Roles.FirstOrDefault(r => r.BoardId == BoardExtensions.Board?.Id);
            var query = new CardQuery()
            {
                Groups = new Dictionary <string, List <CardQueryTerm> >()
                {
                    { "Done", new List <CardQueryTerm>()
                      {
                          new CardQueryTerm()
                          {
                              State = CardState.InProgress
                          }
                      } }
                }
            };
            var boards   = new BoardsInterface(services);
            var response = await boards.Get(query);

            var cards      = response.Cards.First().Value;
            var doneColumn = response.Columns.First(c => c.State == CardState.Complete);

            Assert.IsTrue(cards.Any());
            var rpc = new CardsInterface(services);
            await rpc.Update(new CardData()
            {
                ColumnId = doneColumn.Id,
                Id       = cards.First().Id,
            });

            var response2 = await boards.Get(query);

            Assert.IsTrue(response2.Cards.Values.First().Count < cards.Count);
        }
Example #10
0
 public CardsController()
 {
     q = new CardQuery();
 }
 public async Task <PaginatedList <Card> > GetAsync(CardQuery cardQuery)
 {
     return(await _cardRepository.GetAsync(cardQuery));
 }