40 lines
1.7 KiB
C#
40 lines
1.7 KiB
C#
using Serilog;
|
|
using System;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using webapi.Domain.AggregatesModel.FlatApprovalAggregate;
|
|
using webapi.Domain.AggregatesModel.UserFlatMappingAggregate;
|
|
using webapi.Domain.Events;
|
|
using webapi.Domain.SeedWork;
|
|
using webapi.Exceptions;
|
|
using webapi.Infractructure.Core;
|
|
using webapi.Infractructure.Repositories;
|
|
|
|
namespace webapi.Infractructure.EventHandlers
|
|
{
|
|
public class DeleteUserToFlatMappingApprovalDomainEventHandler : BaseEventHandler<DeleteUserToFlatMappingApprovalDomainEvent>
|
|
{
|
|
readonly IUsersFlatApprovalRepository _repository;
|
|
readonly IUserAuthRepository _userAuthRepository;
|
|
readonly ILogger _log;
|
|
|
|
public DeleteUserToFlatMappingApprovalDomainEventHandler(ILogger log, IUsersFlatApprovalRepository repository, IUserAuthRepository userAuthRepository) {
|
|
_log= log;
|
|
_repository = repository;
|
|
_userAuthRepository = userAuthRepository;
|
|
}
|
|
|
|
public override async Task Handle(DeleteUserToFlatMappingApprovalDomainEvent request)
|
|
{
|
|
var user = _userAuthRepository.GetUserByTaloyhtioUserId(request.UserId);
|
|
if (user == null) throw new WarningException($"The user with Id: {request.UserId} does not exist");
|
|
var u2f = _repository.GetApproval(user.TaloyhtioUserId, request.FlatId);
|
|
_log.Information($"{nameof(DeleteUserToFlatMappingApprovalDomainEventHandler)} TaloyhtioUserId: {user.TaloyhtioUserId}, FlatId: {request.FlatId}, IsFound: {u2f != null}");
|
|
if (u2f != null)
|
|
{
|
|
await _repository.DeleteEntityAsync(u2f);
|
|
}
|
|
}
|
|
}
|
|
} |