2025-04-27 02:19:29 -03:00
|
|
|
|
using Domain.Entities;
|
|
|
|
|
|
using Domain.Generics;
|
2025-05-06 21:00:03 -03:00
|
|
|
|
using Microsoft.EntityFrameworkCore.Storage;
|
2025-04-27 02:19:29 -03:00
|
|
|
|
|
|
|
|
|
|
namespace Models.Interfaces
|
|
|
|
|
|
{
|
|
|
|
|
|
public interface IPhSQuoteHeaderRepository
|
|
|
|
|
|
{
|
|
|
|
|
|
Task<PagedResult<EQuoteHeader>> GetAllAsync(int page = 1, int pageSize = 50);
|
|
|
|
|
|
Task<EQuoteHeader?> GetByIdAsync(int id);
|
2025-05-01 17:59:59 -03:00
|
|
|
|
Task<IEnumerable<EQuoteHeader>> GetByCustomerIdAsync(int customerId);
|
|
|
|
|
|
Task<PagedResult<EQuoteHeader>> SearchAsync(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> AddAsync(EQuoteHeader quoteHeader);
|
|
|
|
|
|
Task UpdateAsync(EQuoteHeader quoteHeader);
|
|
|
|
|
|
Task DeleteAsync(int id);
|
2025-05-01 17:59:59 -03:00
|
|
|
|
|
|
|
|
|
|
// Ajustes
|
|
|
|
|
|
Task<IEnumerable<EQuoteAdjustment>> GetAdjustmentsByQuoteIdAsync(int quoteId);
|
|
|
|
|
|
Task<EQuoteAdjustment> AddAdjustmentAsync(EQuoteAdjustment adjustment);
|
|
|
|
|
|
Task UpdateAdjustmentAsync(EQuoteAdjustment adjustment);
|
|
|
|
|
|
Task DeleteAdjustmentAsync(int adjustmentId);
|
2025-05-05 22:50:02 -03:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Obtiene todos los impuestos asociados a un presupuesto dado por su ID.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Task<IEnumerable<EQuoteTax>> GetTaxesByQuoteIdAsync(int quoteId);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Agrega un nuevo impuesto al presupuesto correspondiente.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Task<EQuoteTax> AddTaxAsync(EQuoteTax tax);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Actualiza los datos de un impuesto existente en un presupuesto.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Task UpdateTaxAsync(EQuoteTax tax);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Elimina un impuesto asociado a un presupuesto a partir de su ID.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Task DeleteTaxAsync(int taxId);
|
2025-05-06 21:00:03 -03:00
|
|
|
|
Task<string> CreateFullQuoteAsync(EQuoteHeader quote, int formSeriesId);
|
|
|
|
|
|
Task<IDbContextTransaction> BeginTransactionAsync();
|
2025-04-27 02:19:29 -03:00
|
|
|
|
}
|
|
|
|
|
|
}
|