using Domain.Entities; using Domain.Generics; namespace Models.Interfaces { public interface IPhSQuoteHeaderRepository { Task> GetAllAsync(int page = 1, int pageSize = 50); Task GetByIdAsync(int id); Task> GetByCustomerIdAsync(int customerId); Task> SearchAsync(int? customerId, string? quoteNumber, int? professionalId, int? institutionId, int? patientId, DateTime? issueDateFrom, DateTime? issueDateTo, string? status, int page = 1, int pageSize = 50); Task AddAsync(EQuoteHeader quoteHeader); Task UpdateAsync(EQuoteHeader quoteHeader); Task DeleteAsync(int id); // Ajustes Task> GetAdjustmentsByQuoteIdAsync(int quoteId); Task AddAdjustmentAsync(EQuoteAdjustment adjustment); Task UpdateAdjustmentAsync(EQuoteAdjustment adjustment); Task DeleteAdjustmentAsync(int adjustmentId); /// /// Obtiene todos los impuestos asociados a un presupuesto dado por su ID. /// Task> GetTaxesByQuoteIdAsync(int quoteId); /// /// Agrega un nuevo impuesto al presupuesto correspondiente. /// Task AddTaxAsync(EQuoteTax tax); /// /// Actualiza los datos de un impuesto existente en un presupuesto. /// Task UpdateTaxAsync(EQuoteTax tax); /// /// Elimina un impuesto asociado a un presupuesto a partir de su ID. /// Task DeleteTaxAsync(int taxId); } }