Пример #1
0
 private void TestRegisterException(UserCreateM model, string expected)
 {
     try
     {
         _user.Register(model, null);
     }
     catch (System.Exception e)
     {
         Assert.AreEqual(expected, ((RequestException)e).Error.Detail.InnerMessage);
     }
 }
Пример #2
0
 public IActionResult Register([FromBody] UserCreateM model)
 {
     try
     {
         var result = _user.Register(model, null);
         result.Jwt = _jwtAuth.GenerateJwt(Guid.Empty, result.User.Id, ApplicationRole.Web_User);
         return(Created("", result));
     }
     catch (Exception e)
     {
         return(GetError(e));
     }
 }
Пример #3
0
 public IActionResult CreateMember([FromBody] UserCreateM model)
 {
     try
     {
         JwtClaimM jwt_claim = _jwtAuth.GetClaims(Request);
         if (!jwt_claim.AdminUserId.Equals(Guid.Empty))
         {
             return(new ForbidResult());
         }
         return(Created("", _user.Register(model, jwt_claim.UserId)));
     }
     catch (Exception e)
     {
         return(GetError(e));
     }
 }
Пример #4
0
        public UserAuthorizationM Register(UserCreateM model, Guid?admin_user_id)
        {
            try
            {
                if (string.IsNullOrEmpty(model.Username) | string.IsNullOrEmpty(model.Password))
                {
                    throw BadRequest("The username or password not must emplty!");
                }
                if (_user.Any(u => u.Username.Equals(model.Username)))
                {
                    throw BadRequest("The username has been used!");
                }

                User user = _user.Add(new User
                {
                    Username    = model.Username,
                    Password    = NococidAuthentication.GetHashedPassword(model.Username, model.Password),
                    AdminUserId = admin_user_id
                });
                SaveChanges();
                UserAuthorizationM result = new UserAuthorizationM
                {
                    HasVscAccount = false,
                    User          = new UserM
                    {
                        Id       = user.Id,
                        Username = user.Username
                    }
                };
                if (admin_user_id != null)
                {
                    result.AdminUser = _user.Where(u => u.Id.Equals(admin_user_id))
                                       .Select(u => new UserM
                    {
                        Id       = u.Id,
                        Username = u.Username
                    }).FirstOrDefault();
                }

                return(result);
            }
            catch (Exception e)
            {
                throw e is RequestException ? e : _errorHandler.WriteLog("An error occurred while register!",
                                                                         e, DateTime.Now, "Server", "Service_User_Register");
            }
        }
Пример #5
0
        public async Task <IActionResult> CreateUser([FromBody] UserCreateM data)
        {
            if (await _userManager.FindByNameAsync(data.Login) != null)
            {
                ModelState.AddModelError(nameof(data.Login), nameof(Resource.LoginError));
                return(BadRequest(ModelState));
            }

            var user = new User
            {
                UserName        = data.Login,
                Name            = data.Name,
                PhoneNumber     = data.Phone,
                Email           = data.Email,
                Status          = data.Status,
                Description     = data.Description,
                DataAccessArray = data.DataAccess.ToStringCollection(),
            };
            var createResult = await _userManager.CreateAsync(user, data.Password);

            if (!createResult.Succeeded)
            {
                createResult.Errors.ForEach(err => ModelState.AddModelError(err.Code, err.Description));
                return(BadRequest(ModelState));
            }
            var assignRolesResult = await _userManager.AddToRoleAsync(user, data.AssignedRole);


            if (!assignRolesResult.Succeeded)
            {
                assignRolesResult.Errors.ForEach(err => ModelState.AddModelError(err.Code, err.Description));
                return(BadRequest(ModelState));
            }

            await _userService.RelateUserRegionsAsync(user, data);

            await _userService.RelateUserActivityCategoriesAsync(user, data);

            var role = (await _userManager.GetRolesAsync(user)).Single();

            return(Created($"api/users/{user.Id}", UserVm.Create(user, role)));
        }
Пример #6
0
 public UserAuthorizationM Register(UserCreateM model, Guid?admin_user_id)
 {
     try
     {
         if (string.IsNullOrEmpty(model.Username) || string.IsNullOrEmpty(model.Password))
         {
             throw BadRequest("The username or password not must emplty!");
         }
         if (Utils.GuidUtils.users.Any(u => u.Username.Equals(model.Username)))
         {
             throw BadRequest("The username has been used!");
         }
         var user = new User
         {
             Id          = Utils.GuidUtils.GetNewGuid(),
             Username    = model.Username,
             Password    = ProjectManagementAuthentication.GetHashedPassword(model.Username, model.Password),
             AdminUserId = admin_user_id
         };
         Utils.GuidUtils.users.Add(user);
         UserAuthorizationM result = new UserAuthorizationM
         {
             User = new UserM
             {
                 Id       = user.Id,
                 Username = user.Username
             }
         };
         return(result);
     }
     catch (Exception e)
     {
         throw e is RequestException ? e : _errorHandler.WriteLog("An error occurred while register!",
                                                                  e, DateTime.Now, "Server", "Service_User_Register");
     }
 }