Exemple #1
0
        public bool MoveCard(MoveCardDto moveCardDto)
        {
            var card = _cards.FirstOrDefault(car => car.Id == moveCardDto.CardId && car.OrderNo == moveCardDto.PreviousOrderNo);

            if (card == null)
            {
                return(false);
            }

            if (card.ColumnId == moveCardDto.TargetColumnId)
            {
                return(ChangeOrder(card, moveCardDto));
            }

            _cards.Where(car => car.ColumnId == moveCardDto.TargetColumnId &&
                         car.OrderNo >= moveCardDto.NewOrderNo &&
                         car.Id != card.Id)
            .ToList().ForEach(car => { car.OrderNo++; });

            _cards.Where(car => car.ColumnId == card.ColumnId &&
                         car.OrderNo >= moveCardDto.PreviousOrderNo)
            .ToList().ForEach(car => { car.OrderNo--; });

            card.OrderNo  = moveCardDto.NewOrderNo;
            card.ColumnId = moveCardDto.TargetColumnId;

            return(true);
        }
 public bool MoveCards([FromBody] MoveCardDto moveCardDto)
 {
     return(Data.Instance.MoveCard(moveCardDto));
 }