Пример #1
0
        public async Task <IActionResult> CreateBranchAdmin(UserForCreateAdminDto userForCreateAdminDto)
        {
            var checkuser = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName);

            if (checkuser != null)
            {
                return(BadRequest("Username already exists"));
            }
            var checkuseremail = await _userManager.FindByEmailAsync(userForCreateAdminDto.Email);

            if (checkuseremail != null)
            {
                return(BadRequest("Email already exists"));
            }
            var userToCreate = _mapper.Map <User>(userForCreateAdminDto);
            var result       = await _userManager.CreateAsync(userToCreate, userForCreateAdminDto.Password);

            var userToReturn = _mapper.Map <UserForDisplayDetailDto>(userToCreate);

            string[] rolesArray = { "DriverCreater" };
            if (result.Succeeded)
            {
                var userFromRepo = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName);

                result = await _userManager.AddToRolesAsync(userFromRepo, rolesArray);

                if (!result.Succeeded)
                {
                    await _userManager.DeleteAsync(userFromRepo);

                    return(BadRequest(result.Errors));
                }
                //_userManager.SendMailAsync("*****@*****.**","*****@*****.**","Welcome");
                return(CreatedAtRoute("GetUser", new { Controller = "Users", id = userToCreate.Id }, userToReturn));
            }
            return(BadRequest(result.Errors));
        }
Пример #2
0
        public async Task <IActionResult> CreateBranchAdmin(int role_id, UserForCreateAdminDto userForCreateAdminDto)
        {
            var checkuser = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName);

            if (checkuser != null)
            {
                return(BadRequest("Username already exists"));
            }
            var checkuseremail = await _userManager.FindByEmailAsync(userForCreateAdminDto.Email);

            if (checkuseremail != null)
            {
                return(BadRequest("Email already exists"));
            }

            var checkuserphone = await _userManager.FindByEmailAsync(userForCreateAdminDto.PhoneNumber);

            if (checkuserphone != null)
            {
                return(BadRequest("Phone number already exists"));
            }

            var userToCreate = _mapper.Map <User>(userForCreateAdminDto);
            var result       = await _userManager.CreateAsync(userToCreate, userForCreateAdminDto.Password);

            var           userToReturn = _mapper.Map <UserForDisplayDetailDto>(userToCreate);
            List <string> rolesArray   = new List <string> {
                "DriverAdmin"
            };

            if (role_id == 4)
            {
                rolesArray = new List <string> {
                    "DriverAdmin", "AccountAdmin", "BranchAdmin", "SuperAdmin"
                };
            }
            if (role_id == 3)
            {
                rolesArray = new List <string> {
                    "DriverAdmin", "AccountAdmin", "BranchAdmin"
                };
            }
            if (role_id == 2)
            {
                rolesArray = new List <string> {
                    "DriverAdmin", "AccountAdmin"
                };
            }

            if (result.Succeeded)
            {
                var userFromRepo = await _userManager.FindByNameAsync(userForCreateAdminDto.UserName);

                result = await _userManager.AddToRolesAsync(userFromRepo, rolesArray);

                if (!result.Succeeded)
                {
                    await _userManager.DeleteAsync(userFromRepo);

                    return(BadRequest("Could not added roles, Please register again"));
                }
                return(CreatedAtRoute("GetUser", new { Controller = "Users", id = userToCreate.Id }, userToReturn));
            }
            return(BadRequest(result.Errors));
        }