public static IUserNotificationHandler CreateHandler(IMQMessage message) { if (message is BoardMesage && ((BoardMesage)message).MessageType == MessageType.Create) { return(new GivePermissionHandler()); } else if (message is DeleteMessage && ((DeleteMessage)message).MessageEntity == MessageEntity.Board) { return(new DeletePermissionHandler()); } else if (message is BoardNotificationMessage && ((BoardNotificationMessage)message).MessageEntity == MessageEntity.Board) { return(new BoardChangeHandler()); } else if (message is NotificationMessage && ((NotificationMessage)message).MessageType == MessageType.Move) { return(new CardMoveHandler()); } else if (message is NotificationMessage && ((NotificationMessage)message).MessageType == MessageType.Change) { return(new WatchedCardHandler()); } else { return(null); } }
public void HandleUserNotification(ObservableCollection <ShortBoard> boardList, ShortBoard selectedBoard, ObservableCollection <Notification> notifications, IMQMessage message) { notifications.Add(new Notification(((NotificationMessage)message).Data)); }
public void HandleUserNotification(ObservableCollection <ShortBoard> boardList, ShortBoard selectedBoard, ObservableCollection <Notification> notifications, IMQMessage message) { int targetBoardId = ((BoardNotificationMessage)message).Data; if (selectedBoard == null || targetBoardId != selectedBoard.BoardId) { boardList.SingleOrDefault(el => el.BoardId == targetBoardId).IsRead = false; } else if (selectedBoard != null && targetBoardId == selectedBoard.BoardId) { //BoardNotificationService.ReadBoardNotification(ActiveUser.Instance.LoggedUser.Token, targetBoardId); } }
public void HandleUserNotification(ObservableCollection <ShortBoard> boardList, ShortBoard selectedBoard, ObservableCollection <Notification> notifications, IMQMessage message) { ShortBoard deleteBoard = boardList.SingleOrDefault(el => el.BoardId == ((DeleteMessage)message).Data); boardList.Remove(deleteBoard); if (selectedBoard != null && selectedBoard.BoardId == deleteBoard.BoardId) { selectedBoard = null; } }