187 lines
No EOL
8.1 KiB
C#
187 lines
No EOL
8.1 KiB
C#
using NLog;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
using ULA.Cathay.CreditoModel.Credito;
|
|
using ULA.Cathay.ModuloMantenimiento.Commons;
|
|
using ULA.Cathay.ModuloMantenimiento.Json;
|
|
using Ultimus.Interfaces;
|
|
using System.Data.Entity;
|
|
using System.Data.Entity.Validation;
|
|
using Ultimus.Utilitarios;
|
|
|
|
namespace ULA.Cathay.ModuloMantenimiento.ControllersWebApi
|
|
{
|
|
public class ControlCarteraAPIController : ApiController
|
|
{
|
|
private static Logger logger = LogManager.GetLogger("ControlCarteraAPIController");
|
|
|
|
private string _IDLogger;
|
|
public string IDLogger
|
|
{
|
|
get { return _IDLogger; }
|
|
set { _IDLogger = string.Format("INCIDENT {0}|", value); }
|
|
}
|
|
#region ControlCartera
|
|
|
|
|
|
#region ObtenerControlCartera
|
|
[HttpGet]
|
|
public List<ControlCartera> ObtenerControlCartera(bool? Generada)
|
|
{
|
|
List<ControlCartera> respuesta = new List<ControlCartera>();
|
|
|
|
try
|
|
{
|
|
using (CreditoContex db = new CreditoContex())
|
|
{
|
|
respuesta = db.ControlCartera.Include(e => e.TipoCategoria)
|
|
.Include(e => e.TipoCliente)
|
|
.Include(e => e.ClasificacionCliente)
|
|
.Include(e => e.TipoFuenteIngreso)
|
|
.Include(e => e.TipoSolicitante)
|
|
.Include(e => e.Moneda)
|
|
.Where(e => Generada == false ? (e.SolicitudGenerada == null || e.SolicitudGenerada == false) : e.SolicitudGenerada == true)
|
|
.AsNoTracking().ToList();
|
|
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
|
|
}
|
|
|
|
return respuesta;
|
|
}
|
|
#endregion
|
|
|
|
#region ModificarItem
|
|
[HttpPost]
|
|
public BaseJson ModificarItem(ControlCartera model)
|
|
{
|
|
|
|
BaseJson ModelReturn = new BaseJson();
|
|
|
|
try
|
|
{
|
|
ModelReturn.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
|
|
|
|
using (CreditoContex db = new CreditoContex())
|
|
{
|
|
|
|
if (db.ControlCartera.Where(t => t.IdLinea == model.IdLinea && t.SolicitudGenerada != true && t.IdCartera != model.IdCartera).Any())
|
|
{
|
|
ModelReturn.CodigoRespuesta = TipoCodigoRespuesta.ADVERTENCIA.ToString();
|
|
ModelReturn.DescripcionRespuesta = "Ya existe el número de línea registrado dentro de Control Cartera en otro Item. <br>No es posible registrar la línea nuevamente.<br><br>De ser requerido proceda con la selección y actualización de los datos asociados a la línea que está tratando de registrar.";
|
|
return ModelReturn;
|
|
}
|
|
|
|
|
|
|
|
ControlCartera _model = db.ControlCartera.Where(t => t.IdCartera == model.IdCartera).FirstOrDefault();
|
|
|
|
model.ClearVirtualProperties();
|
|
if (_model != null)
|
|
{
|
|
//_model.IdLinea = model.IdLinea;
|
|
//_model.NombreCliente = model.NombreCliente;
|
|
//_model.MontoLinea = model.MontoLinea;
|
|
//_model.IdMoneda = model.IdMoneda;
|
|
//_model.FechaVencimiento = model.FechaVencimiento;
|
|
//_model.Comentarios = model.Comentarios;
|
|
//_model.ForzarRenovacion = model.ForzarRenovacion;
|
|
//_model.IdTipoCategoria = model.IdTipoCategoria;
|
|
//_model.IdTipoCliente = model.IdTipoCliente;
|
|
//_model.IdClasificacionCliente = model.IdClasificacionCliente;
|
|
//_model.IdTipoIngreso = model.IdTipoIngreso;
|
|
//_model.IdTipoSolicitante = model.IdTipoSolicitante;
|
|
|
|
|
|
db.Entry(_model).State = System.Data.Entity.EntityState.Detached;
|
|
db.ControlCartera.Attach(model);
|
|
db.Entry(model).State = System.Data.Entity.EntityState.Modified;
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ModelReturn.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
ModelReturn.DescripcionRespuesta = ex.Message;
|
|
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
|
|
}
|
|
return ModelReturn;
|
|
}
|
|
#endregion
|
|
|
|
#region InsertarItem
|
|
[HttpPost]
|
|
public BaseJson InsertarItem(ControlCartera model)
|
|
{
|
|
int? Next_id;
|
|
int idActual;
|
|
BaseJson ModelReturn = new BaseJson();
|
|
ControlCartera _model = new ControlCartera();
|
|
|
|
try
|
|
{
|
|
ModelReturn.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
|
|
|
|
|
|
using (CreditoContex db = new CreditoContex())
|
|
{
|
|
_model = db.ControlCartera.Where(t => t.IdLinea == model.IdLinea && t.SolicitudGenerada != true).FirstOrDefault();
|
|
|
|
if (_model != null)
|
|
{
|
|
ModelReturn.CodigoRespuesta = TipoCodigoRespuesta.ADVERTENCIA.ToString();
|
|
ModelReturn.DescripcionRespuesta = "Ya existe el número de línea registrado dentro de Control Cartera. <br>No es posible registrarla nuevamente.<br>De ser requerido proceda con la selección y actualización de los datos asociados a la línea";
|
|
return ModelReturn;
|
|
}
|
|
|
|
Next_id = db.ControlCartera.Max(t => (int?)t.IdCartera);
|
|
idActual = (Next_id == null) ? 0 : Convert.ToInt32(Next_id);
|
|
|
|
_model = new ControlCartera();
|
|
_model.IdCartera = (idActual + 1);
|
|
_model.IdLinea = model.IdLinea;
|
|
_model.NombreCliente = model.NombreCliente;
|
|
_model.MontoLinea = model.MontoLinea;
|
|
_model.IdMoneda = model.IdMoneda;
|
|
_model.FechaVencimiento = model.FechaVencimiento;
|
|
_model.Comentarios = model.Comentarios;
|
|
_model.UsuarioCreador = model.UsuarioCreador;// no esta aceptando null da error si no lo trae
|
|
_model.FechaCreacion = DateTime.Now;
|
|
_model.SolicitudGenerada = model.SolicitudGenerada;
|
|
_model.IdSolicitud = model.IdSolicitud;
|
|
_model.FechaIncidente = model.FechaIncidente;
|
|
_model.ForzarRenovacion = model.ForzarRenovacion;
|
|
_model.Incidente = null;
|
|
_model.IdTipoCategoria = model.IdTipoCategoria;
|
|
_model.IdTipoCliente = model.IdTipoCliente;
|
|
_model.IdClasificacionCliente = model.IdClasificacionCliente;
|
|
_model.IdTipoIngreso = model.IdTipoIngreso;
|
|
_model.IdTipoSolicitante = model.IdTipoSolicitante;
|
|
_model.ClearVirtualProperties();
|
|
db.ControlCartera.Add(_model);
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ModelReturn.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
|
|
ModelReturn.DescripcionRespuesta = ex.Message;
|
|
logger.Error(IDLogger + " Error " + Utilities.GetCurrentMethodName() + "=" + ex.Message + ex.StackTrace);
|
|
}
|
|
|
|
return ModelReturn;
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
}
|
|
} |