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