コード例 #1
0
ファイル: AuthController.cs プロジェクト: szrz92/FMS
 public async Task <IActionResult> RegisteredUser(ApiRequest request)
 {
     try
     {
         FMSApplicationUserVM user = await(from u in dbContext.Users
                                           where u.UserName == request.UserName
                                           select new FMSApplicationUserVM()
         {
             Email           = u.Email,
             FullName        = u.Name,
             Id              = u.Id,
             Roles           = (from r in dbContext.UserRoles where r.UserId == u.Id select r.RoleId).ToList(),
             Department      = (from g in dbContext.GBMSUsers where g.XName == u.Name select g.XDepartmentDescription).SingleOrDefault(),
             Password        = "******",
             ConfirmPassword = "******",
             Region          = u.Region,
             SubRegion       = u.SubRegion,
             Station         = u.Station
         }).SingleOrDefaultAsync();
         return(Ok(user));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
コード例 #2
0
ファイル: AuthController.cs プロジェクト: szrz92/FMS
        public async Task <IActionResult> RegisterUser(FMSApplicationUserVM userVM)
        {
            try
            {
                var fmsuser = await _userManager.FindByNameAsync(userVM.UserName);

                if (fmsuser == null)
                {
                    var user = new ApplicationUser
                    {
                        UserName        = userVM.UserName,
                        Email           = userVM.Email,
                        NormalizedEmail = userVM.Email.ToUpper()
                    };
                    user.NormalizedUserName = user.UserName.ToUpper();
                    user.EmailConfirmed     = true;
                    user.Id        = userVM.Id;
                    user.Name      = userVM.FullName;
                    user.SubRegion = userVM.SubRegion;
                    user.Region    = userVM.Region;
                    user.Station   = userVM.Station;
                    var result = await _userManager.CreateAsync(user, userVM.Password);

                    if (!result.Succeeded)
                    {
                        return(BadRequest(result.Errors.FirstOrDefault()?.Description));
                    }
                    else
                    {
                        user = await _userManager.FindByNameAsync(userVM.UserName);

                        foreach (var role in userVM.Roles)
                        {
                            var roleresult = await _userManager.AddToRoleAsync(user, role);
                        }
                        return(Ok("User is added successfully."));
                    }
                }
                else
                {
                    return(BadRequest("A user with this email/username already exists."));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
コード例 #3
0
ファイル: AuthController.cs プロジェクト: szrz92/FMS
        public async Task <IActionResult> UpdateUser(FMSApplicationUserVM userVM)
        {
            try
            {
                var fmsuser = await _userManager.FindByNameAsync(userVM.UserName);

                if (fmsuser != null)
                {
                    fmsuser.UserName           = userVM.UserName;
                    fmsuser.Email              = userVM.Email;
                    fmsuser.NormalizedEmail    = userVM.Email.ToUpper();
                    fmsuser.NormalizedUserName = fmsuser.UserName.ToUpper();
                    fmsuser.EmailConfirmed     = true;
                    fmsuser.Id        = userVM.Id;
                    fmsuser.Name      = userVM.FullName;
                    fmsuser.Region    = userVM.Region;
                    fmsuser.SubRegion = userVM.SubRegion;
                    fmsuser.Station   = userVM.Station;

                    var result = await _userManager.UpdateAsync(fmsuser);

                    if (!result.Succeeded)
                    {
                        return(BadRequest(result.Errors.FirstOrDefault()?.Description));
                    }
                    else
                    {
                        fmsuser = await _userManager.FindByNameAsync(userVM.UserName);

                        List <string> addedroles = (from r in dbContext.UserRoles where r.UserId == fmsuser.Id select r.RoleId).ToList();
                        await _userManager.RemoveFromRolesAsync(fmsuser, addedroles);

                        await _userManager.AddToRolesAsync(fmsuser, userVM.Roles);

                        return(Ok("User is edited successfully."));
                    }
                }
                else
                {
                    return(BadRequest("User to be edited doesn't exist."));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }