示例#1
0
        public async Task <IActionResult> Post([FromBody] RegistrationResource model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userIdentity = mapper.Map <AppUser>(model);

            var result = await userManager.CreateAsync(userIdentity, model.Password);

            if (!result.Succeeded)
            {
                return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState)));
            }

            //userRepository.Add(new InternalAppUser { IdentityId = userIdentity.Id, Location = model.Location });

            //Check if Role specified for user exists
            foreach (string role in model.Roles)
            {
                bool x = await _roleManager.RoleExistsAsync(role);

                if (!x)
                {
                    return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState)));
                }

                result = await userManager.AddToRoleAsync(userIdentity, role);
            }
            await unitOfWork.CompleteAsync();

            return(new OkObjectResult("Account created"));
        }
示例#2
0
        public async Task <object> SignUp([FromBody] RegistrationResource registrationResource)
        {
            var webRoot = _env.WebRootPath;

            var PathWithFolderName = Path.Combine(webRoot, "Image");

            var role = _roleManager.Roles.Where(r => r.Name == "Customer").FirstOrDefault();

            var customer = new ApplicationUser
            {
                UserName           = registrationResource.MobileNumber,
                NormalizedUserName = registrationResource.MobileNumber,
                FirstName          = registrationResource.FirstName,
                Email           = registrationResource.Email,
                PhoneNumber     = registrationResource.MobileNumber,
                RoleName        = role.Name,
                ApplicationRole = role
            };

            var result = await _userManager.CreateAsync(customer, registrationResource.Password);

            if (result.Succeeded)
            {
                return(Ok(registrationResource.FirstName + " " + registrationResource.LastName + " SignUp Successfully"));
            }

            throw new ApplicationException("UNKNOWN_ERROR");
        }
        public async Task <IActionResult> Register([FromBody] RegistrationResource registrationResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var userIdentity = mapper.Map <ApplicationUser>(registrationResource);
            var result       = await userManager.CreateAsync(userIdentity, registrationResource.Password);

            if (!result.Succeeded)
            {
                return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState)));
            }

            await context.CarBuyers.AddAsync(new CarBuyer
            {
                IdentityId = userIdentity.Id,
                Location   = registrationResource.Location
            });

            await context.SaveChangesAsync();

            return(new OkObjectResult("Account created"));
        }
示例#4
0
        public async Task <IActionResult> Post([FromBody] RegistrationResource model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userIdentity = mapper.Map <AppUser>(model);

            var result = await userManager.CreateAsync(userIdentity, model.Password);

            if (!result.Succeeded)
            {
                return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState)));
            }

            userRepository.Add(new InternalAppUser {
                IdentityId = userIdentity.Id, Location = model.Location
            });

            await unitOfWork.CompleteAsync();

            return(new OkObjectResult("Account created"));
        }