public async Task <Result <BackpackModel> > Handle(CreateBackpack request, CancellationToken cancellationToken) { var isValid = await _validator.IsValidAsync(request); if (!isValid) { return(Result.Failure <BackpackModel>("Validation failed")); } var user = await _context.Users.FirstAsync(u => u.Sub == request.UserSub, cancellationToken); var backpack = new Domain.Entities.Backpack { Name = request.Backpack.Name }; var backpackToUser = new BackpackToUser { Backpack = backpack, User = user, IsOwner = true }; await _context.Backpacks.AddAsync(backpack, cancellationToken); await _context.BackpacksToUsers.AddAsync(backpackToUser, cancellationToken); await _context.SaveChangesAsync(cancellationToken); return(new BackpackModel { Id = backpack.Id, Name = backpack.Name }); }
public async Task CreateApplicationUserAsync(UserRegistrationDto user, string userSub) { var newUser = new DeUrgenta.Domain.Entities.User { FirstName = user.FirstName, LastName = user.LastName, Sub = userSub, }; var userBackpack = new Backpack { Name = "Ruxacul tau personal" }; var userToBackpack = new BackpackToUser { Backpack = userBackpack, User = newUser, IsOwner = true }; await _context.Backpacks.AddAsync(userBackpack); await _context.Users.AddAsync(newUser); await _context.BackpacksToUsers.AddAsync(userToBackpack); await _context.SaveChangesAsync(); }