phronCare/Core/Interfaces/IQuoteDom.cs

47 lines
1.6 KiB
C#
Raw Normal View History

2025-04-27 02:19:29 -03:00
using Domain.Entities;
using Domain.Generics;
namespace Models.Interfaces
{
public interface IQuoteDom
{
#region Presupuestos
2025-04-27 02:19:29 -03:00
Task<PagedResult<EQuoteHeader>> GetAllQuotesAsync(int page = 1, int pageSize = 50);
Task<EQuoteHeader?> GetQuoteByIdAsync(int id);
Task<IEnumerable<EQuoteHeader>> GetQuotesByCustomerAsync(int customerId);
Task<PagedResult<EQuoteHeader>> SearchQuotesAsync(
int? customerId,
string? quoteNumber,
int? professionalId,
int? institutionId,
int? patientId,
DateTime? issueDateFrom,
DateTime? issueDateTo,
string? status,
int page = 1,
int pageSize = 50);
2025-04-27 02:19:29 -03:00
Task<EQuoteHeader> CreateQuoteAsync(EQuoteHeader quote, int formSeriesId);
Task UpdateQuoteAsync(EQuoteHeader quote);
Task DeleteQuoteAsync(int id);
#endregion
#region Ajustes
Task<IEnumerable<EQuoteAdjustment>> GetAdjustmentsByQuoteIdAsync(int quoteId);
Task<EQuoteAdjustment> AddAdjustmentAsync(EQuoteAdjustment adjustment);
Task UpdateAdjustmentAsync(EQuoteAdjustment adjustment);
Task DeleteAdjustmentAsync(int adjustmentId);
#endregion
#region Impuestos
Task<IEnumerable<EQuoteTax>> GetTaxesByQuoteIdAsync(int quoteId);
Task<EQuoteTax> AddTaxAsync(EQuoteTax tax);
Task UpdateTaxAsync(EQuoteTax tax);
Task DeleteTaxAsync(int taxId);
#endregion
#region Exportación
2025-04-27 02:19:29 -03:00
Task<byte[]> ExportFilteredQuotesToExcelAsync(QuoteSearchParams searchParams);
#endregion
2025-04-27 02:19:29 -03:00
}
}