44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Net.Mail;
|
|
using System.Numerics;
|
|
using System.Text.RegularExpressions;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ComplianceNFs.Core.Ports
|
|
{
|
|
public interface IMailListener
|
|
{
|
|
void StartListening();
|
|
event Action<MailMessage> NewMailReceived;
|
|
}
|
|
|
|
public interface IXmlParser
|
|
{
|
|
Entities.ParsedInvoice Parse(Stream xmlStream);
|
|
}
|
|
|
|
public interface IPdfParser
|
|
{
|
|
Entities.ParsedInvoice Parse(Stream pdfStream);
|
|
}
|
|
|
|
public interface IAccessDbRepository
|
|
{
|
|
IEnumerable<Entities.BuyingRecord> GetByCnpj(string codSmartUnidade);
|
|
IEnumerable<Entities.BuyingRecord> GetByCnpjAndMonth(string codSmartUnidade, int refMonth);
|
|
}
|
|
|
|
public interface IAttachmentRepository
|
|
{
|
|
Task SaveRawAsync(Entities.EnergyInvoice invoice);
|
|
Task UpdateMatchAsync(int invoiceId, BigInteger matchedCodTE, Entities.InvoiceStatus status, string notes);
|
|
}
|
|
|
|
public interface IFileArchiver
|
|
{
|
|
void ArchiveAsync(Entities.EnergyInvoice invoice);
|
|
}
|
|
}
|