77 lines
No EOL
3.1 KiB
C#
77 lines
No EOL
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Http;
|
|
using ULA.Cathay.CreditoModel.Credito;
|
|
using ULA.Cathay.CreditoModel.DAL.Credito;
|
|
using ULA.Cathay.CreditoModel.Entidades;
|
|
using Ultimus.Utilitarios;
|
|
|
|
namespace ULA.Cathay.Credito.ControllersWebApi.Aprobaciones
|
|
{
|
|
public class ValidarCondicionesClienteAPIController : ApiBaseController
|
|
{
|
|
UltimusLogs logs = new UltimusLogs("ValidarCondicionesClienteAPIController");
|
|
|
|
public ValidarCondicionesClienteAPIController()
|
|
{
|
|
GlobalAPIController.SetRegionalConfig();
|
|
}
|
|
|
|
#region ConsultarDatosDecisionCliente
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="Modelo"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public AprobacionesComite ConsultarDatosDecisionCliente(AprobacionesComite Modelo)
|
|
{
|
|
CaratulaCreditoDAL ConnCaratula = new CaratulaCreditoDAL();
|
|
List<AprobacionesComite> Aprobaciones = new List<AprobacionesComite>();
|
|
|
|
try
|
|
{
|
|
Aprobaciones = ConnCaratula.ObtenerAprobacionesActuales(Modelo.IdSolicitud);
|
|
|
|
if (Aprobaciones.Where(q => q.Step == EnumEtapas.AP_Enviar_AProbacion && q.IdDecision.In(35, 36, 37)).FirstOrDefault() != null)
|
|
{
|
|
int orden = Aprobaciones.Max(x => x.Orden);
|
|
Modelo = Aprobaciones.Where(x => x.Orden == orden).FirstOrDefault();
|
|
}
|
|
else if (Aprobaciones.Where(q => q.Step == EnumEtapas.AP_Analizar_Caso && q.IdDecision.In(31)).FirstOrDefault() != null && Aprobaciones.Where(q => q.Step == EnumEtapas.AP_Corre_Caratula_Adjuntar_Doc && q.IdDecision.In(35, 36, 37)).FirstOrDefault() == null)
|
|
{
|
|
|
|
Modelo.Reconsideraciones = Aprobaciones.FirstOrDefault().Reconsideraciones;
|
|
Modelo.Orden = Aprobaciones.Max(q => q.Orden);
|
|
Modelo.EsVoto = false;
|
|
Modelo.FechaCreacion = DateTime.Now;
|
|
|
|
}
|
|
else if (Aprobaciones.Where(q => q.Step == Modelo.Step).FirstOrDefault() == null)
|
|
{
|
|
Modelo.Reconsideraciones = Aprobaciones.FirstOrDefault().Reconsideraciones;
|
|
Modelo.Orden = Aprobaciones.Max(q => q.Orden) + 1;
|
|
Modelo.EsVoto = false;
|
|
Modelo.FechaCreacion = DateTime.Now;
|
|
}
|
|
else
|
|
if (Modelo.Step.In(EnumEtapas.AP_Analizar_Caso, EnumEtapas.DE_AP_Analizar_Caso))
|
|
Modelo = Aprobaciones.Where(q => q.Step == Modelo.Step && q.NombreIntancia == Modelo.NombreIntancia).FirstOrDefault();
|
|
else
|
|
Modelo = Aprobaciones.Where(q => q.Step == Modelo.Step).FirstOrDefault();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logs.Error(ex);
|
|
}
|
|
finally
|
|
{
|
|
Aprobaciones = null;
|
|
ConnCaratula = null;
|
|
}
|
|
return Modelo;
|
|
}
|
|
#endregion
|
|
}
|
|
} |