コード例 #1
0
        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);
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
 public CardMessageStrategy(BasicCardDTO data, MessageType type, string username)
 {
     cardMessage = new CardMessage(username)
     {
         Data        = data,
         MessageType = type
     };
 }
コード例 #4
0
        private void CreateCardAction(object obj)
        {
            BasicCardDTO card = (BasicCardDTO)obj;

            if (card != null && card.ListId == cardList.ListId)
            {
                CardList.Cards.Add(new ReadCard(card));
            }
        }
コード例 #5
0
        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);
                }
            }
        }
コード例 #6
0
ファイル: Card.cs プロジェクト: BarberDucky/planit-teams
 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>();
     }
 }
コード例 #7
0
        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.");
                }
            }
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
ファイル: Card.cs プロジェクト: BarberDucky/planit-teams
 public static void UpdateCard(ReadCard card, BasicCardDTO dto)
 {
     card.Description = dto.Description;
     card.DueDate     = dto.DueDate;
     card.Name        = dto.Name;
 }
コード例 #11
0
        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;
            }


        }