public async Task <ActivateAdminResult> ActivateAdmin(CreateAdminRequest createAdminRequest) { var admin = await _authenticationRepository.GetAdmin( createAdminRequest.FirstName, createAdminRequest.LastName ); if (admin == null) { return new ActivateAdminResult { Details = new ResultDetails { ResultStatus = ResultStatus.Failure, Message = "There was no found admin record." } } } ; if (createAdminRequest.CreationCode != admin.CreationCode) { return new ActivateAdminResult { Details = new ResultDetails { ResultStatus = ResultStatus.Failure, Message = "The creation code was incorrect." } } } ; if (admin.PasswordHash != null) { return new ActivateAdminResult { Details = new ResultDetails { ResultStatus = ResultStatus.Failure, Message = "The admin already exists." } } } ; var activatedAdmin = await ActivateAdmin(admin, createAdminRequest.Password); return(new ActivateAdminResult { Details = new ResultDetails { ResultStatus = ResultStatus.Success, Message = "Successfully created an admin user." }, Data = activatedAdmin }); }
public async Task <IActionResult> ActivateAdmin(CreateAdminRequest createAdminRequest) { var createAdminResult = await _authenticationBL.ActivateAdmin(createAdminRequest); return(StatusCode( createAdminResult.Details.ResultStatus == ResultStatus.Success ? StatusCodes.Status201Created : StatusCodes.Status403Forbidden, createAdminResult )); }
public async Task <BaseResponses <ApplicationUser> > Handle(CreateAdminRequest request, CancellationToken cancellationToken) { BaseResponses <ApplicationUser> response = null; using (var trx = unitOfWork.BeginTransaction()) { try { request.UserName = request.Email; request.Role = "Admin"; var user = mapper.Map <ApplicationUser>(request); var result = await userManager.CreateAsync(user, user.PasswordHash); if (result.Succeeded) { var role = await roleManager.FindByNameAsync(request.Role); if (role == null) { var roleResult = await roleManager.CreateAsync(new ApplicationRole { Name = request.Role }); } var tempUser = await userManager.FindByEmailAsync(request.Email); var finalResult = await userManager.AddToRoleAsync(tempUser, request.Role); unitOfWork.SaveChanges(); response = new BaseResponses <ApplicationUser>(user, result.Succeeded, ""); } List <ValidationError> errors = null; if (!result.Succeeded) { errors = new List <ValidationError>(); foreach (var item in result.Errors) { errors.Add(new ValidationError(item.Code, item.Description)); } response = new BaseResponses <ApplicationUser>(user, result.Succeeded) { ValidationErrors = errors }; } } catch (RestException ex) { trx.Rollback(); response = new BaseResponses <ApplicationUser>(ex.StatusCode, ex.Message); } return(response); } }
public Administrator Post(CreateAdminRequest request) { var personCtr = new PersonCtr(); var adminData = new Administrator { FName = request.FName, LName = request.LName, PhoneNo = request.PhoneNo, Email = request.Email }; personCtr.CreateAdmin(adminData); return(adminData); }
public Task <ServiceResult <CreateAdminResponse> > CreateAdminAsync( CreateAdminRequest createAdminRequest, ClaimsPrincipal claimsPrincipal) { return(null); }