Beispiel #1
0
        public async void OnNewListClick()
        {
            if (ActiveUser.IsActive == true)
            {
                CreateCardListDTO createCardListDTO = new CreateCardListDTO()
                {
                    BoardId = parentBoardId, Color = "white", Name = "Untitled list"
                };
                BasicCardListDTO basicCardListDTO = await CardListService.CreateCardList(ActiveUser.Instance.LoggedUser.Token, createCardListDTO);

                if (basicCardListDTO != null)
                {
                    var list = new ReadCardList(basicCardListDTO);
                    CardListViewModels.Add(new CardListViewModel(list, OnDeleteCardList, detailsContainer, OnMoveCard, OnSelectedCard));
                }
                else
                {
                    ShowMessageBox(null, "Error creating list.");
                }
            }
            else
            {
                ShowMessageBox(null, "Error getting user.");
            }
        }
Beispiel #2
0
        private void MoveCardAction(object obj)
        {
            BasicCardDTO card    = (BasicCardDTO)obj;
            ReadCard     oldCard = null;
            ReadCardList oldList = null;

            if (card != null)
            {
                foreach (var vm in CardListViewModels)
                {
                    oldCard = vm.CardList.Cards.FirstOrDefault(c => c.CardId == card.CardId);
                    oldList = vm.CardList;

                    if (oldCard != null)
                    {
                        break;
                    }
                }

                oldList.Cards.Remove(oldCard);

                CardListViewModel newList = CardListViewModels.FirstOrDefault(c => c.CardList.ListId == card.ListId);

                if (newList != null)
                {
                    oldCard.ListId = card.ListId;
                    newList.CardList.Cards.Add(oldCard);
                }
            }
        }
Beispiel #3
0
        public async void OnMoveCard(MoveCard moveCard)
        {
            bool result = await CardService.MoveCard(ActiveUser.Instance.LoggedUser.Token, moveCard.CardId, moveCard.NewListId);

            if (!result)
            {
                ShowMessageBox(null, "Error moving card.");
                return;
            }

            CardListViewModel oldListVM = CardListViewModels.FirstOrDefault(listVM => listVM.CardList.ListId == moveCard.OldListId);

            if (oldListVM == null)
            {
                return;
            }

            ReadCard oldCard = oldListVM.CardList.Cards.FirstOrDefault(card => card.CardId == moveCard.CardId);

            if (oldCard == null)
            {
                return;
            }

            oldListVM.CardList.Cards.Remove(oldCard);
            oldCard.ListId = moveCard.NewListId;

            CardListViewModel newListVM = CardListViewModels.FirstOrDefault(listVM => listVM.CardList.ListId == moveCard.NewListId);

            if (newListVM == null)
            {
                return;
            }
            newListVM.CardList.Cards.Add(oldCard);
        }
Beispiel #4
0
        private void CreateCardListAction(object obj)
        {
            BasicCardListDTO cardList = (BasicCardListDTO)obj;

            if (cardList != null)
            {
                CardListViewModels.Add(new CardListViewModel(new ReadCardList(cardList), OnDeleteCardList, detailsContainer, OnMoveCard, OnSelectedCard));
            }
        }
Beispiel #5
0
        private void DeleteCardListAction(object obj)
        {
            int cardListId = (int)obj;

            CardListViewModel vm = CardListViewModels.FirstOrDefault(x => x.CardList.ListId == cardListId);

            if (vm != null)
            {
                CardListViewModels.Remove(vm);
            }
        }
Beispiel #6
0
        public CardListListViewModel(ObservableCollection <ReadCardList> cardLists, int parentBoardId, IPanelContainer detailsContainer)
        {
            this.parentBoardId      = parentBoardId;
            this.CardListViewModels = new ObservableCollection <CardListViewModel>();
            this.detailsContainer   = detailsContainer;

            foreach (ReadCardList cardList in cardLists)
            {
                CardListViewModels.Add(new CardListViewModel(cardList, OnDeleteCardList, detailsContainer, OnMoveCard, OnSelectedCard));
            }

            NewListCommand = new CommandBase(OnNewListClick);

            InitActions();
            Subscribe();
        }
Beispiel #7
0
        public async void OnDeleteCardList(ReadCardList cardList)
        {
            if (ActiveUser.IsActive == true)
            {
                bool succ = await CardListService.DeleteCardList(ActiveUser.Instance.LoggedUser.Token, cardList.ListId);

                if (succ == true)
                {
                    CardListViewModel vm = CardListViewModels.FirstOrDefault(x => x.CardList.ListId == cardList.ListId);
                    CardListViewModels.Remove(vm);
                    vm.DestroyPanel();
                    ShowMessageBox(null, "Card list deleted.");
                }
                else
                {
                    ShowMessageBox(null, "Error deleting card list.");
                }
            }
            else
            {
                ShowMessageBox(null, "Error getting user.");
            }
        }