public ConversationDTO CreateConversation(ConversationDTO convDTO)
        {
            using (var uow = new UnitOfWork())
            {
                var conversationRepository = uow.GetRepository <Conversation>();
                var acountRepository       = uow.GetRepository <Account>();

                var existConv = conversationRepository.GetAll().FirstOrDefault(c => (
                                                                                   (c.UserOneId == convDTO.UserOne.Id && c.UserTwoId == convDTO.UserTwo.Id)));

                if (existConv != null)
                {
                    return(null);
                }
                else
                {
                    Account            acountOne = acountRepository.GetById(convDTO.UserOne.Id);
                    Account            acountTwo = acountRepository.GetById(convDTO.UserTwo.Id);
                    ConversationMapper cm        = new ConversationMapper();
                    convDTO.UserOne.FullName = acountOne.FirstName + " " + acountOne.LastName;
                    convDTO.UserTwo.FullName = acountTwo.FirstName + " " + acountTwo.LastName;
                    Conversation conversation = cm.MapFromDTO(convDTO);
                    conversation.UserOne = acountOne;
                    conversation.UserTwo = acountTwo;

                    Conversation add = conversationRepository.Add(conversation);
                    return(cm.MapToDTO(add));
                }
            }
        }
Пример #2
0
 public List <ConversationViewModel> Get()
 {
     try
     {
         return(ConversationMapper.MapDataModelToViewModel(_conversationProcess.ProcessConversations()));
     }
     catch (System.Exception ex)
     {
         _logger.LogError($"Internal Server Error, reason: {ex.Message}");
         return(new List <ConversationViewModel>()
         {
             new ConversationViewModel()
             {
                 Name = ex.Message.Split('>').ToList().LastOrDefault()
             }
         });
     }
 }
        public IEnumerable <ConversationDTO> getConversationByUserId(int userID)
        {
            using (var uow = new UnitOfWork())
            {
                var conversationRepository = uow.GetRepository <Conversation>();
                var conversations          = conversationRepository.FindBy(conv => conv.UserOneId == userID || conv.UserTwoId == userID);

                List <ConversationDTO> list = new List <ConversationDTO>();
                ConversationMapper     conversationMapper = new ConversationMapper();


                foreach (var conv in conversations)
                {
                    ConversationDTO convDTO = conversationMapper.MapToDTO(conv);
                    list.Add(convDTO);
                }

                return(list);
            }
        }
        public ConversationDTO RemoveConversation(int convID)
        {
            using (var uow = new UnitOfWork())
            {
                var conversationRepo = uow.GetRepository <Conversation>();

                Conversation conv = conversationRepo.GetById(convID);

                if (conv == null)
                {
                    return(null);
                }
                else
                {
                    ConversationMapper cm      = new ConversationMapper();
                    ConversationDTO    convDTO = cm.MapToDTO(conv);
                    conversationRepo.Delete(convID);
                    uow.SaveChanges();
                    return(convDTO);
                }
            }
        }