Files
social-media/src/Application/Users/Commands/CreateUser.cs
2024-04-22 16:43:20 -04:00

39 lines
1.3 KiB
C#

using System.Dynamic;
using Hutopy.Application.Common.Interfaces;
using Hutopy.Domain.Interfaces;
namespace Hutopy.Application.Users.Commands;
public record CreateUserCommand : IRequest<Guid>
{
public required string FirstName { get; init; }
public required string LastName { get; init; }
public required string EmailAddress { get; init; }
public required string UserName { get; init; }
public required string Password { get; init; }
}
public class CreateUserCommandHandler : IRequestHandler<CreateUserCommand, Guid>
{
private readonly IApplicationDbContext _context;
private readonly IUserService _userService;
public CreateUserCommandHandler(IApplicationDbContext context, IUserService userService)
{
_context = context;
_userService = userService;
}
public async Task<Guid> Handle(CreateUserCommand request, CancellationToken cancellationToken)
{
// Dont really need the handler for the create. The get will work like this :
var user = await _userService.FindUserByIdAsync("072ae7d5-8c4a-4a0f-b250-7d39941125cb");
// var user2 = await _userService.FindUserByEmailAsync("test10@hotmail.com");
var tt = user?.FirstName;
await _context.SaveChangesAsync(cancellationToken);
return Guid.NewGuid();
}
}