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