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 <bool> Create(ContentBaseModel createModel, int operatingUserId) { //No need to check for duplicate as in some cases same content can be displayed twice. //So for now lets allow duplicate content ContentTbl tblRow = new ContentTbl(); //populate table object _mapper.Map(createModel, tblRow); tblRow.CreatedBy = operatingUserId; tblRow.ModifiedBy = operatingUserId; await _context.AddAsync(tblRow); await _context.SaveChangesAsync(); return(true); }