コード例 #1
0
ファイル: UserController.cs プロジェクト: ruscal/myMoodServer
        public virtual ActionResult AddUser()
        {
            var model = new AddUserFormModel()
            {
                AvailableRoles = UserRole.GetRoles().Select(r => new SelectListItem {
                    Text = r.Value, Value = r.Key
                }).ToArray()
            };

            return(PartialView(MVC.User.Views.AddUser, model, "NewUser"));
        }
コード例 #2
0
        public async Task <Guid> AddUserAsync(User user, AddUserFormModel userForm)
        {
            try
            {
                if (_context.Users.Any(c => c.Username.ToLower() == userForm.Username.ToLower()))
                {
                    throw new StockAssistanceProviderGlobalException(UsersServiceErrors.UserExistError);
                }
                var groupRole = await _context.GroupAuthRoles.Where(c => c.GroupAuthId == userForm.GroupAuthId).ToListAsync();

                if (groupRole == null)
                {
                    throw new StockAssistanceProviderGlobalException(UsersServiceErrors.GroupNotFoundError);
                }

                var userReg = new User()
                {
                    GroupAuthId       = userForm.GroupAuthId,
                    FirstName         = userForm.FirstName,
                    Description       = userForm.Description,
                    IsActive          = userForm.IsActive,
                    UserType          = userForm.UserType,
                    LastName          = userForm.LastName,
                    AvailableUserType = userForm.AvailableUserType,
                    Password          = _securityService.GetSha256Hash(userForm.Password),
                    SerialNumber      = Guid.NewGuid().ToString("N"),

                    Location    = userForm.Location,
                    PhoneNumber = userForm.PhoneNumber,
                    Username    = userForm.Username.ToLower()
                };
                _context.Users.Add(userReg);
                _context.UserRoles.AddRange(groupRole.Select(c => c.RoleId).ToList().Select(roleId =>
                                                                                            new UserRole
                {
                    User   = userReg,
                    RoleId = roleId
                }));
                _context.SaveChanges();
                return(userReg.Id);
            }
            catch (Exception ex)
            {
                throw new StockAssistanceProviderGlobalException(UsersServiceErrors.AddUserError, ex);
            }
        }
コード例 #3
0
ファイル: UserController.cs プロジェクト: ruscal/myMoodServer
        public virtual ActionResult AddUser([Bind(Prefix = "NewUser")] AddUserFormModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (this.db.Get <User>().Any(u => u.UserName.Equals(model.UserName, StringComparison.InvariantCultureIgnoreCase)))
                    {
                        ModelState.AddModelError("NewUser.UserName", "A user with that user name already exists");
                    }
                    else
                    {
                        var newUser = Domain.User.RegisterNewUser(db,
                                                                  model.UserName,
                                                                  Domain.User.GeneratePassword(),
                                                                  model.EmailAddress,
                                                                  model.DisplayName,
                                                                  model.Enabled,
                                                                  UserRole.GetRoles().Where(r => model.AssignedRoles.Contains(r.Key)).Select(r => r.Key).ToArray());

                        newUser.ExpirePassword();

                        db.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("NewUser", ex.Message);
                }
            }

            if (!ModelState.IsValid)
            {
                model.AvailableRoles = UserRole.GetRoles().Select(r => new SelectListItem {
                    Text = r.Value, Value = r.Key, Selected = model.AssignedRoles.Contains(r.Key)
                }).ToArray();
            }

            return(ModelState.IsValid ?
                   Json(new { success = true }) :
                   Json(new { success = false, formWithErrorMessages = this.RenderPartialViewToString(MVC.User.Views.AddUser, model, "NewUser") }));
        }
コード例 #4
0
        public async Task <IActionResult> AddUser([FromBody] AddUserFormModel userForm)
        {
            var user = await _usersService.AddUserAsync(HttpContext.GetUser(), userForm);

            return(Ok(GetRequestResult(user)));
        }