Files
GestionIntegralWeb/Backend/GestionIntegral.Api/Models/Dtos/Reportes/ViewModels/CuentasDistribuidorViewModel.cs

32 lines
1.5 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
namespace GestionIntegral.Api.Dtos.Reportes.ViewModels
{
public class CuentasDistribuidorViewModel
{
// --- Datos de entrada ---
public IEnumerable<BalanceCuentaDistDto> Movimientos { get; set; } = new List<BalanceCuentaDistDto>();
public IEnumerable<BalanceCuentaPagosDto> Pagos { get; set; } = new List<BalanceCuentaPagosDto>();
public IEnumerable<BalanceCuentaDebCredDto> DebitosCreditos { get; set; } = new List<BalanceCuentaDebCredDto>();
// Saldo inicial del período: snapshot del último cierre + movimientos netos hasta fechaDesde.
// 0 si no hay cierre previo.
public decimal SaldoInicial { get; set; }
// --- Parámetros del reporte ---
public string NombreDistribuidor { get; set; } = string.Empty;
public string FechaDesde { get; set; } = string.Empty;
public string FechaHasta { get; set; } = string.Empty;
public string FechaReporte { get; set; } = DateTime.Now.ToString("dd/MM/yyyy");
// --- Propiedades para el resumen final ---
public decimal TotalMovimientos => Movimientos.Sum(m => m.Debe - m.Haber);
public decimal TotalPagos => Pagos.Sum(p => p.Debe - p.Haber);
public decimal TotalDebitosCreditos => DebitosCreditos.Sum(d => d.Debe - d.Haber);
// Saldo Final = Saldo Inicial + suma neta del período (Debe - Haber por sección).
public decimal SaldoFinal => SaldoInicial + TotalMovimientos + TotalPagos + TotalDebitosCreditos;
}
}