TFS_ANTIGUO/SInCathay/ULA.Cathay.Credito/ControllersWebApi/Aprobaciones/ValidarCondicionesClienteAPIController.cs

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
}
}