public async Task AddAwaitedUserAsync(AwaitedUser awaitedUser, User user, User contact) { _context.AwaitedUsers.Add(awaitedUser); contact.AwaitedContacts.Add(awaitedUser); contact.Contacts.Add(user); _context.Users.Update(contact); await _context.SaveChangesAsync(); }
public async Task <ContactDto> AddContact(string userLogin, string contactLogin, string key, string iv) { var user = await _userRepository.GetAsync(userLogin); var contact = await _userRepository.GetAsync(contactLogin); if (contact == null) { throw new Exception($"Nie znaleziono użytkownika z loginem {contactLogin}"); } user.Contacts.Add(contact); await _userRepository.UpdateAsync(user); var awaitedUser = new AwaitedUser(user.Login, key, iv); await _userRepository.AddAwaitedUserAsync(awaitedUser, user, contact); var chat = new Conversation(user, contact); await _chatRepository.Add(chat); return(_mapper.Map <ContactDto>(contact)); }