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 /// /// /// /// /// [HttpPost] public AprobacionesComite ConsultarDatosDecisionCliente(AprobacionesComite Modelo) { CaratulaCreditoDAL ConnCaratula = new CaratulaCreditoDAL(); List Aprobaciones = new List(); 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 } }