Taylohtio/IDP/webapi/webapi.Infrastructure/EventHandlers/DeleteUserToFlatMappingAppr...

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);
}
}
}
}