public async Task <EntityResult <RoleDto> > Handle(AddRoleRequest request, System.Threading.CancellationToken cancellationToken) { _logger.LogInformation($"AddRol - RolId[{request.Employee.Id}]", request.Employee); try { if (request.Invalid) { return(new EntityResult <RoleDto>(request.Notifications, null) { Error = ErrorCode.BadRequest }); } var entity = _mapper.Map <Role>(request.Employee); var resultado = await _rolRepository.InsertAsync(entity); var roldto = _mapper.Map <RoleDto>(resultado); _unitOfWork.SaveSync(); return(new EntityResult <RoleDto>(request.Notifications, roldto)); } catch (Exception ex) { _logger.LogCritical("RoleOperation-AddRolHandler", ex); request.AddNotification(new Notification("RoleOperation-AddRolHandler", $"Internal Server Error: {ex.Message}")); throw; } finally { _logger.LogInformation("Create Rol process finished"); } }