Exemplo n.º 1
0
        public async Task <IActionResult> Store([FromBody] IdentityUserEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            string email = model.user.email.Trim();
            string role  = model.roles.FirstOrDefault();

            var exist = userService.GetUserByEmail(email);

            if (exist != null)
            {
                ModelState.AddModelError("user.email", "Email重複了");
                return(BadRequest(ModelState));
            }


            var profile = new Profile
            {
                Fullname = model.user.profile.fullname,
            };

            var user = await CreateUserAsync(email, role, profile);

            return(Ok(user));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Update(string id, [FromBody] IdentityUserEditViewModel model)
        {
            var user = userService.GetUserById(id);

            if (user == null)
            {
                return(NotFound());
            }

            string email = model.user.email;

            var exist = userService.GetUserByEmail(email);

            if (exist != null && exist.Id != id)
            {
                ModelState.AddModelError("user.email", "Email重複了");
                return(BadRequest(ModelState));
            }

            user = model.user.MapToEntity(user);

            await userService.UpdateUserAsync(user);

            await SyncUserRoles(user, model.roles);

            return(Ok(user));
        }
Exemplo n.º 3
0
        async Task SetRole(IdentityUserEditViewModel model, ApplicationUser user)
        {
            //foreach (var item in model.roleOptions)
            //{
            //	string role = item.value;
            //	bool inRole = await userManager.IsInRoleAsync(user, role);

            //	if (inRole)
            //	{
            //		model.role = role;
            //		return;
            //	}
            //}
        }
Exemplo n.º 4
0
        public IActionResult Create()
        {
            var userModel = new IdentityUserViewModel()
            {
                profile = new ProfileViewModel()
            };

            var model = new IdentityUserEditViewModel {
                user = userModel, roleOptions = GetRoleOptions()
            };

            model.roles = new string[] { "Staff" };

            return(Ok(model));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Edit(string id)
        {
            var user = userService.GetUserById(id);

            if (user == null)
            {
                return(NotFound());
            }

            var userModel = user.MapIdentityUserViewModel();

            var model = new IdentityUserEditViewModel {
                user = userModel, roleOptions = GetRoleOptions()
            };

            var roles = await GetRolesByUserAsync(user);

            model.roles = roles.Select(r => r.Name).ToArray();

            return(Ok(model));
        }