public async Task <OvertureUser> UpdateUserAsync(OvertureUser user) { var updated = await _client.Users.UpdateAsync(user.UserId, new UserUpdateRequest { UserMetadata = new UserMetadata { DisplayName = user.Name, AccountType = user.AccountType, Picture = user.Picture } }); RefreshCache(); return(MapUser(updated)); }
public async Task <UseCaseResult <JobModel> > Handle(RequestQuote request, CancellationToken cancellationToken) { try { // fetch user id var user = await _userService.GetUserByEmailAsync(request.Email); if (user == null) { user = new OvertureUser { Name = request.Name, AccountType = AccountType.Personal, Email = request.Email, }; user = await _userService.CreateUserAsync(user, "TODO:ChangeThisToARandomPassword"); } return(new UseCaseResult <JobModel> { ResultCode = "Ok", ResultText = "Create Job", Data = _mapper.Map <JobModel>(await _jobRepository.AddAsync(new Job { UserId = user.UserId, Title = request.Title, Description = request.Description, RequiredDate = request.RequiredDate, Quotes = new List <Quote>() { new Quote() { QuotedByBusinessId = request.BusinessId } } })) }); } catch (Exception e) { return(new UseCaseResult <JobModel> { ResultCode = "Error", ResultText = e.Message, Data = null }); }; }
public async Task <OvertureUser> CreateUserAsync(OvertureUser user, string password) { var auth0User = await _client.Users.CreateAsync(new UserCreateRequest { Connection = "Username-Password-Authentication", Email = user.Email, EmailVerified = true, Password = password, UserMetadata = new UserMetadata { DisplayName = user.Name, AccountType = user.AccountType, Picture = user.Picture }, }); return(MapUser(auth0User)); }