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)); }
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 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 } ); }
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}); }