public void SetCard(int id, int id2, int id3)
        {
            var list = ListDataMapper.GetListDataMapper().GetById(id);
            var card = CardDataMapper.GetCardDataMapper().GetById(id2);

            card.List = list;
            card.Idx  = id3;
        }
 public ActionResult CreateCard(CardsModel c, int id)
 {
     c.List = ListDataMapper.GetListDataMapper().GetById(id);
     if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanWriteBoard(c.List.Board.Id))
     {
         return(RedirectToAction("Index", "Boards"));
     }
     CardDataMapper.GetCardDataMapper().Add(c);
     return(Redirect(String.Format("~/Lists/GetCards/{0}", id)));
 }
示例#3
0
        public ActionResult Edit(int id)
        {
            var card = CardDataMapper.GetCardDataMapper().GetById(id);

            if (card == null)
            {
                return(RedirectToAction("Http404", "Errors"));
            }
            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanWriteBoard(card.List.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }
            return(View(card));
        }
示例#4
0
        public ActionResult Archive(CardsModel cardsModel)
        {
            var card = CardDataMapper.GetCardDataMapper().GetById(cardsModel.Id);

            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanWriteBoard(card.List.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }
            var listId  = card.List.Id;
            int cardIdx = card.Idx;

            RefreshIdx(CardDataMapper.GetCardDataMapper().GetAllByList(card.List), cardIdx);
            card.List = null;
            return(RedirectToAction("GetCards", "Lists", new { id = listId }));
        }
示例#5
0
        public ActionResult Edit(CardsModel cardsModel)
        {
            var card = CardDataMapper.GetCardDataMapper().GetById(cardsModel.Id);

            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanWriteBoard(card.List.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }
            card.Name = cardsModel.Name;
            if (card.List != null)
            {
                return(RedirectToAction("GetCards", "Lists", new { id = card.List.Id }));
            }
            return(RedirectToAction("GetCard", new { card.Id }));
        }
        public ActionResult GetCardsByAjaxRequest(int id)
        {
            var list = ListDataMapper.GetListDataMapper().GetById(id);

            if (list == null)
            {
                return(RedirectToAction("Http404", "Errors"));
            }
            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanReadBoard(list.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }
            var cm = CardDataMapper.GetCardDataMapper().GetAllByList(list);

            return(PartialView(cm));
        }
        //
        // GET: /Home/
        public ActionResult Search(String id)
        {
            int counter = 5;
            var result  = new List <KeyValuePair <String, String> >();

            BoardDataMapper b = BoardDataMapper.GetBoardDataMapper();

            //Guarda os boards do user e procura boards cujo nome contenha id
            IEnumerable <BoardsModel> boards = b.GetBoardsFrom(AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name));

            GetResultsByName(boards, "/Boards/GetLists/", "[Board]", result, counter, id);

            //No caso de ainda poderem ser adicionados resultados adiciona lists
            if (counter > 0)
            {
                //Procura listas
                var            allLists = new List <ListsModel>();
                ListDataMapper l        = ListDataMapper.GetListDataMapper();
                foreach (BoardsModel bm in boards)
                {
                    IEnumerable <ListsModel> lists = l.GetAllByBoard(bm);
                    allLists.AddRange(lists);
                    GetResultsByName(lists, "/Lists/GetCards/", "[List]", result, counter, id);
                }

                //Se ainda poderem ser adicionados resultados adiciona cards
                if (counter > 0)
                {
                    var            allCards = new List <CardsModel>();
                    CardDataMapper c        = CardDataMapper.GetCardDataMapper();
                    foreach (ListsModel lm in allLists)
                    {
                        IEnumerable <CardsModel> cards = c.GetAllByList(lm);
                        allCards.AddRange(cards);
                        GetResultsByName(cards, "/Cards/GetCard/", "[Card]", result, counter, id);
                    }

                    //Se ainda poderem ser adicionados resultados adiciona cards pela descrição
                    if (counter > 0)
                    {
                        GetResultsByDescription(allCards, "/Cards/GetCard/", "[Card]", result, counter, id);
                    }
                }
            }
            return(PartialView("Search", result));
        }
        public ActionResult RemoveList(int id)
        {
            var list = ListDataMapper.GetListDataMapper().GetById(id);

            if (list == null)
            {
                return(RedirectToAction("Http404", "Errors"));
            }
            if (CardDataMapper.GetCardDataMapper().GetAllByList(list).Count() != 0)
            {
                return(RedirectToAction("GetCards", new { id }));
            }
            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanWriteBoard(list.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }
            return(View(list));
        }
示例#9
0
        public ActionResult MoveCardInList(CardsModel cardsModel)
        {
            var card   = CardDataMapper.GetCardDataMapper().GetById(cardsModel.Id);
            int oldIdx = card.Idx;
            int newIdx = cardsModel.Idx;
            IEnumerable <CardsModel> cardsEnum = CardDataMapper.GetCardDataMapper().GetAllByList(card.List);
            int nCards = cardsEnum.Count();

            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanWriteBoard(card.List.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }

            if (nCards < newIdx)
            {
                newIdx = nCards;
            }

            if (oldIdx < newIdx)
            {
                foreach (var c in cardsEnum)
                {
                    if (c.Idx > oldIdx && c.Idx <= newIdx)
                    {
                        --c.Idx;
                    }
                }
            }
            else if (newIdx < oldIdx)
            {
                foreach (var c in cardsEnum)
                {
                    if (c.Idx < oldIdx && c.Idx >= newIdx)
                    {
                        ++c.Idx;
                    }
                }
            }
            card.Idx = newIdx;

            return(RedirectToAction("GetCards", "Lists", new { id = card.List.Id }));
        }
        public ActionResult GetCards(int id)
        {
            var list = ListDataMapper.GetListDataMapper().GetById(id);

            if (list == null)
            {
                return(RedirectToAction("Http404", "Errors"));
            }
            if (!AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name).CanReadBoard(list.Board.Id))
            {
                return(RedirectToAction("Index", "Boards"));
            }
            var cm = CardDataMapper.GetCardDataMapper().GetAllByList(list);

            if (cm.Count() != 0)
            {
                return(View(cm));
            }
            return(View("Empty", list));
        }
示例#11
0
        public ActionResult MoveCardToList(MoveToListModel move)
        {
            var newList = ListDataMapper.GetListDataMapper().GetById(move.ListId);

            if (newList == null)
            {
                ModelState.AddModelError("ListId", "Essa lista nao existe!");
                return(View(move));
            }
            var cm        = CardDataMapper.GetCardDataMapper();
            var card      = cm.GetById(move.CardId);
            var cardsList = cm.GetAllByList(newList);

            if (card.List != null)
            {
                RefreshIdx(cm.GetAllByList(newList), card.Idx);
            }
            card.List = newList;
            card.Idx  = cardsList.Count();
            return(RedirectToAction("GetCards", "Lists", new { id = move.ListId }));
        }