public async Task <UserDTO> Register(NewUserDTO creatingUser) { var userSN = new NewUserSocialNetworkDTO() { UId = creatingUser.UId, ProviderName = creatingUser.ProviderName, SocialNetworkUrl = creatingUser.ProviderUrl, }; var user = _mapper.Map <User>(creatingUser); user.CreatedAt = DateTime.Now; _context.Add(user); await _context.SaveChangesAsync(); var userDto = _mapper.Map <UserDTO>(user); userSN.UserId = userDto.Id; var userSNEntity = _mapper.Map <UserSocialNetwork>(userSN); _context.Add(userSNEntity); await _context.SaveChangesAsync(); var emailModel = _emailBuilder.GetSignUpLetter(creatingUser.Email, creatingUser.FirstName); await _emailService.SendEmailAsync(new List <string> { emailModel.Email }, emailModel.Subject, emailModel.Title, emailModel.Body); return(_mapper.Map <UserDTO>(user)); }
public async Task <UserDTO> LinkProvider(LinkProviderDTO userLink) { var isUserExist = await _context.Users.AnyAsync(u => u.Id == userLink.UserId); if (isUserExist) { var userSN = new NewUserSocialNetworkDTO() { UId = userLink.UId, ProviderName = userLink.ProviderName, SocialNetworkUrl = userLink.ProviderUrl, }; userSN.UserId = userLink.UserId; var userSNEntity = _mapper.Map <UserSocialNetwork>(userSN); _context.Add(userSNEntity); await _context.SaveChangesAsync(); var updatedUser = await _context.Users.FirstOrDefaultAsync(u => u.Id == userLink.UserId); return(_mapper.Map <UserDTO>(updatedUser)); } else { throw new NotFoundException("user", userLink.UserId); } }