You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DeleteUsersCommand.cs 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using AutoMapper;
  2. using BlackRock.Reporting.API.Models;
  3. using MediatR;
  4. namespace BlackRock.Reporting.API.Mediator
  5. {
  6. public class DeleteUsersCommand : IRequest<Result<Guid>>
  7. {
  8. public Guid Id { get; }
  9. public DeleteUsersCommand(Guid id)
  10. {
  11. this.Id = id;
  12. }
  13. }
  14. public class DeleteUsersCommandHandlers : IRequestHandler<DeleteUsersCommand, Result<Guid>>
  15. {
  16. private readonly ILogger<DeleteUsersCommandHandlers> logger;
  17. private readonly IMapper mapper;
  18. public DeleteUsersCommandHandlers(ILogger<DeleteUsersCommandHandlers> logger, IMapper mapper)
  19. {
  20. this.mapper = mapper;
  21. this.logger = logger;
  22. }
  23. public async Task<Result<Guid>> Handle(DeleteUsersCommand command, CancellationToken cancellationToken)
  24. {
  25. if (command.Id == Guid.Empty)
  26. throw new ArgumentException($"Parameter {nameof(command.Id)} must not be null or empty");
  27. logger.LogInformation("Deleting user ...");
  28. try
  29. {
  30. var user = new User();
  31. // var user = repository.GetUserByIdAsync(id);
  32. // mapper.Map<UserForm, User>(command.User,user)
  33. // var user = mapper.Map<UserForm, User>(command.User);
  34. var id = user.Id;
  35. // await repository.RemoveAsync(user);
  36. // await unitOfWork.SaveChangesAsync();
  37. return new Result<Guid> { Data = id };
  38. }
  39. catch (Exception ex)
  40. {
  41. return new Result<Guid> { IsSuccess = false, Error = "Faild to delete data from DB." };
  42. }
  43. }
  44. }
  45. }