using Domain.Dtos; 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> SearchAsync(int? customerId, string? customerText, string? quoteNumber, int? professionalId, string? professionalText, int? institutionId, string? institutionText, int? patientId, string? patientText, DateTime? issueDateFrom, DateTime? issueDateTo, string? status, int page = 1, int pageSize = 50); //Task UpdateQuoteAsync(EQuoteHeader quote); //Task DeleteQuoteAsync(int id); #endregion #region Exportación //Task ExportFilteredQuotesToExcelAsync(QuoteSearchParams searchParams); #endregion #region Guardado completo de presupuesto (encabezado + detalles + roles + ajustes + impuestos) Task<(int Id, string Quotenumber)> CreateFullQuoteAsync(EQuoteHeader quote, int formSeriesId); Task GetDtoByIdAsync(int id); #endregion } }