示例#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.");
            }
        }
示例#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);
                }
            }
        }
示例#3
0
        private void UpdateCardListAction(object obj)
        {
            BasicCardListDTO newList = (BasicCardListDTO)obj;

            if (newList != null && newList.ListId == cardList.ListId)
            {
                ReadCardList.UpdateCardList(CardList, newList);
            }
        }
示例#4
0
 public void OnSelectedCard(ReadCardList cardList)
 {
     foreach (CardListViewModel vm in CardListViewModels)
     {
         if (vm.CardList.ListId != cardList.ListId)
         {
             vm.SelectedCard = null;
         }
     }
 }
        private void ListBox_Drop(object sender, DragEventArgs e)
        {
            if (!e.Data.GetDataPresent(typeof(MoveCard)))
            {
                return;
            }

            MoveCard     moveCard = e.Data.GetData(typeof(MoveCard)) as MoveCard;
            ReadCardList cardList = ((CardListViewModel)DataContext).CardList;

            moveCard.NewListId = cardList.ListId;

            ((CardListViewModel)DataContext).OnMoveCard(moveCard);
        }
示例#6
0
        public CardListViewModel(ReadCardList list, Action <ReadCardList> onDeleteCardList, IPanelContainer container, Action <MoveCard> onMoveCard, Action <ReadCardList> onSelectedCard)
            : base(container)
        {
            //Data
            this.CardList = list;

            //Commands
            AddCardCommand        = new CommandBase(OnAddCardClick);
            DeleteCardListCommand = new CommandBase <ReadCardList>(OnDeleteCardList);
            DeleteCardListAction  = onDeleteCardList;
            RenameCardListCommand = new CommandBase <ReadCardList>(OnRenameCardList);
            DeleteCardCommand     = new CommandBase <ReadCard>(OnDeleteCard);
            OnMoveCardAction      = onMoveCard;
            OnCardSelectedAction  = onSelectedCard;

            InitActions();
            Subscribe();
        }
示例#7
0
        public async void OnRenameCardListSubmit(IEditable model)
        {
            if (model != null && ActiveUser.IsActive == true && CardList != null)
            {
                EditCardList editList = model as EditCardList;
                bool         succ     = await CardListService.UpdateCardList(ActiveUser.Instance.LoggedUser.Token, editList.ListId, new UpdateCardListDTO(editList));

                if (succ == true)
                {
                    ReadCardList.UpdateCardList(cardList, editList);
                    DestroyPanel();
                }
                else
                {
                    ShowMessageBox(null, "Error renaming card list.");
                }
            }
            else
            {
                ShowMessageBox(null, "Error getting user.");
            }
        }
示例#8
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.");
            }
        }
        private void listbox_MouseMove(object sender, MouseEventArgs e)
        {
            base.OnMouseMove(e);
            if (e.LeftButton == MouseButtonState.Pressed && ((CardListViewModel)DataContext).SelectedCard != null)
            {
                if (DataContext is CardListViewModel)
                {
                    CardListViewModel cardListVM = DataContext as CardListViewModel;
                    ReadCardList      cardList   = cardListVM.CardList;
                    ReadCard          card       = cardListVM.SelectedCard;

                    MoveCard moveCard = new MoveCard()
                    {
                        CardId = card.CardId, OldListId = cardList.ListId, NewListId = cardList.ListId
                    };

                    DataObject data = new DataObject();
                    data.SetData(typeof(MoveCard), moveCard);

                    DragDrop.DoDragDrop(this, data, DragDropEffects.Move);
                    cardListVM.OnMoveCardDrag(card.CardId);
                }
            }
        }
示例#10
0
        public void OnRenameCardList(ReadCardList cardList)
        {
            var panel = new EditCardListViewModel(OnRenameCardListSubmit, new EditCardList(cardList));

            InstantiatePanel(panel);
        }
示例#11
0
 public void OnDeleteCardList(ReadCardList card)
 {
     DeleteCardListAction?.Invoke(card);
 }