private BoardEditedEvent CreateBoardEditedEvent(BoardHistoryEvent boardEvent) { return new BoardEditedEvent(boardEvent.EventDateTime, boardEvent.Message); }
private CardMoveEvent CreateCardMoveEvent(BoardHistoryEvent boardEvent, IEnumerable<Lane> affectedLanes) { try { // Is the card being moved in or to a taskboard? if (!_board.AllLanes().ContainsLane(boardEvent.ToLaneId) && !_includeTaskboards) return null; var fromLaneId = boardEvent.FromLaneId.GetValueOrDefault(); var toLaneId = boardEvent.ToLaneId; var lanes = affectedLanes as IList<Lane> ?? affectedLanes.ToList(); var fromLane = _board.AllLanes().ContainsLane(fromLaneId) ? _board.AllLanes().FindLane(fromLaneId) : null; Lane toLane = null; CardView affectedCardView = null; if (lanes.ContainsLane(toLaneId)) { toLane = lanes.FindLane(toLaneId); affectedCardView = toLane.Cards.FirstOrDefault(aCard => aCard.Id == boardEvent.CardId); } else if (_board.Archive.ContainsLane(toLaneId)) { toLane = _board.Archive.FindLane(toLaneId); affectedCardView = GetCard(boardEvent.CardId).ToCardView(); } // If fromLane or toLane are null, then the card is probably on a taskboard if (affectedCardView == null || (toLane == null && !_includeTaskboards)) return null; var card = affectedCardView.ToCard(); return new CardMoveEvent(boardEvent.EventDateTime, fromLane, toLane, card); } catch (ItemNotFoundException ex) { throw new ItemNotFoundException( string.Format( "Unable to create Card Move Event for board [{0}], card [{1}], from lane [{2}] and to lane [{3}]. {4}", _boardId, boardEvent.CardId, boardEvent.FromLaneId.GetValueOrDefault(), boardEvent.ToLaneId, ex.Message)); } }
private CardUpdateEvent CreateCardUpdateEvent(BoardHistoryEvent boardEvent, IEnumerable<Lane> affectedLanes) { try { // Is the card being updated on a taskboard? if (!_board.AllLanes().ContainsLane(boardEvent.ToLaneId) && !_includeTaskboards) return null; var originalCard = _board.GetCardById(boardEvent.CardId); if (originalCard == null) return null; var lanes = affectedLanes.ToList(); var updatedCard = (lanes.ContainsCard(boardEvent.CardId)) ? lanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId) : GetCard(boardEvent.CardId, true); return new CardUpdateEvent(boardEvent.EventDateTime, originalCard, updatedCard); } catch (ItemNotFoundException ex) { throw new ItemNotFoundException( string.Format("Unable to create Card Update Event for board [{0}], card [{1}], and to lane [{2}]. {3}", _boardId, boardEvent.CardId, boardEvent.ToLaneId, ex.Message)); } }
private CardMoveFromBoardEvent CreateCardMoveFromBoardEvent(BoardHistoryEvent boardEvent) { return new CardMoveFromBoardEvent(boardEvent.EventDateTime, boardEvent.CardId, boardEvent.FromLaneId); }
private CardDeletedEvent CreateCardDeletedEvent(BoardHistoryEvent boardEvent) { // Is the card being deleted from a taskboard? if (!_includeTaskboards && !_board.AllLanes().ContainsLane(boardEvent.ToLaneId)) return null; var card = (_board.AllLanes().ContainsLane(boardEvent.ToLaneId)) ? _board.AllLanes().FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId) : GetCard(boardEvent.CardId); return new CardDeletedEvent(boardEvent.EventDateTime, card); }
private UserWipOverrideEvent CreateUserWipOverrideEvent(BoardHistoryEvent boardEvent) { try { User affectedUser = _board.BoardUsers.FindUser(boardEvent.WipOverrideUser); return new UserWipOverrideEvent(boardEvent.EventDateTime, boardEvent.WipOverrideComment, affectedUser); } catch (ItemNotFoundException) { throw new ItemNotFoundException( string.Format("Unable to create User Wip Override Event for board [{0}] and user [{1}]", _boardId, boardEvent.WipOverrideUser)); } }
private AttachmentChangedEvent CreateAttachmentEvent(BoardHistoryEvent boardEvent) { // Is the card on a taskboard? if (!_board.AllLanes().ContainsLane(boardEvent.ToLaneId) && !_includeTaskboards) return null; var card = _board.AllLanes().FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId); return new AttachmentChangedEvent(boardEvent.EventDateTime, card, boardEvent.FileName, boardEvent.CommentText, boardEvent.IsFileBeingDeleted); }
private WipOverrideEvent CreateWipOverrideEvent(BoardHistoryEvent boardEvent, IEnumerable<Lane> affectedLanes) { try { Lane affectedLane = affectedLanes.FindLane(boardEvent.WipOverrideLane); return new WipOverrideEvent(boardEvent.EventDateTime, boardEvent.WipOverrideComment, affectedLane); } catch (ItemNotFoundException ex) { throw new ItemNotFoundException( string.Format("Unable to create Wip Override Event for board [{0}] and lane [{1}]. {2}", _boardId, boardEvent.WipOverrideLane, ex.Message)); } }
private CommentPostedEvent CreateCommentPostedEvent(BoardHistoryEvent boardEvent) { //since no info in affectedLanes getting card from board Card affectedCard = _board.GetCardById(boardEvent.CardId); return new CommentPostedEvent(boardEvent.EventDateTime, affectedCard, boardEvent.CommentText); }
private CardUserUnAssignmentEvent CreateCardUserUnAssignmentEvent(BoardHistoryEvent boardEvent, IEnumerable<Lane> affectedLanes) { // Is the card on a taskboard? if (!_includeTaskboards && !_board.AllLanes().ContainsLane(boardEvent.ToLaneId)) return null; try { var card = affectedLanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId); var unAssignedUser = _board.BoardUsers.FindUser(boardEvent.AssignedUserId); return new CardUserUnAssignmentEvent(boardEvent.EventDateTime, card, unAssignedUser); } catch (ItemNotFoundException ex) { throw new ItemNotFoundException( string.Format( "Unable to create Card User Unassignment Event for board [{0}], lane [{1}], card [{2}], and user [{3}]. User count: {4}. {5}", _boardId, boardEvent.ToLaneId, boardEvent.CardId, boardEvent.AssignedUserId, _board.BoardUsers.Count(), ex.Message)); } }
private static CardUnBlockedEvent CreateCardUnBlockedEvent(BoardHistoryEvent boardEvent, IEnumerable<Lane> affectedLanes) { //Get the effected lanes from the original board var card = affectedLanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId); return new CardUnBlockedEvent(boardEvent.EventDateTime, card, boardEvent.BlockedComment); }
private UserWipOverrideEvent CreateUserWipOverrideEvent(BoardHistoryEvent boardEvent) { try { var affectedUser = _board.BoardUsers.FindUser(boardEvent.WipOverrideUser); return new UserWipOverrideEvent(boardEvent.EventDateTime, boardEvent.WipOverrideComment, affectedUser); } catch (ItemNotFoundException) { // Might be a recently added user, try refreshing board InitBoard(); try { var affectedUser = _board.BoardUsers.FindUser(boardEvent.WipOverrideUser); return new UserWipOverrideEvent(boardEvent.EventDateTime, boardEvent.WipOverrideComment, affectedUser); } catch (ItemNotFoundException) { throw new ItemNotFoundException( string.Format("Unable to create User Wip Override Event for board [{0}] and user [{1}]", _boardId, boardEvent.WipOverrideUser)); } } }