using AutoMapper; using BlackRock.Reporting.API.Models; using MediatR; namespace BlackRock.Reporting.API.Mediator { public class DeleteUsersCommand : IRequest> { public Guid Id { get; } public DeleteUsersCommand(Guid id) { this.Id = id; } } public class DeleteUsersCommandHandlers : IRequestHandler> { private readonly ILogger logger; private readonly IMapper mapper; public DeleteUsersCommandHandlers(ILogger logger, IMapper mapper) { this.mapper = mapper; this.logger = logger; } public async Task> Handle(DeleteUsersCommand command, CancellationToken cancellationToken) { if (command.Id == Guid.Empty) throw new ArgumentException($"Parameter {nameof(command.Id)} must not be null or empty"); logger.LogInformation("Deleting user ..."); try { var user = new User(); // var user = repository.GetUserByIdAsync(id); // mapper.Map(command.User,user) // var user = mapper.Map(command.User); var id = user.Id; // await repository.RemoveAsync(user); // await unitOfWork.SaveChangesAsync(); return new Result { Data = id }; } catch (Exception ex) { return new Result { IsSuccess = false, Error = "Faild to delete data from DB." }; } } } }