TFS_ANTIGUO/SInCathay/ULA.Cathay.Credito/ControllersWebApi/RecopilacionInformacion/ValidarExcepcionesAPIController.cs

180 lines
No EOL
6.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using Ultimus.Utilitarios;
using ULA.Cathay.CreditoModel.Credito;
using ULA.Cathay.CreditoModel.DAL.Credito;
using ULA.Cathay.Credito.Json;
using Ultimus.Interfaces;
using ULA.Cathay.CreditoModel.Entidades;
namespace ULA.Cathay.Credito.ControllersWebApi.RecopilacionInformacion
{
public class ValidarExcepcionesAPIController : ApiController
{
UltimusLogs logs = new UltimusLogs("ValidarExcepcionesAPIController");
[HttpPost]
public JsonSolicitud GuardarValidarExcepciones(JsonSolicitud model)
{
try
{
#region DetalleRequisitos
model.Solicitud.DetalleRequisitos = new DetalleRequisitosDAL().InsertasActualizar(model.Solicitud.DetalleRequisitos, model.UltimusStep);
#endregion
#region BitacoraDocumentos
foreach (Solicitante _modelSolicitante in model.Solicitud.Solicitante)
{
var _modelBitacoraDocumentos = _modelSolicitante != null && _modelSolicitante.Cliente != null ? _modelSolicitante.Cliente.BitacoraDocumentosCliente : null;
if (_modelBitacoraDocumentos != null)
{
new BitacoraDocumentosClienteDAL().Actualizar(_modelBitacoraDocumentos.ToList(), model.UltimusStep, _modelSolicitante.Cliente);
}
}
#endregion
model.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
}
catch (Exception ex)
{
logs.Error(ex);
model.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
return model;
}
[HttpPost]
public BaseJson GuardarBitacoraValidarExcepciones(BitacoraEncValidarExcepciones model)
{
BaseJson _Resultado = new BaseJson();
try
{
using (CreditoContex db = new CreditoContex())
{
if (model != null)
{
#region BitacoraValidarExcepciones
//Obtiene los ID con que debe cargar el objeto
model.IdEtapa = db.Etapas.Where(x => x.DescripcionEtapa == model.Etapas.DescripcionEtapa).Select(x => x.IdEtapa).FirstOrDefault();
if (model.IdEtapa == 0 || model.IdEtapa == null) { throw new Exception("No fue posible obtener la información de registro para la etapa " + model.Etapas.DescripcionEtapa); }
int _IdTipoObservacion = 0;
switch (model.Etapas.DescripcionEtapa)
{
case EnumEtapas.Etapa_RE_ValidExcepAnalisis:
_IdTipoObservacion = EnumTipoObservacion.Analisis;
break;
case EnumEtapas.Etapa_RE_ValidExcepCumplimiento:
_IdTipoObservacion = EnumTipoObservacion.Cumplimiento;
break;
default:
_IdTipoObservacion = EnumTipoObservacion.Negocio;
break;
}
//Arma el objeto que se va a insertar
var _modalBitacoraEncValidarExcepciones = new BitacoraEncValidarExcepciones()
{
IdCliente = model.IdCliente,
IdEtapa = model.IdEtapa,
IdTipoObservacion = _IdTipoObservacion,
IdSolicitud = model.IdSolicitud,
JustificacionRechazo = model.JustificacionRechazo,
Decision = model.Decision,
BitacoraDetValidarExcepciones = model.BitacoraDetValidarExcepciones,
};
//Invoca el metodo de registro de la condicion
var _ResultBitacoraEncValidarExcepciones = new BitacoraEncValidarExcepcionesDAL().InsertarActualizar(_modalBitacoraEncValidarExcepciones);
//Evalua la respuesta del registro de la condicion
if (_ResultBitacoraEncValidarExcepciones.CodigoRespuesta != TipoCodigoRespuesta.EXITOSO.ToString())
{
throw new Exception(_ResultBitacoraEncValidarExcepciones.DescripcionRespuesta);
}
#endregion
}
_Resultado.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (Exception ex)
{
logs.Error(ex);
_Resultado.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
return _Resultado;
}
[HttpPost]
public JsonSolicitud CargarBitacoraDocumentosSolicitante(JsonSolicitud model)
{
SolicitanteDAL SolicitanteDal;
ConsultaEpowerDAL ConsultaEpowerDal;
try
{
model = GuardarValidarExcepciones(model);
ConsultaEpowerDal = new ConsultaEpowerDAL();
SolicitanteDal = new SolicitanteDAL();
model.Solicitud.Solicitante = new List<Solicitante>();
model.ListaClientes = SolicitanteDal.ObtenerTipoSolicitantes(model.SolicitanteDocumento.IdSolicitud, model.SolicitanteDocumento.IdTipoSolicitante);
model.Solicitud.Solicitante.Add(SolicitanteDal.ObtenerSolicitanteDocumentos(model.SolicitanteDocumento));
model.Solicitud = ConsultaEpowerDal.ObtenerRutaConsultaDocumentos(model.Solicitud);
model.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
}
catch (Exception ex)
{
logs.Error(ex);
model.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
finally
{
SolicitanteDal = null;
ConsultaEpowerDal = null;
}
return model;
}
}
}