private async Task <AppUser> ToNewUser(AppUserDTO user) { BasicCheck(user ?? throw new ArgumentNullException()); //Check role & get role id _roleCache.GetRoleId(user.Role, out int roleId, out var appRole); //CA must have manager if (appRole == RoleEnum.CA) { //CA must have manager await CheckUser(user.Manager?.UserId, RoleEnum.BDS, true); } if (appRole == RoleEnum.BDS) { //Currenly, only CA allow to have manager if (user.Manager != null) { throw new BussinessException($"Only CA can have manager(BDS)"); } } return(new AppUser() { Name = user.Name, Username = user.Username.ToLower(), Active = true, Email = $"{user.Username}{_options.Suffix}", Hr = user.HR, Phone = user.Phone, Phone2 = user.Phone2, RoleId = roleId, ManagerId = user.Manager?.UserId }); }
public async Task <IActionResult> Suggest([FromQuery] string role, [FromQuery] string q = "") { if (string.IsNullOrEmpty(q) || string.IsNullOrEmpty(role)) { return(NoContent()); } try { _roleCache.GetRoleId(role, out int roleId, out var appRole); return(Ok(await _service.Suggest(appRole, q))); } catch (BussinessException ex) { _logger.LogDebug(ex.Message); return(BadRequest(ex.Message)); } }