977 lines
No EOL
67 KiB
C#
977 lines
No EOL
67 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Http;
|
|
using ULA.Cathay.Credito.Json;
|
|
using ULA.Cathay.Credito.WCFDocumentos;
|
|
using ULA.Cathay.CreditoModel.Credito;
|
|
using ULA.Cathay.CreditoModel.DAL.Credito;
|
|
using Ultimus.Interfaces;
|
|
using ULA.Cathay.Credito.ControllersWebApi.RecopilacionInformacion;
|
|
using Ultimus.Interfaces.UltimusIntegration;
|
|
using ULA.Cathay.CreditoModel.Entidades;
|
|
using System.Text;
|
|
|
|
namespace ULA.Cathay.Credito.ControllersWebApi
|
|
{
|
|
public partial class DocumentosAPIController : ApiController
|
|
{
|
|
private string SaltoLinea = "\n";
|
|
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="IdSolicitud"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public ResultadoGeneracion GenerarCaratulaCredito(Solicitud modelo)
|
|
{
|
|
|
|
Entrada obj = new Entrada();
|
|
TipoTramite TipoTramite = null;
|
|
//Solicitud modelo = new Solicitud();
|
|
DocumentoDB doc = new DocumentoDB();
|
|
UltimusUser userCartula = new UltimusUser();
|
|
List<Moneda> MonedaCatalogo = new List<Moneda>();
|
|
ResultadoGeneracion respuesta = new ResultadoGeneracion();
|
|
CaratulaCreditoDAL ConnCaratulaDal = new CaratulaCreditoDAL();
|
|
GrupoInteresEconomicoDAL ConnCGIE = new GrupoInteresEconomicoDAL();
|
|
List<AprobacionesComite> FirmasCaratula = new List<AprobacionesComite>();
|
|
IngresoClienteAPIController ConnOferta = new IngresoClienteAPIController();
|
|
List<GrupoInteresEconomico> ExposicionGie = new List<GrupoInteresEconomico>();
|
|
CaratulaCreditoAPIController ConnCaratula = new CaratulaCreditoAPIController();
|
|
UltimusIntegrationAPIController UltimusIntgration = new UltimusIntegrationAPIController();
|
|
UltimusIntegrationClient UltimusClient = new UltimusIntegrationClient(UltimusIntgration.wSHttpBinding, UltimusIntgration.endpointAddress);
|
|
|
|
|
|
int? Indice = 0;
|
|
string Error = string.Empty;
|
|
decimal MontoMayorLinea = 0;
|
|
string NombreEjecutivo = string.Empty;
|
|
string IdentificacionPrincipal = string.Empty;
|
|
string TituloCambioCondicionesTipoCaratula = string.Empty;
|
|
|
|
|
|
try
|
|
{
|
|
MonedaCatalogo = new MonedaDAL().Obtener();
|
|
|
|
|
|
//modelo.IdSolicitud = IdSolicitud;
|
|
JsonSolicitud modelJson = ConnCaratula.ConsultarDatosSolicitusCaratula(modelo);
|
|
string Step = modelo.Step;
|
|
int? IncidentStatus = modelo.IncidentStatus;
|
|
|
|
|
|
if (modelJson.CodigoRespuesta != TipoCodigoRespuesta.EXITOSO.ToString())
|
|
throw new Exception(modelJson.DescripcionRespuesta);
|
|
|
|
modelo = modelJson.Solicitud;
|
|
|
|
if (modelo != null)
|
|
{
|
|
//***********************************************************
|
|
//Si oferta es nula o No hay Facilidades Ni Hay Operaciones
|
|
//***********************************************************
|
|
if (modelo.Oferta == null ||
|
|
((modelo.Oferta.OfertaFacilidades == null || modelo.Oferta.OfertaFacilidades.Count == 0) &&
|
|
(modelo.Oferta.OfertaOperaciones == null || modelo.Oferta.OfertaOperaciones.Count == 0)))
|
|
{
|
|
respuesta.Error = string.Format("No existen facilidades ni operaciones asociadas a la oferta de la solicitud {0}", modelo.IdSolicitud);
|
|
return respuesta;
|
|
}
|
|
|
|
if (modelo.Oferta.IdTipoCategoria == null)
|
|
{
|
|
respuesta.Error = string.Format("No existe una categoría asociada a la oferta de la solicitud {0}", modelo.IdSolicitud);
|
|
return respuesta;
|
|
}
|
|
|
|
obj.TipoDb = TipoDB.SQLServer;
|
|
obj.Formato = FormatoSalida.pdf;
|
|
obj.ConnectionString = null;
|
|
doc.Ruta = string.Format("{0}\\{1}", getRutaPlantillasDocumentos(), "CaratulaCredito.dotx");
|
|
doc.NumeroCopias = 1;
|
|
obj.NombreDocumentoGenerado = string.Format("{0}_{1}_{2}", "CaratulaCredito", modelo.IdSolicitud, DateTime.Now.ToString("dd.MM.yyyy_hh.mm.ss"));
|
|
doc.CamposAdicionales = new List<Campo>();
|
|
doc.TablasAdicionales = new List<Tabla>();
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "CodigoCaratula", Valor = modelo.CaratulaCredito.CodigoCaratula });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "FechaAprobacion", Valor =modelo.CaratulaCredito.FechaAprobacion!=null? string.Format("Fecha Aprobación: {0:dd-MMM-yyyy}", modelo.CaratulaCredito.FechaAprobacion): string.Empty });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "EStadoCaratula", Valor = modelo.CaratulaCredito.IdEstadoCaratula != null ? string.Format("Estado: {0}", modelo.CaratulaCredito.EstadosCaratula.Descripcion) : string.Empty });
|
|
|
|
|
|
#region Seccion Tabla de los participante
|
|
|
|
Tabla Participantes = new Tabla();
|
|
Participantes.FilasResultado = new List<FilaResultado>();
|
|
Participantes.Puntero = "TablaDeudores";
|
|
foreach (Solicitante Soli in modelo.Solicitante)
|
|
{
|
|
#region NombreCliente
|
|
string NombreCliente = "";
|
|
switch (Soli.Cliente.IdTipoCliente)
|
|
{
|
|
case EnumTipoCliente.Fisico:
|
|
string PNombre = string.IsNullOrEmpty(Soli.Cliente.PrimerNombre) ? "" : Soli.Cliente.PrimerNombre.Trim() + " ";
|
|
string SNombre = string.IsNullOrEmpty(Soli.Cliente.SegundoNombre) ? "" : Soli.Cliente.SegundoNombre.Trim() + " ";
|
|
string PApellido = string.IsNullOrEmpty(Soli.Cliente.PrimerApellido) ? "" : Soli.Cliente.PrimerApellido.Trim() + " ";
|
|
string SApellido = string.IsNullOrEmpty(Soli.Cliente.SegundoApellido) ? "" : Soli.Cliente.SegundoApellido.Trim() + " ";
|
|
NombreCliente = String.Format("{0}{1}{2}{3}", PNombre, SNombre, PApellido, SApellido);
|
|
break;
|
|
case EnumTipoCliente.Juridico:
|
|
NombreCliente = string.IsNullOrEmpty(Soli.Cliente.RazonSocial) ? "" : Soli.Cliente.RazonSocial.Trim();
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
FilaResultado FrSoli = new FilaResultado();
|
|
FrSoli.Columnas = new List<ColumnaResultado>();
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.TipoSolicitante.Descripcion.Trim() });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = NombreCliente });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.NumeroIdentificacion });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.CodigoCiiu });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.DescNivelCapacidadPago });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.CategoriaRiesgo });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.DescRiesgoCambiario });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.DescGeneraMonedaExtrangera });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = Soli.Cliente.DescClasificacionMetodologia });
|
|
FrSoli.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0:n2}", Math.Round((Soli.Cliente.CoberturaServicioDeuda.HasValue ? Soli.Cliente.CoberturaServicioDeuda.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
Participantes.FilasResultado.Add(FrSoli);
|
|
++Indice;
|
|
|
|
if (Soli.EsPrincipal.Value)
|
|
{
|
|
IdentificacionPrincipal = Soli.Cliente.NumeroIdentificacion;
|
|
NombreEjecutivo = Soli.Cliente.Ejecutivo != null ? Soli.Cliente.Ejecutivo.Nombre : "";
|
|
TipoTramite = new TipoTramiteDAL().Obtener(Soli.Cliente.IdTipoTramite).FirstOrDefault();
|
|
}
|
|
|
|
}
|
|
doc.TablasAdicionales.Add(Participantes);
|
|
|
|
#endregion
|
|
|
|
TituloCambioCondicionesTipoCaratula = TipoTramite.IdTipoTramite == EnumTipoTramite.CambioCondiciones ? string.Format("{0} {1}", "Cambio de Condiciones", modelo.CaratulaCredito.IdTipoCaratula == EnumTipoCaratula.Permanente ? "Permanentes" : "Temporales") : "";
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(TituloCambioCondicionesTipoCaratula))
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "CategoriaOferta", Valor = string.Format("***** {0} *****", modelo.Oferta.TipoCategoria != null ? modelo.Oferta.TipoCategoria.Descripcion : "") });
|
|
else
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "CategoriaOferta", Valor = string.Format("***** {0} ***** {1}", TituloCambioCondicionesTipoCaratula, modelo.CaratulaCredito.TipoCambioCondiciones != null ? SaltoLinea + modelo.CaratulaCredito.TipoCambioCondiciones.Descripcion : "") });
|
|
|
|
#region Seccion Tabla Exposicion Total Por GIE
|
|
|
|
ExposicionGie = ConnCGIE.Obtener(IdentificacionPrincipal);
|
|
Tabla ExposicionTotalPorGIE = new Tabla();
|
|
ExposicionTotalPorGIE.FilasResultado = new List<FilaResultado>();
|
|
ExposicionTotalPorGIE.Puntero = "TablaExposicionTotalPorGIE";
|
|
foreach (GrupoInteresEconomico Miembrro in ExposicionGie)
|
|
{
|
|
foreach (GrupoInteresEconomicoDetalle Expo in Miembrro.GrupoInteresEconomicoDetalle)
|
|
{
|
|
|
|
if ((Expo.TipoOperacion == "0" && Expo.Incident == modelo.Incidente) || (Expo.TipoOperacion != "0"))
|
|
{
|
|
FilaResultado FrExpo = new FilaResultado();
|
|
FrExpo.Columnas = new List<ColumnaResultado>();
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = null });
|
|
|
|
string PNombre = string.IsNullOrEmpty(Miembrro.Nombre) ? "" : Miembrro.Nombre.Trim() + " ";
|
|
string PApellido = string.IsNullOrEmpty(Miembrro.PrimerApellido) ? "" : Miembrro.PrimerApellido.Trim() + " ";
|
|
string SApellido = string.IsNullOrEmpty(Miembrro.SegundoApellido) ? "" : Miembrro.SegundoApellido.Trim() + " ";
|
|
|
|
string MarcaCumpleAcuerdoSUGEF4_04_o_5_04 = Miembrro.CumpleAcuerdoSUGEF4_04_o_5_04.HasValue ? (Miembrro.CumpleAcuerdoSUGEF4_04_o_5_04.Value == true ? "***" : "") : "";
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}{1}{2}{3}", MarcaCumpleAcuerdoSUGEF4_04_o_5_04, PNombre, PApellido, SApellido) });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = Miembrro.CodigoBPSap });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = Expo.CodigoIncisoSUGEF.HasValue ? Expo.IncisoSugef.Descripcion : "No Aplica" });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = Expo.DescTipoOperacion });
|
|
|
|
Moneda moneda = string.IsNullOrEmpty(Expo.Moneda) ? new Moneda() : MonedaCatalogo.Where(x => x.Nemonico.ToLower().Trim().Contains(Expo.Moneda.ToLower().Trim())).FirstOrDefault();
|
|
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0} {1}", moneda.Nemonico, moneda.Simbolo) });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0:n2}", Expo.MontoSolicitado) });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0:n2}", Expo.SaldoPendiente) });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0:n2}", Expo.ExposicionPropuesta) });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0:MMM-yy}", Expo.FechaVencimiento) });
|
|
FrExpo.Columnas.Add(new ColumnaResultado() { Valor = string.IsNullOrEmpty(Expo.DescTipoGarantia) ? "" : Expo.DescTipoGarantia });
|
|
ExposicionTotalPorGIE.FilasResultado.Add(FrExpo);
|
|
}
|
|
}
|
|
}
|
|
|
|
doc.TablasAdicionales.Add(ExposicionTotalPorGIE);
|
|
|
|
#endregion
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "DeudoresTipoGIE", Valor = modelo.CaratulaCredito.DescTipoGie });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionObservaciones", Valor = modelo.CaratulaCredito.ExpocisionObservaciones });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionNombre", Valor = modelo.CaratulaCredito.ExposicionNombre });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionAcuerdoSUGEF", Valor = modelo.CaratulaCredito.DescAcuerdoSUGEF5_04 });
|
|
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "EtiquetaPermisoArt117SBN135BCCR", Valor = modelo.CaratulaCredito.PermisoSBNBCCR == null ? "" : "Permiso Art. 117 SBN ó 135 BCCR" });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "PermisoArt117SBN135BCCR", Valor = modelo.CaratulaCredito.PermisoSBNBCCR == null ? "" : modelo.CaratulaCredito.PermisoSBNBCCR.DescPermisoSBNBCCR });
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionNumero", Valor = modelo.CaratulaCredito.ExposicionNumero });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExpSubTotalsaldoActualDolares", Valor = string.Format("{0:n2}", Math.Round((modelo.CaratulaCredito.SubTotalSaldoDolares.HasValue ? modelo.CaratulaCredito.SubTotalSaldoDolares.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExpSubTotalsaldoActualColones", Valor = string.Format("{0:n2}", Math.Round((modelo.CaratulaCredito.SubTotalSaldoMonedaLocal.HasValue ? modelo.CaratulaCredito.SubTotalSaldoMonedaLocal.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExpSubTotalExposicionPropuestaDolares", Valor = string.Format("{0:n2}", Math.Round((modelo.CaratulaCredito.SubTotalExposicionDolares.HasValue ? modelo.CaratulaCredito.SubTotalExposicionDolares.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExpSubTotalExposicionPropuestaColones", Valor = string.Format("{0:n2}", Math.Round((modelo.CaratulaCredito.SubTotalExposicionMonedaLocal.HasValue ? modelo.CaratulaCredito.SubTotalExposicionMonedaLocal.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExpTotalsaldoActualDolares", Valor = string.Format("{0:n2}", Math.Round((modelo.CaratulaCredito.TotalSaldo.HasValue ? modelo.CaratulaCredito.TotalSaldo.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExpTotalExposicionPropuestaDoloares", Valor = string.Format("{0:n2}", Math.Round((modelo.CaratulaCredito.TotalExposicion.HasValue ? modelo.CaratulaCredito.TotalExposicion.Value : 0), 2, MidpointRounding.AwayFromZero)) });
|
|
|
|
//Amortización Programada Dolares
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AmortizacionProgramadaDolares", Valor = string.Format("{0}", modelo.CaratulaCredito.AmortizacionProgDolares.HasValue ? modelo.CaratulaCredito.AmortizacionProgDolares.Value > 0 ? "USD $" : " " : " ") });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AmortizacionProgramadaDolaresMonto", Valor = string.Format("{0}", modelo.CaratulaCredito.AmortizacionProgDolares.HasValue ? modelo.CaratulaCredito.AmortizacionProgDolares.Value > 0 ? "- $ " + modelo.CaratulaCredito.AmortizacionProgDolares.Value.ToString("n2") : " " : " ") });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AmortizacionProgramadaDolaresLabel", Valor = string.Format("{0}", modelo.CaratulaCredito.AmortizacionProgDolares.HasValue ? modelo.CaratulaCredito.AmortizacionProgDolares.Value > 0 ? "Amortización Programada" : " " : " ") });
|
|
//
|
|
|
|
//Amortización Programada Colones
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AmortizacionProgramadaColones", Valor = string.Format("{0}", modelo.CaratulaCredito.AmortizacionProgMonedaLocal.HasValue ? modelo.CaratulaCredito.AmortizacionProgMonedaLocal.Value > 0 ? "CRC ¢" : " " : " ") });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AmortizacionProgramadaColonesMonto", Valor = string.Format("{0}", modelo.CaratulaCredito.AmortizacionProgMonedaLocal.HasValue ? modelo.CaratulaCredito.AmortizacionProgMonedaLocal.Value > 0 ? "- ¢ " + modelo.CaratulaCredito.AmortizacionProgMonedaLocal.Value.ToString("n2") : " " : " ") });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AmortizacionProgramadaColonesLabel", Valor = string.Format("{0}", modelo.CaratulaCredito.AmortizacionProgMonedaLocal.HasValue ? modelo.CaratulaCredito.AmortizacionProgMonedaLocal.Value > 0 ? "Amortización Programada" : " " : " ") });
|
|
//
|
|
|
|
Moneda MonedaExposicion = new MonedaDAL().ObtenerMoneda(null, modelo.CaratulaCredito.SimboloMonedaTotalExposicion);
|
|
MonedaExposicion = MonedaExposicion == null ? new Moneda() : MonedaExposicion;
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "SimboloMonedaTotalExposicion", Valor = string.Format("{0} {1}", string.IsNullOrEmpty(MonedaExposicion.Nemonico) ? "" : MonedaExposicion.Nemonico.Trim(), modelo.CaratulaCredito.SimboloMonedaTotalExposicion) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "SimboloMonedaExposicionCapitalAjustado", Valor = string.Format("{0} {1}", string.IsNullOrEmpty(MonedaExposicion.Nemonico) ? "" : MonedaExposicion.Nemonico.Trim(), modelo.CaratulaCredito.SimboloMonedaTotalExposicion) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "SimboloMonedaTotalSaldoActual", Valor = string.Format("{0} {1}", string.IsNullOrEmpty(MonedaExposicion.Nemonico) ? "" : MonedaExposicion.Nemonico.Trim(), modelo.CaratulaCredito.SimboloMonedaTotalExposicion) });
|
|
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionTipoCambio", Valor = string.Format("{0:n2}", modelo.CaratulaCredito.TipoCambio) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionCapitalAjustado", Valor = string.Format("{0:n2}", modelo.CaratulaCredito.CapitalAjustado) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ExposicionFecha", Valor = string.Format("{0:dd-MMM-yyyy}", modelo.CaratulaCredito.FechaCapitalAjustado) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "RentabilidadMarginalAcumulada", Valor = string.Format("{0:n2}", modelo.CaratulaCredito.MarginalAcumuladaGrupoEmpresarial) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "RentabilidadGrupoEmpresarial", Valor = string.Format("{0:n2}", modelo.CaratulaCredito.PorcentajeGrupoEmpresarial) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "RentabilidadNumeroProductos", Valor = string.Format("{0}", (modelo.CaratulaCredito.NumeroProductos.HasValue ? modelo.CaratulaCredito.NumeroProductos.Value.ToString("n0") : "")) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "RentabilidadEF", Valor = string.Format("{0:dd-MMM-yyyy}", modelo.CaratulaCredito.EFal) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomica", Valor = modelo.CaratulaCredito.Actividad });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaPIB", Valor = modelo.CaratulaCredito.DescActividadEconomicaPIB });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaCIIU", Valor = modelo.CaratulaCredito.DescActividadEconomicaCIIU });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaSUGEFGeneral", Valor = string.Format("{0}", modelo.CaratulaCredito.DescSUGEFGeneral) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaSUGEFDetallada", Valor = string.Format("{0}", modelo.CaratulaCredito.DescSUGEFDetallada) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadSectorEconomicoSUGEF", Valor = modelo.CaratulaCredito.DescSectorEconomicoSUGEF });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaLey8262", Valor = modelo.CaratulaCredito.DescLey8262 });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaPuntaje", Valor = string.Format("{0:n2}", modelo.CaratulaCredito.Puntaje ?? 0) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "ActividadEconomicaBeneficiarioSBD", Valor = modelo.CaratulaCredito.DescBeneficiarioSBD });
|
|
|
|
///Sección de facilidades
|
|
if (modelo.Oferta.OfertaFacilidades != null && modelo.Oferta.OfertaFacilidades.Count > 0)
|
|
{
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "TasaTBP", Valor = string.Format("{0:n2} %", modelo.Oferta.OfertaFacilidades.FirstOrDefault().TBPPropuestaMonedaLocal) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "TasaPR", Valor = string.Format("{0:n2} %", modelo.Oferta.OfertaFacilidades.FirstOrDefault().TRPropuestaDolares) });
|
|
|
|
}
|
|
else if (modelo.Oferta.OfertaOperaciones != null && modelo.Oferta.OfertaOperaciones.Count > 0)
|
|
{
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "TasaTBP", Valor = string.Format("{0:n2} %", modelo.Oferta.OfertaOperaciones.FirstOrDefault().TBPPropuestaMonedaLocal) });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "TasaPR", Valor = string.Format("{0:n2} %", modelo.Oferta.OfertaOperaciones.FirstOrDefault().TRPropuestaDolares) });
|
|
}
|
|
|
|
Indice = 0;
|
|
modelo.Oferta.IdSolicitud = modelo.IdSolicitud;
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "Otros", Valor = modelo.CaratulaCredito.ExposicionOtros });
|
|
|
|
#region Seccion Tabla Facilidades y Tabla Facilidades Detalle
|
|
|
|
Tabla TablaFacilidades = new Tabla();
|
|
TablaFacilidades.FilasResultado = new List<FilaResultado>();
|
|
TablaFacilidades.Puntero = "TablaFacilidades";
|
|
|
|
Tabla TablaFacilidadesDetalle = new Tabla();
|
|
TablaFacilidadesDetalle.FilasResultado = new List<FilaResultado>();
|
|
TablaFacilidadesDetalle.Puntero = "TablaFacilidadesDetalle";
|
|
|
|
|
|
foreach (OfertaFacilidades FacilidadLineas in modelo.Oferta.OfertaFacilidades.Where(q => q.Secuencia != 0 && q.Eslinea == true))
|
|
{
|
|
Indice = Indice == 0 ? ++Indice : Indice;
|
|
TablaFacilidadesDetalle.FilasResultado.Add(AgregarFilaFacilidadDetalle(FacilidadLineas, Indice.Value));
|
|
}
|
|
|
|
if (Indice != 0)
|
|
{
|
|
|
|
|
|
OfertaFacilidades FacilidadEspecifico = new OfertaFacilidades()
|
|
{
|
|
TipoFacilidad = new TipoFacilidad() { Descripcion = "Linea" },
|
|
Detalle = modelo.Oferta.DetalleLinea,
|
|
Moneda = modelo.Oferta.Moneda,
|
|
MontoActual = modelo.Oferta.MontoActualLinea,
|
|
MontoPropuesto = modelo.Oferta.MontoPropuestoLinea,
|
|
PlazoMaximoActual = modelo.Oferta.PlazoActualLinea,
|
|
PlazoMaximoPropuesto = modelo.Oferta.PlazoLinea,
|
|
FechaVencimientoActual = modelo.Oferta.FechaVencimientoActualLinea,
|
|
FechaVencimiento = modelo.Oferta.FechaVencimientoLinea,
|
|
RazonSuperandoLimites = modelo.Oferta.RazonLineaSuperaLimiteGlobal
|
|
};
|
|
|
|
TablaFacilidades.FilasResultado.Add(AgregarFilaFacilidadResumen(FacilidadEspecifico, Indice.Value, TipoTramite.IdTipoTramite));
|
|
}
|
|
|
|
foreach (OfertaFacilidades FacilidadEspecifico in modelo.Oferta.OfertaFacilidades.Where(q => q.Secuencia != 0 && q.EsEspecifico == true))
|
|
{
|
|
++Indice;
|
|
|
|
TablaFacilidades.FilasResultado.Add(AgregarFilaFacilidadResumen(FacilidadEspecifico, Indice.Value, TipoTramite.IdTipoTramite));
|
|
|
|
TablaFacilidadesDetalle.FilasResultado.Add(AgregarFilaFacilidadDetalle(FacilidadEspecifico, Indice.Value));
|
|
}
|
|
foreach (OfertaOperaciones Operaciones in modelo.Oferta.OfertaOperaciones)
|
|
{
|
|
++Indice;
|
|
TablaFacilidades.FilasResultado.Add(AgregarFilaFacilidadResumen(Operaciones, Indice.Value, TipoTramite.IdTipoTramite));
|
|
TablaFacilidadesDetalle.FilasResultado.Add(AgregarFilaFacilidadDetalle(Operaciones, Indice.Value));
|
|
}
|
|
|
|
doc.TablasAdicionales.Add(TablaFacilidades);
|
|
doc.TablasAdicionales.Add(TablaFacilidadesDetalle);
|
|
|
|
#endregion
|
|
|
|
|
|
#region Sección Tabla de Excepciones Politicas
|
|
|
|
Tabla TablaExcepcionesPoliticas = new Tabla();
|
|
TablaExcepcionesPoliticas.FilasResultado = new List<FilaResultado>();
|
|
TablaExcepcionesPoliticas.Puntero = "TablaExcepcionesPoliticas";
|
|
|
|
#region Sección Tabla de Excepciones Politicas - Actuales
|
|
|
|
if (modelo.CaratulaCredito.CaratulaCreditoExcepcionesPolitica.Where(x => x.EsPropuesta != true).Any() == true)
|
|
{
|
|
foreach (CaratulaCreditoExcepcionesPolitica ExpPoli in modelo.CaratulaCredito.CaratulaCreditoExcepcionesPolitica.Where(x => x.EsPropuesta != true))
|
|
{
|
|
FilaResultado FrExpPoli = new FilaResultado();
|
|
FrExpPoli.Columnas = new List<ColumnaResultado>();
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = "Actual" });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Inciso != null ? ExpPoli.Inciso.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Excepciones != null ? ExpPoli.Excepciones.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.ExcepcionesClasificacion != null ? ExpPoli.ExcepcionesClasificacion.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Justificacion });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.ExcepcionesClasificacionSubsistencia != null ? ExpPoli.ExcepcionesClasificacionSubsistencia.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Plazo != null ? ExpPoli.Plazo.ToString() : null }); //ExpPoli.FechaNormalizacion.HasValue ? ExpPoli.FechaNormalizacion.Value.ToString("dd/MM/yyyy") : "" });
|
|
TablaExcepcionesPoliticas.FilasResultado.Add(FrExpPoli);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region Sección Tabla de Excepciones Politicas - Propuesta
|
|
|
|
if (modelo.CaratulaCredito.CaratulaCreditoExcepcionesPolitica.Where(x => x.EsPropuesta == true).Any() == true)
|
|
{
|
|
foreach (CaratulaCreditoExcepcionesPolitica ExpPoli in modelo.CaratulaCredito.CaratulaCreditoExcepcionesPolitica.Where(x => x.EsPropuesta == true))
|
|
{
|
|
FilaResultado FrExpPoli = new FilaResultado();
|
|
FrExpPoli.Columnas = new List<ColumnaResultado>();
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = "Propuesto" });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Inciso != null ? ExpPoli.Inciso.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Excepciones != null ? ExpPoli.Excepciones.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.ExcepcionesClasificacion != null ? ExpPoli.ExcepcionesClasificacion.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Justificacion });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.ExcepcionesClasificacionSubsistencia != null ? ExpPoli.ExcepcionesClasificacionSubsistencia.Descripcion : null });
|
|
FrExpPoli.Columnas.Add(new ColumnaResultado() { Valor = ExpPoli.Plazo != null ? ExpPoli.Plazo.ToString() : null }); //ExpPoli.FechaNormalizacion.HasValue ? ExpPoli.FechaNormalizacion.Value.ToString("dd/MM/yyyy") : "" });
|
|
TablaExcepcionesPoliticas.FilasResultado.Add(FrExpPoli);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
doc.TablasAdicionales.Add(TablaExcepcionesPoliticas);
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region Sección Tabla de CondicionesEspeciales
|
|
|
|
Tabla TablaCondicionesEspeciales = new Tabla();
|
|
TablaCondicionesEspeciales.FilasResultado = new List<FilaResultado>();
|
|
TablaCondicionesEspeciales.Puntero = "TablaCondicionesEspeciales";
|
|
|
|
FilaResultado FrConEspTitle = new FilaResultado();
|
|
|
|
#region Sección Tabla de CondicionesEspeciales - Actuales
|
|
|
|
if (modelo.CaratulaCredito.CaratulaCreditoCondicionesEspeciales.Where(x => x.EsPropuesta != true).Any() == true)
|
|
{
|
|
//FrConEspTitle = new FilaResultado();
|
|
//FrConEspTitle.Columnas = new List<ColumnaResultado>();
|
|
//FrConEspTitle.Columnas.Add(new ColumnaResultado() { Valor = "Actual:" });
|
|
//TablaCondicionesEspeciales.FilasResultado.Add(FrConEspTitle);
|
|
|
|
foreach (CaratulaCreditoCondicionesEspeciales ConEsp in modelo.CaratulaCredito.CaratulaCreditoCondicionesEspeciales.Where(x => x.EsPropuesta != true))
|
|
{
|
|
FilaResultado FrConEsp = new FilaResultado();
|
|
FrConEsp.Columnas = new List<ColumnaResultado>();
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = "Actual" });
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = ConEsp.CondicionEspecial });
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = ConEsp.FechaCumplimiento.HasValue ? ConEsp.FechaCumplimiento.Value.ToString("dd/MM/yyyy") : "" });
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = ConEsp.ResponsableCumplimiento });
|
|
TablaCondicionesEspeciales.FilasResultado.Add(FrConEsp);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Sección Tabla de CondicionesEspeciales - Propuesta
|
|
|
|
if (modelo.CaratulaCredito.CaratulaCreditoCondicionesEspeciales.Where(x => x.EsPropuesta == true).Any() == true)
|
|
{
|
|
|
|
|
|
|
|
foreach (CaratulaCreditoCondicionesEspeciales ConEsp in modelo.CaratulaCredito.CaratulaCreditoCondicionesEspeciales.Where(x => x.EsPropuesta == true))
|
|
{
|
|
FilaResultado FrConEsp = new FilaResultado();
|
|
FrConEsp.Columnas = new List<ColumnaResultado>();
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = "Propuesto" });//TipoTramite.IdTipoTramite == EnumTipoTramite.CambioCondiciones ? "Propuesto" : null
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = ConEsp.CondicionEspecial });
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = ConEsp.FechaCumplimiento.HasValue ? ConEsp.FechaCumplimiento.Value.ToString("dd/MM/yyyy") : "" });
|
|
FrConEsp.Columnas.Add(new ColumnaResultado() { Valor = ConEsp.ResponsableCumplimiento });
|
|
TablaCondicionesEspeciales.FilasResultado.Add(FrConEsp);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
doc.TablasAdicionales.Add(TablaCondicionesEspeciales);
|
|
|
|
#endregion
|
|
|
|
|
|
#region Sección Tabla de firmas de aprobacione del comite
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "Recomendaciones", Valor = modelo.CaratulaCredito.Recomendacion });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "AprobadoPor", Valor = modelo.CaratulaCredito.ComiteCredito != null ? modelo.CaratulaCredito.ComiteCredito.NombreComite : "" });
|
|
FirmasCaratula = ConnCaratulaDal.ObtenerAprobacionesActuales(modelo.IdSolicitud);
|
|
if (FirmasCaratula != null && ((Step != EnumEtapas.AP_Enviar_AProbacion && Step != EnumEtapas.AP_Corre_Caratula_Adjuntar_Doc) || (IncidentStatus == 3)))
|
|
{
|
|
Tabla TablaFirmaAprobaciones = new Tabla();
|
|
TablaFirmaAprobaciones.FilasResultado = new List<FilaResultado>();
|
|
TablaFirmaAprobaciones.Puntero = "FirmaAprobaciones";
|
|
TablaFirmaAprobaciones.NombreEstiloPersonalizadoFilas = "TablaFirmas";
|
|
Indice = 0;
|
|
ColumnaResultado ColumnaRayas = new ColumnaResultado { Valor = "_________________________________________" };
|
|
|
|
FilaResultado FilaRayas = new FilaResultado();
|
|
FilaRayas.Columnas = new List<ColumnaResultado>();
|
|
FilaResultado FilaNombre = new FilaResultado();
|
|
FilaNombre.Columnas = new List<ColumnaResultado>();
|
|
FilaResultado FilaFuncion = new FilaResultado();
|
|
FilaFuncion.Columnas = new List<ColumnaResultado>();
|
|
FilaResultado FilaEmpty = new FilaResultado();
|
|
FilaEmpty.Columnas = new List<ColumnaResultado>();
|
|
FilaResultado FilaEmpty2 = new FilaResultado();
|
|
FilaEmpty2.Columnas = new List<ColumnaResultado>();
|
|
foreach (AprobacionesComite FirmaComite in FirmasCaratula.Where(e => e.IdDecision == EnumDecision.Aprobacion_Voto_Positivo && e.EsVoto == true))
|
|
{
|
|
if ((Indice % 4) == 0 && Indice != 0)
|
|
{
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaEmpty);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaEmpty2);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaRayas);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaNombre);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaFuncion);
|
|
FilaRayas = new FilaResultado();
|
|
FilaRayas.Columnas = new List<ColumnaResultado>();
|
|
FilaNombre = new FilaResultado();
|
|
FilaNombre.Columnas = new List<ColumnaResultado>();
|
|
FilaFuncion = new FilaResultado();
|
|
FilaFuncion.Columnas = new List<ColumnaResultado>();
|
|
FilaEmpty = new FilaResultado();
|
|
FilaEmpty.Columnas = new List<ColumnaResultado>();
|
|
FilaEmpty2 = new FilaResultado();
|
|
FilaEmpty2.Columnas = new List<ColumnaResultado>();
|
|
}
|
|
FilaEmpty.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
FilaEmpty2.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
FilaRayas.Columnas.Add(ColumnaRayas);
|
|
FilaNombre.Columnas.Add(new ColumnaResultado { Valor = FirmaComite.NombreCompleto });
|
|
string Instancia = string.Empty;
|
|
switch (FirmaComite.NombreIntancia)
|
|
{
|
|
case "Gerencia General": Instancia = "Gerente General a.i.";
|
|
break;
|
|
case "Presidencia de la Junta Directiva": Instancia = "Presidente de la Junta Directiva";
|
|
break;
|
|
case "Sub Gerencia de Operaciones": Instancia = "Sub Gerente de Operaciones";
|
|
break;
|
|
case "Gerencia de Análisis/Oficial de Procesos de Análisis": Instancia = "Gerente de Análisis/Oficial de Procesos de Análisis";
|
|
break;
|
|
case " Presidencia": Instancia = "Presidente";
|
|
break;
|
|
case "Sub Gerencia": Instancia = "Sub Gerente";
|
|
break;
|
|
default: Instancia = FirmaComite.NombreIntancia;
|
|
break;
|
|
|
|
}
|
|
|
|
FilaFuncion.Columnas.Add(new ColumnaResultado { Valor = Instancia });
|
|
++Indice;
|
|
}
|
|
|
|
if (FilaRayas.Columnas.Count > 0 && FilaRayas.Columnas.Count < 4)
|
|
{
|
|
|
|
for (int p = FilaRayas.Columnas.Count; p < 4; ++p)
|
|
{
|
|
|
|
FilaEmpty.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
FilaEmpty2.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
FilaRayas.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
FilaNombre.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
FilaFuncion.Columnas.Add(new ColumnaResultado { Valor = string.Empty });
|
|
}
|
|
}
|
|
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaEmpty);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaEmpty2);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaRayas);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaNombre);
|
|
TablaFirmaAprobaciones.FilasResultado.Add(FilaFuncion);
|
|
doc.TablasAdicionales.Add(TablaFirmaAprobaciones);
|
|
|
|
}
|
|
StringBuilder revisado = new StringBuilder();
|
|
|
|
if ((Step != EnumEtapas.AP_Enviar_AProbacion && Step != EnumEtapas.AP_Corre_Caratula_Adjuntar_Doc) || ((Step == EnumEtapas.AP_Enviar_AProbacion && IncidentStatus == 3) || (Step == EnumEtapas.AP_Corre_Caratula_Adjuntar_Doc && IncidentStatus==3)))
|
|
foreach (AprobacionesComite vistobueno in FirmasCaratula.Where(e => e.EsVoto == false))
|
|
{
|
|
|
|
if (vistobueno.IdDecision != null && vistobueno.IdDecision != EnumDecision.Corregir_Caratula_Analista_Credito &&
|
|
vistobueno.IdDecision != EnumDecision.Corregir_Caratula_Area_Negocio &&
|
|
vistobueno.IdDecision != EnumDecision.Corregir_Caratula_Gerencia_Analisis_Oficial_Procesos_Analisis &&
|
|
vistobueno.IdDecision != EnumDecision.Aprobacion_Cliente_Acepta_Condiciones)
|
|
{
|
|
revisado.AppendFormat(vistobueno.NombreCompleto);
|
|
revisado.AppendFormat(" / ");
|
|
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "RevisadoPor", Valor = revisado.ToString() });
|
|
}
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (UltimusClient.GetUserInformation(modelo.UsuarioCreador, out userCartula, out Error))
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "HechoPor", Valor = userCartula.strUserFullName });
|
|
else
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "HechoPor", Valor = null });
|
|
doc.CamposAdicionales.Add(new Campo() { Nombre = "Ejecutivo", Valor = NombreEjecutivo });
|
|
doc.Fuente = null;
|
|
doc.Filtro = null;
|
|
doc.Firmas = null;
|
|
doc.Imagenes = null;
|
|
doc.Tablas = null;
|
|
obj.Plantillas = new List<DocumentoDB>() { doc };
|
|
using (WCFDocumentosClient ws = new WCFDocumentosClient())
|
|
respuesta = ws.GenerarDocumento(obj);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
logs.Error(ex);
|
|
}
|
|
finally
|
|
{
|
|
ConnCaratula = null;
|
|
obj = null;
|
|
doc = null;
|
|
modelo = null;
|
|
ConnCaratulaDal = null;
|
|
FirmasCaratula = null;
|
|
UltimusIntgration = null;
|
|
UltimusClient = null;
|
|
}
|
|
return respuesta;
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="Facilidad"></param>
|
|
/// <param name="Indice"></param>
|
|
/// <returns></returns>
|
|
private FilaResultado AgregarFilaFacilidadDetalle(OfertaFacilidades Facilidad, int Indice)
|
|
{
|
|
FilaResultado FrFacilidadDetalle = new FilaResultado();
|
|
FrFacilidadDetalle.Columnas = new List<ColumnaResultado>();
|
|
|
|
string SubLimite = string.Empty;
|
|
string Plazo = string.Empty;
|
|
string Recursos = string.Empty;
|
|
string FormaPago = string.Empty;
|
|
string Tasa = string.Empty;
|
|
string ComisionesActual = string.Empty;
|
|
string ComisionesPropuesta = string.Empty;
|
|
string GarantiaActual = string.Empty;
|
|
string GarantiaPropuesta = string.Empty;
|
|
|
|
#region SubLimite
|
|
SubLimite = (Facilidad.MontoActual == null || Facilidad.MontoActual == 0) ? "" : string.Format("Actual:{0}{1} {2} {3:n2}{0}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoActual);
|
|
|
|
SubLimite += (Facilidad.MontoPropuesto == null) ? "" : string.Format("Propuesto:{0}{1} {2} {3:n2}{0}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoPropuesto);
|
|
SubLimite = (SubLimite.Trim() == "" ? "No Aplica" : SubLimite);
|
|
#endregion
|
|
|
|
#region Plazo
|
|
Plazo = string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoActual) || Facilidad.PlazoMaximoActual == "0" ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, Facilidad.PlazoMaximoActual);
|
|
Plazo += string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoPropuesto) ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, Facilidad.PlazoMaximoPropuesto);
|
|
Plazo = (Plazo.Trim() == "" ? "No Aplica" : Plazo);
|
|
#endregion
|
|
|
|
#region Recursos
|
|
Recursos = string.IsNullOrWhiteSpace(Facilidad.Recursos) ? "" : string.Format("{0}Recursos:{0}{1}{0}", SaltoLinea, Facilidad.Recursos);
|
|
#endregion
|
|
|
|
|
|
#region FormaPago
|
|
FormaPago = string.IsNullOrWhiteSpace(Facilidad.FormaPagoActual) ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, Facilidad.FormaPagoActual);
|
|
FormaPago += Facilidad.FormasPagos == null ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, Facilidad.FormasPagos.Descripcion);
|
|
FormaPago = (FormaPago.Trim() == "" ? "No Aplica" : FormaPago);
|
|
#endregion
|
|
|
|
#region Tasa
|
|
|
|
#region Actual
|
|
if ((Facilidad.TasaActualMonedaLocal != null && Facilidad.TasaActualMonedaLocal != 0) || (Facilidad.TasaActualDolares != null && Facilidad.TasaActualDolares != 0))
|
|
{
|
|
Tasa = string.Format("Actual:{0}{0}", SaltoLinea);
|
|
Tasa += (Facilidad.TasaActualMonedaLocal == null || Facilidad.TasaActualMonedaLocal == 0) ? string.Format("{0}Colones: No Aplica{0}", SaltoLinea) : string.Format("Colones:{0}{0}TBP + {1:n2}% = {2:n2}%", SaltoLinea, (Facilidad.TasaActualMonedaLocal ?? 0), ((Facilidad.TBPActualMonedaLocal ?? 0) + (Facilidad.TasaActualMonedaLocal ?? 0)));
|
|
Tasa += (Facilidad.TasaActualDolares == null || Facilidad.TasaActualDolares == 0) ? string.Format("{0}Dólares: No Aplica{0}", SaltoLinea) : string.Format("{0}{0}Dólares:{0}{0}PR + {1:n2}% = {2:n2}%", SaltoLinea, (Facilidad.TasaActualDolares ?? 0), ((Facilidad.PRActualDolares ?? 0) + (Facilidad.TasaActualDolares ?? 0)));
|
|
Tasa += string.Format("{0}{0}", SaltoLinea);
|
|
}
|
|
#endregion
|
|
|
|
#region Propuesto
|
|
Tasa += "Propuesto:";
|
|
Tasa += (Facilidad.TasaPropuestaMonedaLocal == null || Facilidad.TasaPropuestaMonedaLocal == 0) ? string.Format("{0}Colones: No Aplica{0}", SaltoLinea) : string.Format("{0}{0}Colones:{0}{0}TBP + {1:n2}% = {2:n2}%", SaltoLinea, Facilidad.TasaPropuestaMonedaLocal, (Facilidad.TBPPropuestaMonedaLocal ?? 0) + (Facilidad.TasaPropuestaMonedaLocal ?? 0));
|
|
Tasa += (Facilidad.TasaPropuestaDolares == null || Facilidad.TasaPropuestaDolares == 0) ? string.Format("{0}Dólares: No Aplica{0}", SaltoLinea) : string.Format("{0}{0}Dólares:{0}{0}PR + {1:n2}% = {2:n2}%{0}", SaltoLinea, Facilidad.TasaPropuestaDolares, (Facilidad.TRPropuestaDolares ?? 0) + (Facilidad.TasaPropuestaDolares ?? 0));
|
|
Tasa = Tasa.Trim() == "" ? "No Aplica" : Tasa;
|
|
Tasa += string.Format("{0}{0}", SaltoLinea);
|
|
#endregion
|
|
|
|
#region OtrasTasas
|
|
if (!string.IsNullOrEmpty(Facilidad.OtrasTasas))
|
|
{
|
|
Tasa += "Otras Tasas:" + SaltoLinea;
|
|
Tasa += Facilidad.OtrasTasas + SaltoLinea;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region Comision
|
|
foreach (OfertaFacilidadesComisiones Comision in Facilidad.OfertaFacilidadesComisiones)
|
|
{
|
|
if (Comision.EsPropuesta.Value)
|
|
ComisionesPropuesta = string.IsNullOrWhiteSpace(ComisionesPropuesta) ? string.Format("Propuesto:{2}{0}{1}{2}", ComisionesPropuesta, Comision.DetalleComision, SaltoLinea) : string.Format("{0}{1}{2}", ComisionesPropuesta, Comision.DetalleComision, SaltoLinea);
|
|
else
|
|
ComisionesActual = string.IsNullOrWhiteSpace(ComisionesActual) ? string.Format("Actual:{2}{0}{1}{2}", ComisionesActual, Comision.DetalleComision, SaltoLinea) : string.Format("{0}{1}{2}", ComisionesActual, Comision.DetalleComision, SaltoLinea);
|
|
}
|
|
#endregion
|
|
|
|
#region Garantia
|
|
foreach (OfertaFacilidadesGarantias garantia in Facilidad.OfertaFacilidadesGarantias)
|
|
{
|
|
if (garantia.EsPropuesta.Value)
|
|
|
|
GarantiaPropuesta = string.IsNullOrWhiteSpace(GarantiaPropuesta) ? string.Format("Propuesto:{2}{0}{1}{2}", GarantiaPropuesta, garantia.DetalleGarantia, SaltoLinea) : string.Format("{0}{1}{2}", GarantiaPropuesta, garantia.DetalleGarantia, SaltoLinea);
|
|
else
|
|
GarantiaActual = string.IsNullOrWhiteSpace(GarantiaActual) ? string.Format("Actual:{2}{0}{1}{2}", GarantiaActual, garantia.DetalleGarantia, SaltoLinea) : string.Format("{0}{1}{2}", GarantiaActual, garantia.DetalleGarantia, SaltoLinea);
|
|
}
|
|
#endregion
|
|
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}", Indice) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}-{1}", Facilidad.CodigoNaturalezaGasto, Facilidad.DescNaturalezaGasto) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.TipoFacilidad.Descripcion });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.Detalle });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = SubLimite });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}{1}", Plazo, Recursos) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = FormaPago });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = Tasa });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}{1}", ComisionesActual, ComisionesPropuesta).Trim() == "" ? "No Aplica" : string.Format("{0}{1}", ComisionesActual, ComisionesPropuesta) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}{1}", GarantiaActual, GarantiaPropuesta).Trim() == "" ? "No Aplica" : string.Format("{0}{1}", GarantiaActual, GarantiaPropuesta) });
|
|
return FrFacilidadDetalle;
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="Facilidad"></param>
|
|
/// <param name="Indice"></param>
|
|
/// <returns></returns>
|
|
private FilaResultado AgregarFilaFacilidadDetalle(OfertaOperaciones Facilidad, int Indice)
|
|
{
|
|
FilaResultado FrFacilidadDetalle = new FilaResultado();
|
|
FrFacilidadDetalle.Columnas = new List<ColumnaResultado>();
|
|
|
|
string SubLimite = string.Empty;
|
|
string Plazo = string.Empty;
|
|
string Recursos = string.Empty;
|
|
string FormaPago = string.Empty;
|
|
string Tasa = string.Empty;
|
|
string ComisionesActual = string.Empty;
|
|
string ComisionesPropuesta = string.Empty;
|
|
string GarantiaActual = string.Empty;
|
|
string GarantiaPropuesta = string.Empty;
|
|
|
|
#region SubLimite
|
|
SubLimite = (Facilidad.MontoActual == null || Facilidad.MontoActual == 0) ? "" : string.Format("Actual:{0}{1} {2} {3:n2}{0}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoActual);
|
|
SubLimite += (Facilidad.MontoPropuesto == null || Facilidad.MontoPropuesto == 0) ? "" : string.Format("Propuesto:{0}{1} {2} {3:n2}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoPropuesto);
|
|
SubLimite = (SubLimite.Trim() == "" ? "No Aplica" : SubLimite);
|
|
#endregion
|
|
|
|
#region Plazo
|
|
Plazo = string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoActual) || Facilidad.PlazoMaximoActual == "0" ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, Facilidad.PlazoMaximoActual);
|
|
Plazo += string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoPropuesto) ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, Facilidad.PlazoMaximoPropuesto);
|
|
Plazo = (Plazo.Trim() == "" ? "No Aplica" : Plazo);
|
|
#endregion
|
|
|
|
#region Recursos
|
|
Recursos = string.IsNullOrWhiteSpace(Facilidad.Recursos) ? "" : string.Format("{0}Recursos:{0}{1}{0}", SaltoLinea, Facilidad.Recursos);
|
|
#endregion
|
|
|
|
|
|
#region FormaPago
|
|
FormaPago = string.IsNullOrWhiteSpace(Facilidad.FormaPagoActual) ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, Facilidad.FormaPagoActual);
|
|
FormaPago += Facilidad.FormasPagos == null ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, Facilidad.FormasPagos.Descripcion);
|
|
FormaPago = (FormaPago.Trim() == "" ? "No Aplica" : FormaPago);
|
|
#endregion
|
|
|
|
#region Tasa
|
|
|
|
#region Actual
|
|
if ((Facilidad.TasaActualMonedaLocal != null && Facilidad.TasaActualMonedaLocal != 0) || (Facilidad.TasaActualDolares != null && Facilidad.TasaActualDolares != 0))
|
|
{
|
|
Tasa = string.Format("Actual:{0}{0}", SaltoLinea);
|
|
Tasa += (Facilidad.TasaActualMonedaLocal == null || Facilidad.TasaActualMonedaLocal == 0) ? string.Format("{0}Colones: No Aplica{0}", SaltoLinea) : string.Format("Colones:{0}{0}TBP + {1:n2}% = {2:n2}%", SaltoLinea, (Facilidad.TasaActualMonedaLocal ?? 0), ((Facilidad.TBPActualMonedaLocal ?? 0) + (Facilidad.TasaActualMonedaLocal ?? 0)));
|
|
Tasa += (Facilidad.TasaActualDolares == null || Facilidad.TasaActualDolares == 0) ? string.Format("{0}Dólares: No Aplica{0}", SaltoLinea) : string.Format("{0}{0}Dólares:{0}{0}PR + {1:n2}% = {2:n2}%", SaltoLinea, (Facilidad.TasaActualDolares ?? 0), ((Facilidad.PRActualDolares ?? 0) + (Facilidad.TasaActualDolares ?? 0)));
|
|
}
|
|
#endregion
|
|
|
|
#region Propuesta
|
|
Tasa += string.Format("{0}{0}Propuesto:", SaltoLinea);
|
|
Tasa += (Facilidad.TasaPropuestaMonedaLocal == null || Facilidad.TasaPropuestaMonedaLocal == 0) ? string.Format("{0}Colones: No Aplica{0}", SaltoLinea) : string.Format("{0}{0}Colones:{0}{0}TBP + {1:n2}% = {2:n2}%", SaltoLinea, Facilidad.TasaPropuestaMonedaLocal, (Facilidad.TBPPropuestaMonedaLocal ?? 0) + (Facilidad.TasaPropuestaMonedaLocal ?? 0));
|
|
Tasa += (Facilidad.TasaPropuestaDolares == null || Facilidad.TasaPropuestaDolares == 0) ? string.Format("{0}Dólares: No Aplica{0}", SaltoLinea) : string.Format("{0}{0}Dólares:{0}{0}PR + {1:n2}% = {2:n2}%{0}", SaltoLinea, Facilidad.TasaPropuestaDolares, (Facilidad.TRPropuestaDolares ?? 0) + (Facilidad.TasaPropuestaDolares ?? 0));
|
|
Tasa = Tasa.Trim() == "" ? "No Aplica" : Tasa;
|
|
#endregion
|
|
|
|
#region OtrasTasas
|
|
if (!string.IsNullOrEmpty(Facilidad.OtrasTasas))
|
|
{
|
|
Tasa += "Otras Tasas:" + SaltoLinea;
|
|
Tasa += Facilidad.OtrasTasas + SaltoLinea;
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region Comision
|
|
foreach (OfertaOperacionesComisiones Comision in Facilidad.OfertaOperacionesComisiones)
|
|
{
|
|
if (Comision.EsPropuesta.Value)
|
|
|
|
ComisionesPropuesta = string.IsNullOrWhiteSpace(ComisionesPropuesta) ? string.Format("Propuesto:{2}{0}{1}{2}", ComisionesPropuesta, Comision.DetalleComision, SaltoLinea) : string.Format("{0}{1}{2}", ComisionesPropuesta, Comision.DetalleComision, SaltoLinea);
|
|
else
|
|
ComisionesActual = string.IsNullOrWhiteSpace(ComisionesActual) ? string.Format("Actual:{2}{0}{1}{2}", ComisionesActual, Comision.DetalleComision, SaltoLinea) : string.Format("{0}{1}{2}", ComisionesActual, Comision.DetalleComision, SaltoLinea);
|
|
}
|
|
#endregion
|
|
|
|
#region Garantia
|
|
foreach (OfertaOperacionesGarantias garantia in Facilidad.OfertaOperacionesGarantias)
|
|
{
|
|
if (garantia.EsPropuesta.Value)
|
|
|
|
GarantiaPropuesta = string.IsNullOrWhiteSpace(GarantiaPropuesta) ? string.Format("Propuesto:{2}{0}{1}{2}", GarantiaPropuesta, garantia.DetalleGarantia, SaltoLinea) : string.Format("{0}{1}{2}", GarantiaPropuesta, garantia.DetalleGarantia, SaltoLinea);
|
|
else
|
|
GarantiaActual = string.IsNullOrWhiteSpace(GarantiaActual) ? string.Format("Actual:{2}{0}{1}{2}", GarantiaActual, garantia.DetalleGarantia, SaltoLinea) : string.Format("{0}{1}{2}", GarantiaActual, garantia.DetalleGarantia, SaltoLinea);
|
|
}
|
|
#endregion
|
|
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}", Indice) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}-{1}", Facilidad.CodigoNaturalezaGasto, Facilidad.DescNaturalezaGasto) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.Operacion });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.Detalle });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = SubLimite }); ///string.Format("{0} {1} {2:n2}", Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoPropuesto) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}{1}", Plazo, Recursos) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = FormaPago });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = Tasa });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = (string.Format("{0}{1}", ComisionesActual, ComisionesPropuesta).Trim() == "") ? "No Aplica" : string.Format("{0}{1}", ComisionesActual, ComisionesPropuesta) });
|
|
FrFacilidadDetalle.Columnas.Add(new ColumnaResultado() { Valor = (string.Format("{0}{1}", GarantiaActual, GarantiaPropuesta).Trim() == "") ? "No Aplica" : string.Format("{0}{1}", GarantiaActual, GarantiaPropuesta).Trim() });
|
|
return FrFacilidadDetalle;
|
|
}
|
|
|
|
|
|
private FilaResultado AgregarFilaFacilidadResumen(OfertaFacilidades Facilidad, int Indice, int IdTipoTramite)
|
|
{
|
|
|
|
FilaResultado FrFacilidadResumen = new FilaResultado();
|
|
FrFacilidadResumen.Columnas = new List<ColumnaResultado>();
|
|
|
|
|
|
string Plazo = string.Empty;
|
|
string Recursos = string.Empty;
|
|
string SubLimite = string.Empty;
|
|
string FechaVencimiento = string.Empty;
|
|
|
|
try
|
|
{
|
|
|
|
if (IdTipoTramite == EnumTipoTramite.CambioCondiciones)
|
|
{
|
|
#region SubLimite
|
|
SubLimite = (Facilidad.MontoActual == null || Facilidad.MontoActual == 0) ? "" : string.Format("Actual:{0}{1} {2} {3:n2}{0}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoActual);
|
|
SubLimite += (Facilidad.MontoPropuesto == null || Facilidad.MontoPropuesto == 0) ? "" : string.Format("Propuesto:{0}{1} {2} {3:n2}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoPropuesto);
|
|
SubLimite = (SubLimite.Trim() == "" ? "No Aplica" : SubLimite);
|
|
#endregion
|
|
|
|
#region Plazo
|
|
Plazo = string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoActual) || Facilidad.PlazoMaximoActual == "0" ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, Facilidad.PlazoMaximoActual);
|
|
Plazo += string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoPropuesto) ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, Facilidad.PlazoMaximoPropuesto);
|
|
Plazo = (Plazo.Trim() == "" ? "No Aplica" : Plazo);
|
|
#endregion
|
|
|
|
#region Recursos
|
|
Recursos = string.IsNullOrWhiteSpace(Facilidad.Recursos) ? "" : string.Format("{0}Recursos:{0}{1}{0}", SaltoLinea, Facilidad.Recursos);
|
|
#endregion
|
|
|
|
#region FechaVencimiento
|
|
FechaVencimiento = (Facilidad.FechaVencimientoActual == null) ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, string.Format("{0:dd-MMM-yyyy}", Facilidad.FechaVencimientoActual));
|
|
FechaVencimiento += (Facilidad.FechaVencimiento == null) ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, string.Format("{0:dd-MMM-yyyy}", Facilidad.FechaVencimiento));
|
|
FechaVencimiento = (FechaVencimiento.Trim() == "" ? "No Aplica" : FechaVencimiento);
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
|
|
#region SubLimite
|
|
SubLimite = string.Format("{0:n2}", Facilidad.MontoPropuesto);
|
|
#endregion
|
|
|
|
#region Plazo
|
|
Plazo = Facilidad.PlazoMaximoPropuesto;
|
|
#endregion
|
|
|
|
#region Recursos
|
|
Recursos = string.IsNullOrWhiteSpace(Facilidad.Recursos) ? "" : string.Format("{0}Recursos:{0}{1}{0}", SaltoLinea, Facilidad.Recursos);
|
|
#endregion
|
|
|
|
#region FechaVencimiento
|
|
FechaVencimiento = string.Format("{0:dd-MMM-yyyy}", Facilidad.FechaVencimiento);
|
|
#endregion
|
|
}
|
|
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = null });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}", Indice) });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.TipoFacilidad.Descripcion });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.Detalle });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0} {1}", Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo) });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = SubLimite });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = string.Format("o su equivalente en {0}", Facilidad.Moneda.IdMoneda == 0 ? "dólares" : "colones") });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = Plazo });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = FechaVencimiento });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logs.Error(ex);
|
|
}
|
|
|
|
return FrFacilidadResumen;
|
|
}
|
|
|
|
private FilaResultado AgregarFilaFacilidadResumen(OfertaOperaciones Facilidad, int Indice, int IdTipoTramite)
|
|
{
|
|
|
|
FilaResultado FrFacilidadResumen = new FilaResultado();
|
|
FrFacilidadResumen.Columnas = new List<ColumnaResultado>();
|
|
|
|
|
|
string Plazo = string.Empty;
|
|
string Recursos = string.Empty;
|
|
string SubLimite = string.Empty;
|
|
string FechaVencimiento = string.Empty;
|
|
|
|
try
|
|
{
|
|
|
|
if (IdTipoTramite == EnumTipoTramite.CambioCondiciones)
|
|
{
|
|
#region SubLimite
|
|
SubLimite = (Facilidad.MontoActual == null || Facilidad.MontoActual == 0) ? "" : string.Format("Actual:{0}{1} {2} {3:n2}{0}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoActual);
|
|
SubLimite += (Facilidad.MontoPropuesto == null || Facilidad.MontoPropuesto == 0) ? "" : string.Format("Propuesto:{0}{1} {2} {3:n2}{0}", SaltoLinea, Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo, Facilidad.MontoPropuesto);
|
|
SubLimite = (SubLimite.Trim() == "" ? "No Aplica" : SubLimite);
|
|
#endregion
|
|
|
|
#region Plazo
|
|
Plazo = string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoActual) || Facilidad.PlazoMaximoActual == "0" ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, Facilidad.PlazoMaximoActual);
|
|
Plazo += string.IsNullOrWhiteSpace(Facilidad.PlazoMaximoPropuesto) ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, Facilidad.PlazoMaximoPropuesto);
|
|
Plazo = (Plazo.Trim() == "" ? "No Aplica" : Plazo);
|
|
#endregion
|
|
|
|
#region Recursos
|
|
Recursos = string.IsNullOrWhiteSpace(Facilidad.Recursos) ? "" : string.Format("{0}Recursos:{0}{1}{0}", SaltoLinea, Facilidad.Recursos);
|
|
#endregion
|
|
|
|
#region FechaVencimiento
|
|
FechaVencimiento = (Facilidad.FechaVencimientoActual == null) ? "" : string.Format("Actual:{0}{1}{0}{0}", SaltoLinea, string.Format("{0:dd-MMM-yyyy}", Facilidad.FechaVencimientoActual));
|
|
//FechaVencimiento = "";
|
|
FechaVencimiento += (Facilidad.FechaVencimiento == null) ? "" : string.Format("Propuesto:{0}{1}{0}", SaltoLinea, string.Format("{0:dd-MMM-yyyy}", Facilidad.FechaVencimiento));
|
|
FechaVencimiento = (FechaVencimiento.Trim() == "" ? "No Aplica" : FechaVencimiento);
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
|
|
#region SubLimite
|
|
SubLimite = string.Format("{0:n2}", Facilidad.MontoPropuesto);
|
|
#endregion
|
|
|
|
#region Plazo
|
|
Plazo = Facilidad.PlazoMaximoPropuesto;
|
|
#endregion
|
|
|
|
#region Recursos
|
|
Recursos = string.IsNullOrWhiteSpace(Facilidad.Recursos) ? "" : string.Format("{0}Recursos:{0}{1}{0}", SaltoLinea, Facilidad.Recursos);
|
|
#endregion
|
|
|
|
#region FechaVencimiento
|
|
FechaVencimiento = string.Format("{0:dd-MMM-yyyy}", Facilidad.FechaVencimiento);
|
|
#endregion
|
|
}
|
|
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = null });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0}", Indice) });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.Operacion });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = Facilidad.Detalle });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = string.Format("{0} {1}", Facilidad.Moneda.Nemonico, Facilidad.Moneda.Simbolo) });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = SubLimite });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = string.Format("o su equivalente en {0}", Facilidad.Moneda.IdMoneda == 0 ? "dólares" : "colones") });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = Plazo });
|
|
FrFacilidadResumen.Columnas.Add(new ColumnaResultado() { Valor = FechaVencimiento });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logs.Error(ex);
|
|
}
|
|
|
|
return FrFacilidadResumen;
|
|
}
|
|
|
|
|
|
}
|
|
} |