public BasicCardDTO InsertCard(string username, CreateCardDTO dto) { //if (!PermissionHelper.HasPermissionOnList(dto.ListId, userId)) //{ // return 0; //} BasicCardDTO cardDto = null; using (UnitOfWork uw = new UnitOfWork()) { CardList list = uw.CardListRepository.GetById(dto.ListId); User user = uw.UserRepository.GetUserByUsername(username); Card card = CreateCardDTO.FromDTO(dto); if (user != null && list != null) { card.User = user; card.List = list; uw.CardRepository.Insert(card); if (uw.Save()) { cardDto = new BasicCardDTO(card); RabbitMQService.PublishToExchange(list.Board.ExchangeName, new MessageContext(new CardMessageStrategy(cardDto, MessageType.Create, username))); BoardNotificationService.ChangeBoardNotifications(list.Board.BoardId); } } } return(cardDto); }
private void MoveCardAction(object obj) { BasicCardDTO card = (BasicCardDTO)obj; ReadCard oldCard = null; ReadCardList oldList = null; if (card != null) { foreach (var vm in CardListViewModels) { oldCard = vm.CardList.Cards.FirstOrDefault(c => c.CardId == card.CardId); oldList = vm.CardList; if (oldCard != null) { break; } } oldList.Cards.Remove(oldCard); CardListViewModel newList = CardListViewModels.FirstOrDefault(c => c.CardList.ListId == card.ListId); if (newList != null) { oldCard.ListId = card.ListId; newList.CardList.Cards.Add(oldCard); } } }
public CardMessageStrategy(BasicCardDTO data, MessageType type, string username) { cardMessage = new CardMessage(username) { Data = data, MessageType = type }; }
private void CreateCardAction(object obj) { BasicCardDTO card = (BasicCardDTO)obj; if (card != null && card.ListId == cardList.ListId) { CardList.Cards.Add(new ReadCard(card)); } }
private void UpdateCardAction(object obj) { BasicCardDTO newCard = (BasicCardDTO)obj; if (newCard != null) { ReadCard old = CardList.Cards.FirstOrDefault(c => c.CardId == newCard.CardId); if (old != null) { ReadCard.UpdateCard(old, newCard); } } }
public ReadCard(BasicCardDTO dto) { if (dto != null) { CardId = dto.CardId; Name = dto.Name; Description = dto.Description; Timestamp = dto.TimeStamp; DueDate = dto.DueDate; BoardId = dto.BoardId; ListId = dto.ListId; IsWatched = false; Comments = new ObservableCollection <ReadComment>(); } }
public async void OnAddCardClick() { if (ActiveUser.IsActive == true) { BasicCardDTO dto = await CardService.CreateCard(ActiveUser.Instance.LoggedUser.Token, new CreateCardDTO() { Name = "Untitled", Description = "No Description", DueDate = DateTime.Now.AddDays(7), ListId = cardList.ListId }); if (dto != null) { CardList.Cards.Add(new ReadCard(dto)); } else { ShowMessageBox(null, "Error creating card."); } } }
public bool UpdateCard(int cardId, string username, UpdateCardDTO dto) { bool succ = false; using (UnitOfWork uw = new UnitOfWork()) { Card card = uw.CardRepository.GetById(cardId); User user = uw.UserRepository.GetUserByUsername(username); if (card != null && user != null) { card.Name = dto.Name; card.Description = dto.Description; card.DueDate = dto.DueDate; uw.CardRepository.Update(card); NotificationService notif = new NotificationService(); notif.CreateChangeNotification(new CreateNotificationDTO() { CardId = card.CardId, UserId = user.UserId, NotificationType = NotificationType.Change }); succ = uw.Save(); if (succ) { BasicCardDTO cardDto = new BasicCardDTO(card); RabbitMQService.PublishToExchange(card.List.Board.ExchangeName, new MessageContext(new CardMessageStrategy(cardDto, MessageType.Update, username))); BoardNotificationService.ChangeBoardNotifications(card.List.Board.BoardId); } } } return(succ); }
public bool MoveCardToList(int cardId, int listId, string username) { bool succ = false; using (UnitOfWork uw = new UnitOfWork()) { Card card = uw.CardRepository.GetById(cardId); if (card != null && card.List.ListId != listId) { CardList list = uw.CardListRepository.GetById(listId); User user = uw.UserRepository.GetUserByUsername(username); if (list != null && user != null) { list.Cards.Add(card); uw.CardListRepository.Update(list); if (uw.Save()) { NotificationService notif = new NotificationService(); succ = notif.CreateMoveNotification(new CreateNotificationDTO() { CardId = cardId, UserId = user.UserId, NotificationType = NotificationType.Move }); BasicCardDTO cardDto = new BasicCardDTO(card); RabbitMQService.PublishToExchange(card.List.Board.ExchangeName, new MessageContext(new CardMessageStrategy(cardDto, MessageType.Move, username))); BoardNotificationService.ChangeBoardNotifications(card.List.Board.BoardId); } } } } return(succ); }
public static void UpdateCard(ReadCard card, BasicCardDTO dto) { card.Description = dto.Description; card.DueDate = dto.DueDate; card.Name = dto.Name; }
public static MQMessage GetMessage(string stringMessage) { var jsonMessage = GetJObjectFromString(stringMessage); if (jsonMessage == null) return null; var messageType = GetJTokenByKey("MessageType", jsonMessage); if (messageType == null) return null; var messageEntity = GetJTokenByKey("MessageEntity", jsonMessage); if (messageEntity == null) return null; var messageUsername = GetJTokenByKey("Username", jsonMessage); var data = GetJTokenByKey("Data", jsonMessage); if (data == null) return null; var stringData = data.ToString(); var type = (MessageType)messageType.Value<int>(); var entity = (MessageEntity)messageEntity.Value<int>(); var username = (string)messageUsername.Value<string>(); if (type == MessageType.Delete) { int parsedData = JsonConvert.DeserializeObject<int>(stringData); return new DeleteMessage() { MessageType = MessageType.Delete, MessageEntity = entity, Data = parsedData }; } else if (type == MessageType.BoardNotification) { int parsedData = JsonConvert.DeserializeObject<int>(stringData); return new BoardNotificationMessage() { MessageType = MessageType.BoardNotification, MessageEntity = entity, Data = parsedData }; } else if (entity == MessageEntity.Board) { BasicBoardDTO parsedData = JsonConvert.DeserializeObject<BasicBoardDTO>(stringData); return new BoardMesage() { MessageType = type, MessageEntity = entity, Data = parsedData }; } else if (entity == MessageEntity.Card) { BasicCardDTO parsedData = JsonConvert.DeserializeObject<BasicCardDTO>(stringData); return new CardMessage() { MessageType = type, MessageEntity = entity, Data = parsedData }; } else if (entity == MessageEntity.CardList) { BasicCardListDTO parsedData = JsonConvert.DeserializeObject<BasicCardListDTO>(stringData); return new CardListMessage() { MessageType = type, MessageEntity = entity, Data = parsedData, Username = username }; } else if (entity == MessageEntity.Comment) { BasicCommentDTO parsedData = JsonConvert.DeserializeObject<BasicCommentDTO>(stringData); return new CommentMessage() { MessageType = type, MessageEntity = entity, Data = parsedData }; } else if (entity == MessageEntity.Notification) { ReadNotificationDTO parsedData = JsonConvert.DeserializeObject<ReadNotificationDTO>(stringData); return new NotificationMessage() { MessageType = type, MessageEntity = entity, Data = parsedData }; } else { return null; } }