Exemplo n.º 1
0
        public async Task <IActionResult> Create(
            [Bind("Id,UserId,Comment,PhoneNumber,Password,Email,UserName,RoleId,")]
            LarryUser larryUser
            )
        {
            if (ModelState.IsValid)
            {
                larryUser.Id = Guid.NewGuid();
                var _CreatedUser = new IdentityUser {
                    Email          = larryUser.Email,
                    EmailConfirmed = larryUser.EmailConfirmed,
                    UserName       = larryUser.UserName,
                };

                await _userManager.CreateAsync(
                    _CreatedUser,
                    larryUser.Password
                    );

                larryUser.UserId = _CreatedUser.Id;
                await _context.AddAsync(larryUser);

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(larryUser));
        }
Exemplo n.º 2
0
        // GET: LarryUserManagement/LarryUser/Create
        public async Task <IActionResult> CreateAsync()
        {
            var _LarryUser = new LarryUser {
                RoleSelectListItems = await GetRoleSelectListItemsAsync()
            };

            return(View(_LarryUser));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(Guid id,
                                               [Bind("Id,UserId,Comment,PhoneNumber,Password,Email,UserName,RoleId,")]
                                               LarryUser larryUser)
        {
            if (id != larryUser.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                if (!await _context.Roles.AnyAsync(p => p.Id == larryUser.RoleId))
                {
                    return(NotFound());
                }

                if (LarryUserExists(id))
                {
                    try
                    {
                        var _UserId = await _context.LarryUsers.Where(p => p.Id == id).Select(p => p.UserId).FirstOrDefaultAsync();

                        var _User = await _context.Users.Where(p => p.Id == _UserId).FirstOrDefaultAsync();

                        _User.Email           = larryUser.Email;
                        _User.PhoneNumber     = larryUser.PhoneNumber;
                        _User.NormalizedEmail = larryUser.Email.ToUpper();
                        _User.UserName        = larryUser.UserName;

                        var _RoleName = await _context.Roles.Where(p => p.Id == larryUser.RoleId).Select(p => p.Name).FirstOrDefaultAsync();

                        if (!await _context.UserRoles.AnyAsync(p => p.UserId == _UserId))
                        {
                            await _userManager.AddToRoleAsync(
                                _User,
                                _RoleName
                                );
                        }
                        else
                        {
                            var UserRole = await _context.UserRoles.Where(p => p.UserId == _UserId).FirstOrDefaultAsync();

                            UserRole.RoleId = larryUser.RoleId;
                        }

                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!LarryUserExists(larryUser.Id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                }
                else
                {
                    larryUser.Id = Guid.NewGuid();
                    var _CreatedUser = new IdentityUser {
                        Email          = larryUser.Email,
                        EmailConfirmed = larryUser.EmailConfirmed,
                        UserName       = larryUser.UserName,
                    };

                    await _userManager.CreateAsync(
                        _CreatedUser,
                        larryUser.Password
                        );

                    larryUser.UserId = _CreatedUser.Id;

                    var _RoleName = await _context.Roles.Where(p => p.Id == larryUser.RoleId).Select(p => p.Name).FirstOrDefaultAsync();

                    if (!await _context.UserRoles.AnyAsync(p => p.UserId == _CreatedUser.Id))
                    {
                        await _userManager.AddToRoleAsync(
                            _CreatedUser,
                            _RoleName
                            );
                    }
                    else
                    {
                        var UserRole = await _context.UserRoles.Where(p => p.UserId == _CreatedUser.Id).FirstOrDefaultAsync();

                        UserRole.RoleId = larryUser.RoleId;
                    }

                    await _context.AddAsync(larryUser);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            larryUser.RoleSelectListItems = await GetRoleSelectListItemsAsync();

            return(View(larryUser));
        }