ComplianceNFs/ComplianceNFs.Core/Ports/DomainInterfaces.cs

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