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)); } } }
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); } } }