예제 #1
0
        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));
        }
예제 #2
0
        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
                });
            };
        }
예제 #3
0
        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));
        }