public async Task <bool> Create(UserCreateSaveModel userCreateSaveModel, int operatingUserId) { //check for duplicate username if (await _context.UsersTbl .Include(udt => udt.UserDetailsTbl) .AsNoTracking() .AnyAsync(u => u.Username == userCreateSaveModel.User.Username && u.UserId != userCreateSaveModel.User.UserId && !u.UserDetailsTbl.IsDeleted ) ) { throw new BadRequestException(string.Format(UserValidationMessage.USERNAME_ALREADY_TAKEN, userCreateSaveModel.User.Username)); } //byte[] passwordHash, passwordSalt; //CreatePasswordHash(password, out passwordHash, out passwordSalt); //user.PasswordHash = passwordHash; //user.PasswordSalt = passwordSalt; UsersTbl usersTbl = new UsersTbl { UserDetailsTbl = new UserDetailsTbl() { UserContentTbl = await _userContentService.GetNewUserContent(userCreateSaveModel.User.UserId) } }; //populate table objects _mapper.Map(userCreateSaveModel.User, usersTbl); _mapper.Map(userCreateSaveModel.UserDetailsBaseAdmin, usersTbl.UserDetailsTbl); usersTbl.UserDetailsTbl.CreatedBy = operatingUserId; usersTbl.UserDetailsTbl.ModifiedBy = operatingUserId; await _context.AddAsync(usersTbl); await _context.SaveChangesAsync(); //after save update models with data //_mapper.Map(usersTbl, userSaveModel.User); //_mapper.Map(usersTbl.UserDetailsTbl, userSaveModel.UserDetail); return(true); }
public async Task <ActionResult <bool> > Create([FromBody] UserCreateSaveModel userCreateSaveModel) { return(await _userService.Create(userCreateSaveModel, _operatingUser.GetUserId(HttpContext))); }