public async Task <User> Post([FromBody] User User) { User user = null; if (ModelState.IsValid) { IdentityUser identityuser = await identityUserManager.FindByNameAsync(User.Username); if (identityuser == null) { identityuser = new IdentityUser(); identityuser.UserName = User.Username; identityuser.Email = User.Username; var result = await identityUserManager.CreateAsync(identityuser, User.Password); if (result.Succeeded) { user = users.AddUser(User); SiteUser SiteUser = new SiteUser(); SiteUser.SiteId = User.SiteId; SiteUser.UserId = user.UserId; SiteUser.IsAuthorized = true; siteusers.AddSiteUser(SiteUser); } } } return(user); }
public async Task <User> Post([FromBody] User User) { User user = null; if (ModelState.IsValid) { IdentityUser identityuser = await IdentityUserManager.FindByNameAsync(User.Username); if (identityuser == null) { identityuser = new IdentityUser(); identityuser.UserName = User.Username; identityuser.Email = User.Username; var result = await IdentityUserManager.CreateAsync(identityuser, User.Password); if (result.Succeeded) { user = Users.AddUser(User); if (!user.IsSuperUser) { SiteUser siteuser = new SiteUser(); siteuser.SiteId = User.SiteId; siteuser.UserId = user.UserId; SiteUsers.AddSiteUser(siteuser); List <Role> roles = Roles.GetRoles(user.SiteId).Where(item => item.IsAutoAssigned == true).ToList(); foreach (Role role in roles) { UserRole userrole = new UserRole(); userrole.UserId = user.UserId; userrole.RoleId = role.RoleId; userrole.EffectiveDate = null; userrole.ExpiryDate = null; UserRoles.AddUserRole(userrole); } } } } else { user = Users.GetUser(User.Username); SiteUser siteuser = SiteUsers.GetSiteUser(User.SiteId, user.UserId); if (siteuser == null) { if (!user.IsSuperUser) { siteuser = new SiteUser(); siteuser.SiteId = User.SiteId; siteuser.UserId = user.UserId; SiteUsers.AddSiteUser(siteuser); List <Role> roles = Roles.GetRoles(User.SiteId).Where(item => item.IsAutoAssigned == true).ToList(); foreach (Role role in roles) { UserRole userrole = new UserRole(); userrole.UserId = user.UserId; userrole.RoleId = role.RoleId; userrole.EffectiveDate = null; userrole.ExpiryDate = null; UserRoles.AddUserRole(userrole); } } } } } return(user); }
public async Task <User> Post([FromBody] User User) { User user = null; if (ModelState.IsValid) { bool authorized = HttpContext.User.IsInRole(Constants.AdminRole); if (!authorized && !Users.GetUsers().Any()) { authorized = true; // during initial installation we need to be able to create the host user } if (authorized) { IdentityUser identityuser = await IdentityUserManager.FindByNameAsync(User.Username); if (identityuser == null) { identityuser = new IdentityUser(); identityuser.UserName = User.Username; identityuser.Email = User.Username; var result = await IdentityUserManager.CreateAsync(identityuser, User.Password); if (result.Succeeded) { user = Users.AddUser(User); if (!user.IsHost) // host users are part of every site by default { SiteUser siteuser = new SiteUser(); siteuser.SiteId = User.SiteId; siteuser.UserId = user.UserId; SiteUsers.AddSiteUser(siteuser); List <Role> roles = Roles.GetRoles(user.SiteId).Where(item => item.IsAutoAssigned == true).ToList(); foreach (Role role in roles) { UserRole userrole = new UserRole(); userrole.UserId = user.UserId; userrole.RoleId = role.RoleId; userrole.EffectiveDate = null; userrole.ExpiryDate = null; UserRoles.AddUserRole(userrole); } } } } else { user = Users.GetUser(User.Username); SiteUser siteuser = SiteUsers.GetSiteUser(User.SiteId, user.UserId); if (siteuser == null) { if (!user.IsHost) // host users are part of every site by default { siteuser = new SiteUser(); siteuser.SiteId = User.SiteId; siteuser.UserId = user.UserId; SiteUsers.AddSiteUser(siteuser); List <Role> roles = Roles.GetRoles(User.SiteId).Where(item => item.IsAutoAssigned == true).ToList(); foreach (Role role in roles) { UserRole userrole = new UserRole(); userrole.UserId = user.UserId; userrole.RoleId = role.RoleId; userrole.EffectiveDate = null; userrole.ExpiryDate = null; UserRoles.AddUserRole(userrole); } } } } } } return(user); }