public async Task <Response> Handle(Request request, CancellationToken cancellationToken) { if (await this._userReadRepository.GetByEmailAsync(request.Email) != null) { return(new Response().AddError("Email already registered")); } if (await this._userReadRepository.GetByCPFAsync(request.CPF) != null) { return(new Response().AddError("CPF already registered")); } var user = new Domain.Entities.User(request.Name, request.Email, request.CPF, (int)UserProfile.User, request.Password); _userWriteRepository.Add(user); await _uow.CommitAsync(); var emailSubject = "Seja bem vindo ao Calculador de Dívida!"; var emailBody = $"<p>Olá, {user.Name}!</p>" + "<p>Sua conta de usuário no sistema Calculador de Dívida foi criada com sucesso!.<p/>"; List <string> emails = new List <string>(); emails.Add(user.Email); await _mediator.Publish(new Notification(emailSubject, emailBody, emails)); return(new Response(user)); }
public async Task HandleAsync(ChangePasswordCommand command) { var customerDomain = _mapper.Map <Customer>(command.ComandData); var customer = await _customerReadRepository.Get(command.ComandData.TenantId); if (customer == null) { await _customerWriteRepository.Add(customerDomain); } var user = await _userReadRepository.GetByUsername(command.ComandData.Data.Username); var userDomain = new User { Id = user == null?Guid.NewGuid() : user.Id, CustomerId = command.ComandData.TenantId, Username = command.ComandData.Data.Username, RoleId = (int)Common.Enums.Roles.Local, Password = MD5.CreateMD5(command.ComandData.Data.Password) }; if (user == null) { await _userWriteRepository.Add(userDomain); } else { await _userWriteRepository.Update(userDomain); } }
public async Task <EntityResult <Domain.Models.Entity.User> > Create(RegisterUserCommand command) { var result = Domain.Models.Entity.User.TryCreateToInsert(command.Name, command.Email, command.Password); if (result.Valid) { await _userWriteRepository.Add(result.Entity); } return(result); }
public async Task Handle(RegisterUserCommand message) { var existingUser = await userReadRepository.ExistUserByEmail(message.Id, message.Email); if (existingUser) { throw new Exception("User already exists with this email."); } await userWriteRepository.Add(Models.User.CreateToInsert(message.Name, message.Email, message.Password)); await mediator.Publish(new RegisteredUserEvent(message.Name, message.Email)); }