示例#1
0
        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
            });
        }
示例#2
0
        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();
        }