390 lines
No EOL
14 KiB
C#
390 lines
No EOL
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Http;
|
|
using ULA.Cathay.CreditoModel.Entidades;
|
|
using ULA.Cathay.Credito.Json;
|
|
using ULA.Cathay.CreditoModel.DAL.Credito;
|
|
using ULA.Cathay.CreditoModel.BL.Credito;
|
|
using ULA.Cathay.CreditoModel.Credito;
|
|
using Ultimus.Interfaces;
|
|
using Ultimus.Utilitarios;
|
|
using ULA.Cathay.CreditoModel.DAL.CorporativoDatosRecientes;
|
|
using ULA.Cathay.Credito.ControllersWebApi.RecopilacionInformacion;
|
|
|
|
namespace ULA.Cathay.Credito.ControllersWebApi
|
|
{
|
|
public partial class IngresoClienteAPIController : ApiController
|
|
{
|
|
UltimusLogs log = new UltimusLogs("IngresoClienteAPIController");
|
|
|
|
#region ETAPA INGRESO AL CLIENTE
|
|
|
|
#region ObtenerDatos
|
|
[HttpGet]
|
|
public JsonIngresoCliete ObtenerDatos(int IdSolicitud)
|
|
{
|
|
JsonIngresoCliete respuesta = new JsonIngresoCliete();
|
|
SolicitanteBL solicitantebl = new SolicitanteBL();
|
|
Solicitante solicitante = new Solicitante();
|
|
|
|
EmailSolicitudBL invitadoBL = new EmailSolicitudBL();
|
|
EmailSolicitud invitado = new EmailSolicitud();
|
|
|
|
|
|
try
|
|
{
|
|
solicitante = solicitantebl.Obtener(IdSolicitud).Where(s => s.IdTipoSolicitante == 1).FirstOrDefault();
|
|
|
|
if (solicitante != null && solicitante.Cliente != null)
|
|
{
|
|
respuesta.Cliente = solicitante.Cliente ?? null;
|
|
|
|
if (solicitante.Cliente.TipoTramite != null)
|
|
respuesta.DescripcionTramite = solicitante.Cliente.TipoTramite.Descripcion ?? string.Empty;
|
|
if (solicitante.Cliente.ClasificacionCliente != null)
|
|
respuesta.DescripcionClasificacionCliente = solicitante.Cliente.ClasificacionCliente.Descripcion ?? string.Empty;
|
|
if (solicitante.Cliente.TipoFuenteIngreso != null)
|
|
respuesta.DescripcionTipoIngreso = solicitante.Cliente.TipoFuenteIngreso.Descripcion ?? string.Empty;
|
|
if (solicitante.Cliente.TipoIdentificacion != null)
|
|
respuesta.DescripcionTipoIdentificacion = solicitante.Cliente.TipoIdentificacion.Descripcion ?? string.Empty;
|
|
if (solicitante.Cliente.Ejecutivo != null)
|
|
respuesta.DescripcionEjecutivo = solicitante.Cliente.Ejecutivo.Nombre ?? string.Empty;
|
|
}
|
|
|
|
respuesta.Solicitud = new Solicitud
|
|
{
|
|
CaratulaCredito = new CaratulaCreditoDAL().Obtener(IdSolicitud)
|
|
};
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
respuesta.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
|
|
log.Error(ex);
|
|
return respuesta;
|
|
|
|
}
|
|
return respuesta;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region ObtenerParticipantesSolicitud
|
|
[HttpPost]
|
|
public JsonSolicitud ObtenerParticipantesSolicitud(JsonSolicitud model)
|
|
{
|
|
JsonSolicitud respuesta = new JsonSolicitud();
|
|
try
|
|
{
|
|
respuesta.Solicitud = new SolicitudDAL().Obtener(model.IdSolicitud);
|
|
respuesta.Solicitud.Solicitante = new SolicitanteDAL().Obtener(model.IdSolicitud);
|
|
|
|
foreach (var p in respuesta.Solicitud.Solicitante)
|
|
{
|
|
p.Solicitud = null;
|
|
if (p.TipoSolicitante != null) p.TipoSolicitante.Solicitante = null;
|
|
|
|
foreach (var e in p.Cliente.EmailCliente)
|
|
e.Cliente = null;
|
|
|
|
foreach (var t in p.Cliente.TelefonoCliente)
|
|
t.Cliente = null;
|
|
|
|
if (p.Cliente != null)
|
|
{
|
|
p.Cliente.TipoCliente = null;
|
|
p.Cliente.Solicitante = null;
|
|
if (p.Cliente.TipoTramite != null) p.Cliente.TipoTramite.Cliente = null;
|
|
if (p.Cliente.Ejecutivo != null) p.Cliente.Ejecutivo.Oferta = null;
|
|
if (p.Cliente.Ejecutivo != null) p.Cliente.Ejecutivo.Cliente = null;
|
|
if (p.Cliente.TipoFuenteIngreso != null) p.Cliente.TipoFuenteIngreso.Cliente = null;
|
|
if (p.Cliente.TipoIdentificacion != null) p.Cliente.TipoIdentificacion.Cliente = null;
|
|
if (p.Cliente.ClasificacionCliente != null) p.Cliente.ClasificacionCliente.Cliente = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
respuesta.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
|
|
log.Error(ex);
|
|
return respuesta;
|
|
|
|
}
|
|
return respuesta;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Guardar
|
|
[HttpPost]
|
|
public JsonSolicitud Guardar([FromBody] JsonIngresoCliete model)
|
|
{
|
|
ClienteDAL ConnCliente = new ClienteDAL();
|
|
SolicitudBL solicitudBL = new SolicitudBL();
|
|
SolicitanteBL solicitanteBL = new SolicitanteBL();
|
|
EmailClienteBL emailBL = new EmailClienteBL();
|
|
TelefonoClienteBL teledonoBL = new TelefonoClienteBL();
|
|
Solicitante solicitante = new Solicitante();
|
|
JsonSolicitud respuesta = new JsonSolicitud();
|
|
BaseJson Respuesta = new BaseJson();
|
|
int IdCliente = 0;
|
|
try
|
|
{
|
|
CaratulaCredito Caratula = model.Solicitud.CaratulaCredito != null ? model.Solicitud.CaratulaCredito : null;
|
|
Solicitud solicitud = solicitudBL.Insertar(model.Solicitud);
|
|
respuesta.Solicitud = solicitud;
|
|
|
|
IdCliente = solicitanteBL.ObtenerIdCliente(solicitud.IdSolicitud);
|
|
|
|
Cliente nuevo = model.Cliente;
|
|
nuevo.IdCliente = IdCliente;
|
|
Respuesta = ConnCliente.InsertarActualizar(nuevo);
|
|
|
|
if (Respuesta.CodigoRespuesta == TipoCodigoRespuesta.EXITOSO.ToString())
|
|
{
|
|
TelefonoCliente tel = model.TelefonoCliente;
|
|
EmailCliente email = model.EmailCliente;
|
|
|
|
tel.IdCliente = nuevo.IdCliente;
|
|
email.IdCliente = nuevo.IdCliente;
|
|
emailBL.Insertar(email);
|
|
teledonoBL.Insertar(tel);
|
|
solicitante.IdCliente = nuevo.IdCliente;
|
|
solicitante.IdSolicitud = solicitud.IdSolicitud;
|
|
solicitante.IdTipoSolicitante = 1;
|
|
solicitante.EsPrincipal = true;
|
|
solicitanteBL.Insertar(solicitante);
|
|
respuesta.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
|
|
}
|
|
else
|
|
respuesta.CodigoRespuesta = Respuesta.CodigoRespuesta;
|
|
|
|
|
|
if (Caratula != null && model.Cliente.IdTipoTramite == EnumTipoTramite.CambioCondiciones && Respuesta.CodigoRespuesta == TipoCodigoRespuesta.EXITOSO.ToString())
|
|
{
|
|
|
|
JsonSolicitud respJSON = new CaratulaCreditoAPIController().ConsultarDatosSolicitusCaratula(solicitud);
|
|
respJSON.Solicitud.CaratulaCredito.IdTipoCambioCondiciones = Caratula.IdTipoCambioCondiciones;
|
|
respJSON.Solicitud.CaratulaCredito.IdSolicitud = solicitud.IdSolicitud;
|
|
new CaratulaCreditoDAL().InsertarActualizar(respJSON.Solicitud.CaratulaCredito);
|
|
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
respuesta.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
respuesta.DescripcionRespuesta = ex.Message;
|
|
log.Error(ex);
|
|
}
|
|
finally
|
|
{
|
|
ConnCliente = null;
|
|
solicitudBL = null;
|
|
solicitanteBL = null;
|
|
solicitante = null;
|
|
}
|
|
return respuesta;
|
|
}
|
|
#endregion
|
|
|
|
#region ObtenerSolicitudActivaUltimus
|
|
//[HttpGet]
|
|
//public BaseJsonMetadata ObtenerSolicitudActivaUltimus(string Identificacion, string UserID, int IdTipoIdentificacion)
|
|
//{
|
|
// ClienteBL clienteBl = new ClienteBL();
|
|
// BaseJsonMetadata respuesta = new BaseJsonMetadata();
|
|
// EjecutivoDAL EjecutivoDAl = new EjecutivoDAL();
|
|
// IncidentesActivosClienteDAL mIncidentesActivosCliente = new IncidentesActivosClienteDAL();
|
|
|
|
// try
|
|
// {
|
|
// string[] usuario = UserID.Split('/');
|
|
// respuesta.SolicitudActicaUltimus = false;
|
|
|
|
// Ejecutivo Ejecutivo = EjecutivoDAl.ObtenerEjecutivoXUserID(usuario[1]);
|
|
// if (Ejecutivo == null)
|
|
// {
|
|
// respuesta.CodigoRespuesta = TipoCodigoRespuesta.ADVERTENCIA.ToString();
|
|
// respuesta.DescripcionRespuesta = "El ejecutivo no se encuentra registrado en el BPM";
|
|
// return respuesta;
|
|
// }
|
|
|
|
// var TieneIncidentesActivos = mIncidentesActivosCliente.Obtener(Identificacion);
|
|
|
|
// if (TieneIncidentesActivos != null && TieneIncidentesActivos.Count() > 0)
|
|
// respuesta.SolicitudActicaUltimus = !(TieneIncidentesActivos.Where(c => c.UsuarioCreador.Contains(Ejecutivo.UserId)).Any());
|
|
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// respuesta.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
// respuesta.DescripcionRespuesta = ex.Message;
|
|
// log.Error(ex);
|
|
// return respuesta;
|
|
|
|
// }
|
|
// return respuesta;
|
|
//}
|
|
|
|
[HttpGet]
|
|
public BaseJsonMetadata ObtenerSolicitudActivaUltimus(string Identificacion, int IdEjecutivo, int IdTipoIdentificacion)
|
|
{
|
|
ClienteBL clienteBl = new ClienteBL();
|
|
BaseJsonMetadata respuesta = new BaseJsonMetadata();
|
|
EjecutivoDAL EjecutivoDAl = new EjecutivoDAL();
|
|
IncidentesActivosClienteDAL mIncidentesActivosCliente = new IncidentesActivosClienteDAL();
|
|
|
|
try
|
|
{
|
|
|
|
respuesta.SolicitudActicaUltimus = false;
|
|
|
|
Ejecutivo Ejecutivo = EjecutivoDAl.ObtenerEjecutivoID(IdEjecutivo);
|
|
if (Ejecutivo == null)
|
|
{
|
|
respuesta.CodigoRespuesta = TipoCodigoRespuesta.ADVERTENCIA.ToString();
|
|
respuesta.DescripcionRespuesta = "El ejecutivo no se encuentra registrado en el BPM";
|
|
return respuesta;
|
|
}
|
|
|
|
var TieneIncidentesActivos = mIncidentesActivosCliente.Obtener(Identificacion);
|
|
|
|
if (TieneIncidentesActivos != null && TieneIncidentesActivos.Count() > 0)
|
|
respuesta.SolicitudActicaUltimus = !(TieneIncidentesActivos.Where(c => c.UsuarioCreador.Contains(Ejecutivo.UserId)).Any());
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
respuesta.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
respuesta.DescripcionRespuesta = ex.Message;
|
|
log.Error(ex);
|
|
return respuesta;
|
|
|
|
}
|
|
return respuesta;
|
|
}
|
|
#endregion
|
|
|
|
#region ObtenerEjecutivoXUserID
|
|
[HttpGet]
|
|
public Ejecutivo ObtenerEjecutivoXUserID(string UserID)
|
|
{
|
|
EjecutivoBL ejecutivoBl = new EjecutivoBL();
|
|
Ejecutivo respuesta = new Ejecutivo();
|
|
try
|
|
{
|
|
string[] usuario = UserID.Split('/');
|
|
respuesta = ejecutivoBl.ObtenerEjecutivoXUserID(usuario[1]);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
log.Error(ex);
|
|
return respuesta = null;
|
|
}
|
|
return respuesta;
|
|
|
|
}
|
|
#endregion
|
|
|
|
[HttpGet]
|
|
public Ejecutivo ObtenerEjecutivoID(int IdEjecutivo)
|
|
{
|
|
EjecutivoDAL ejecutivoDAL = new EjecutivoDAL();
|
|
Ejecutivo respuesta = new Ejecutivo();
|
|
try
|
|
{
|
|
respuesta = ejecutivoDAL.ObtenerEjecutivoID(IdEjecutivo);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
log.Error(ex);
|
|
return respuesta = null;
|
|
}
|
|
return respuesta;
|
|
}
|
|
|
|
#region ObtenerEjecutivoXCodigo
|
|
[HttpGet]
|
|
public Ejecutivo ObtenerEjecutivoXCodigo(string Codigo)
|
|
{
|
|
EjecutivoBL ejecutivoBl = new EjecutivoBL();
|
|
Ejecutivo respuesta = new Ejecutivo();
|
|
try
|
|
{
|
|
respuesta = ejecutivoBl.ObtenerEjecutivoXCodigo(Codigo);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
log.Error(ex);
|
|
return respuesta = null;
|
|
}
|
|
return respuesta;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region ObtenerSolicitudesNoEnviadas
|
|
[HttpGet]
|
|
public List<Solicitud> ObtenerSolicitudesNoEnviadas(string UsuarioIngresador)
|
|
{
|
|
List<Solicitud> listaSolicitudNoEnviada = new List<Solicitud>();
|
|
|
|
try
|
|
{
|
|
listaSolicitudNoEnviada = new SolicitudDAL().ObtenerSolicitudesNoEnviadas(UsuarioIngresador);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
log.Error(ex);
|
|
}
|
|
|
|
return listaSolicitudNoEnviada;
|
|
}
|
|
#endregion
|
|
|
|
#region EliminarSolicitudNoEnviada
|
|
[HttpPost]
|
|
public BaseJson EliminarSolicitudNoEnviada(JsonSolicitud model)
|
|
{
|
|
BaseJson resp = new BaseJson();
|
|
SolicitudDAL CurrentSolicitudDAL = null;
|
|
|
|
try
|
|
{
|
|
CurrentSolicitudDAL = new SolicitudDAL();
|
|
Solicitud CurrentSolicitud = CurrentSolicitudDAL.Obtener(model.Solicitud.IdSolicitud);
|
|
|
|
CurrentSolicitud.IdEstadoBandeja = EnumEstadoSolicitud.BORRADA;
|
|
CurrentSolicitudDAL.Insertar(CurrentSolicitud);
|
|
|
|
resp.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
resp.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
resp.DescripcionRespuesta = ex.Message;
|
|
|
|
log.Error(ex);
|
|
}
|
|
finally
|
|
{
|
|
CurrentSolicitudDAL = null;
|
|
}
|
|
|
|
return resp;
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
|
|
} |