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)); } } }
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 updatedCard = affectedLanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId); 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 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 CardUserAssignmentEvent CreateCardUserAssignmentEvent(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 assignedUser = _board.BoardUsers.FindUser(boardEvent.AssignedUserId); return(new CardUserAssignmentEvent(boardEvent.EventDateTime, card, assignedUser)); } catch (ItemNotFoundException) { // Might be a recently added user, try refreshing board InitBoard(); try { var card = affectedLanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId); var assignedUser = _board.BoardUsers.FindUser(boardEvent.AssignedUserId); return(new CardUserAssignmentEvent(boardEvent.EventDateTime, card, assignedUser)); } catch (ItemNotFoundException ex) { throw new ItemNotFoundException( string.Format( "Unable to create Card User Assignment 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 CardBlockedEvent CreateCardBlockedEvent(BoardHistoryEvent boardEvent, IEnumerable <Lane> affectedLanes) { //Get the effected lanes from the original board var card = affectedLanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId); return(new CardBlockedEvent(boardEvent.EventDateTime, card, boardEvent.BlockedComment)); }
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 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 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 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 CardAddEvent CreateCardAddEvent(BoardHistoryEvent boardEvent, IEnumerable <Lane> affectedLanes) { try { // Is the card being created on a taskboard? if (!_board.AllLanes().ContainsLane(boardEvent.ToLaneId) && !_includeTaskboards) { return(null); } var lanes = affectedLanes as IList <Lane> ?? affectedLanes.ToList(); var addedCard = lanes.ContainsCard(boardEvent.CardId) ? lanes.FindContainedCard(boardEvent.ToLaneId, boardEvent.CardId) : GetCard(boardEvent.CardId); return(new CardAddEvent(boardEvent.EventDateTime, addedCard)); } catch (ItemNotFoundException ex) { throw new ItemNotFoundException( string.Format("Unable to create Card Add Event for board [{0}], card [{1}], and to lane [{2}]. {3}", _boardId, boardEvent.CardId, boardEvent.ToLaneId, ex.Message)); } }
private BoardEditedEvent CreateBoardEditedEvent(BoardHistoryEvent boardEvent) { return(new BoardEditedEvent(boardEvent.EventDateTime, boardEvent.Message)); }
private CardMoveFromBoardEvent CreateCardMoveFromBoardEvent(BoardHistoryEvent boardEvent) { return(new CardMoveFromBoardEvent(boardEvent.EventDateTime, boardEvent.CardId, boardEvent.FromLaneId)); }