using Domain.Dtos; using Domain.Entities; using Domain.Generics; namespace Models.Interfaces { public interface IQuoteRepository { #region Presupuestos 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); #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); Task AuthorizeQuoteAsync(int quoteId, List approvedItems); #endregion } }