コード例 #1
0
        public async Task <BaseResponse> Handle(RegisterCommand request, CancellationToken cancellationToken)
        {
            var email        = request.EmailAddress.Trim().ToLowerInvariant();
            var existingUser = _userManager.FindByEmailAsync(email).Result;

            if (existingUser != null)
            {
                return(new BaseResponse(false, "User with email already exists"));
            }

            var newUser = new BB360User
            {
                Email          = email,
                UserName       = email,
                EmailConfirmed = false,
                PhoneNumber    = request.PhoneNumber,
                FirstName      = request.FirstName,
                LastName       = request.LastName,
                TimeCreated    = DateTime.Now,
                TimeUpdated    = DateTime.Now,
                UserType       = (int)UserTypeEnum.Candidate
            };

            // string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            // string password = new string(Enumerable.Repeat(chars, 10).Select(s => s[new Random().Next(s.Length)]).ToArray());

            var registerAttempt = _userManager.CreateAsync(newUser, request.Password).Result;

            if (!registerAttempt.Succeeded)
            {
                var errors = registerAttempt.Errors.Select(x => x.Description).ToList();
                return(new BaseResponse(false, "There were errors found in your submission. Please review and retry"));
            }

            var application = new JobApplication
            {
                Comment              = request.Comment,
                JobRole              = request.JobRole,
                LinkedInProfileLink  = request.LinkedInProfileLink,
                NewsSource           = request.NewsSource,
                PortfolioLink        = request.PortfolioLink,
                PrimarySkills        = JsonConvert.SerializeObject(request.PrimarySkills),
                ProblemSolverOpinion = request.ProblemSolverOpinion,
                ReferralName         = request.ReferralName,
                RiskOutcome          = request.RiskOutcome,
                RiskSituation        = request.RiskSituation,
                TimeCreated          = DateTime.Now,
                TimeUpdated          = DateTime.Now,
                UserId       = newUser.Id,
                IsSuccessful = false
            };

            _context.Add(application);
            _context.SaveChanges();

            // _ =_mediator.Send(new SendEmailConfirmationCommand { User = newUser });

            return(await Task.FromResult(new BaseResponse(true, "Job application submitted successfully. A new account has been created for you. Login credentials has been sent to your email address")));
        }
コード例 #2
0
ファイル: DataExtensions.cs プロジェクト: ikeliec/BB360
 public static ProfileDTO ToDTO(this UserProfile userProfile, BB360User user)
 {
     return(new ProfileDTO
     {
         Address = userProfile.Address,
         DateOfBirth = userProfile.DateOfBirth.ToString("MMMM dd, yyyy"),
         Gender = userProfile.Gender,
         LGAOfOrigin = userProfile.LGAOfOrigin,
         Nationality = userProfile.Nationality,
         StateOfOrigin = userProfile.StateOfOrigin,
         TownOfOrigin = userProfile.TownOfOrigin,
         FirstName = user.FirstName,
         LastName = user.LastName,
         UserType = ((UserTypeEnum)user.UserType).GetDescription()
     });
 }