private GroupDetails GetGroupDetails(Card card, CardMember cardMember) { List <string> key = new List <string>(); List <string> title = new List <string>(); if (GroupByMember) { key.Add(cardMember != null ? cardMember.FullName : "Unassigned"); title.Add(cardMember != null ? cardMember.FullName : "Unassigned"); } if (GroupByPriority) { Priority priority = TrelloUtility.GetPriority(card); key.Add(((int)priority).ToString()); title.Add(priority.ToString()); } if (GroupByList) { key.Add(string.Format("{0:#.###}", TrelloUtility.GetListPosition(card, m_lists)).PadLeft(10, '0')); title.Add(TrelloUtility.GetListName(card, m_lists)); } return(new GroupDetails { Key = string.Join("|", key), Title = string.Join(" | ", title) }); }
public void Refresh() { m_allCards = TrelloUtility.GetAllTrelloCards(); m_lists = TrelloUtility.GetTrelloLists(); m_members = TrelloUtility.GetTrelloMembers(); FilterCards(); }
private CardViewModel Map(Card card, CardMember member) { GroupDetails groupDetails = GetGroupDetails(card, member); string assignedTo = TrelloUtility.GetAssignedTo(card, m_members); return(new CardViewModel( groupKey: groupDetails.Key, groupTitle: groupDetails.Title, title: card.Name, description: card.Description, list: TrelloUtility.GetListName(card, m_lists), assignedTo: assignedTo, assignedToMe: assignedTo != null && m_trelloFullName != null && assignedTo.Contains(m_trelloFullName), url: card.ShortUrl, creationDate: TrelloUtility.GetDateCreated(card), priority: TrelloUtility.GetPriority(card))); }
private IEnumerable <CardViewModel> GetCards() { List <Card> cards = m_allCards.Where(FilterCard).ToList(); List <CardViewModel> cardViews = new List <CardViewModel>(); if (!GroupByMember) { cardViews.AddRange(cards.Select(x => Map(x, null))); } else { foreach (CardMember member in m_members.Where(FilterMember)) { cardViews.AddRange(cards.Where(x => TrelloUtility.IsAssignedTo(x, member)).Select(x => Map(x, member))); } } return(cardViews); }
private bool FilterCard(Card card) { return(( m_listFilters.All(x => !x.IsSelected) || m_listFilters.Any(x => x.IsSelected && x.FilterId == card.ListId) ) && ( m_memberFilters.All(x => !x.IsSelected) || m_memberFilters.Any(x => x.IsSelected && ( (x.FilterId != "" && card.MemberIds.Contains(x.FilterId)) || (x.FilterId == "" && (card.MemberIds == null || card.MemberIds.Length == 0)))) ) && ( m_priorityFilters.All(x => !x.IsSelected) || m_priorityFilters.Any(x => x.IsSelected && x.FilterId == ((int)TrelloUtility.GetPriority(card)).ToString()) ) && ( m_statusFilters.All(x => !x.IsSelected) || m_statusFilters.Any(x => x.IsSelected && ( (x.FilterId == "open" && !card.IsClosed) || (x.FilterId == "closed" && card.IsClosed))) )); }