public async Task <EntityApiResponse <ApplicationUser> > CreateUserAsync(CreateApplicationUser userDetail) { if (userDetail is null) { throw new ArgumentNullException(nameof(userDetail)); } var role = await _roleManager.FindByIdAsync(userDetail.RoleId); if (role is null) { return(new EntityApiResponse <ApplicationUser>(error: "Role does not exist")); } var user = new ApplicationUser { FirstName = userDetail.FirstName, LastName = userDetail.LastName, Email = userDetail.Email, UserName = userDetail.Email, ProfilePicture = userDetail.ProfilePicture, OrganizationId = userDetail.OrganizationId }; var result = await _userManger.CreateAsync(user, userDetail.Password); if (!result.Succeeded) { return(new EntityApiResponse <ApplicationUser>(error: result.Errors.Select(e => e.Description).AllInOne())); } await _userManger.AddToRoleAsync(user, role.Name); return(new EntityApiResponse <ApplicationUser>(entity: user)); }
public async Task <ActionResult> Create(CreateApplicationUser entity) { if (_user.FindByNameAsync(entity.IdentityUser.UserName).Result == null) { var email = entity.IdentityUser.UserName; var user = new IdentityUser { UserName = email, Email = email }; var result = _user.CreateAsync(user, entity.Password).Result; } try { var newuser = _user.FindByNameAsync(entity.IdentityUser.UserName).Result; var newentity = new ApplicationUser { FirstName = entity.FirstName, LastName = entity.LastName, Address = entity.Address, Id = _user.FindByNameAsync(entity.IdentityUser.UserName).Result.Id, }; if (!ModelState.IsValid) { return(View(newentity)); } var applicationUser = _mapper.Map <ApplicationUser>(newentity); //applicationUser.DateCreated = DateTime.Now; var isSuccess = await _repo.Add(applicationUser); if (!isSuccess) { ModelState.AddModelError("", "Something went wrong..."); return(View(entity)); } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public virtual IHttpActionResult Post([FromBody] CreateApplicationUser value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ApplicationUser model; try { model = ApplicationUser.Create(value); } catch (Exception e) { return(BadRequest(e.ToString())); } repository.Insert(model); var dto = mapper.Map <GetApplicationUser>(model); return(Created(nameof(ApplicationUser) + "/" + dto.Id, dto)); }