TFS_ANTIGUO/SInCathay/ULA.Cathay.CreditoModel.DAL/Credito/ObservacionFormalizacionDAL.cs

102 lines
4.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using ULA.Cathay.CreditoModel.Credito;
using Ultimus.Utilitarios;
using System.Data.Entity;
using Ultimus.Interfaces;
namespace ULA.Cathay.CreditoModel.DAL.Credito
{
public class ObservacionFormalizacionDAL
{
private UltimusLogs logger = new UltimusLogs("ObservacionFormalizacionDAL");
public List<ObservacionFormalizacion> Obtener(int IdTipoDocumento, int IdTipoObservacion, int IdCliente, int IdSolicitud, string NombreProceso, string Etapa, int? ConsecutivoPeriodo)
{
List<ObservacionFormalizacion> respuesta = new List<ObservacionFormalizacion>();
ProcesosDAL ProcesoDAL = new ProcesosDAL();
try
{
Procesos proceso = ProcesoDAL.Obtener(NombreProceso);
using (CreditoContex db = new CreditoContex())
{
respuesta = db.ObservacionFormalizacion.Where(x => x.IdTipoDocumento == IdTipoDocumento
&& x.IdTipoObservacion == IdTipoObservacion
&& x.IdCliente == IdCliente
&& x.IdSolicitud == IdSolicitud
&& x.IdProceso == proceso.IdProceso
&& ((ConsecutivoPeriodo == null) || (x.ConsecutivoPeriodo == ConsecutivoPeriodo))
&& ((string.IsNullOrEmpty(Etapa)) || (x.Etapa == Etapa))
)
.Include(x => x.BitacoraDocumentosFormalizacion)
.Include(x => x.BitacoraDocumentosFormalizacion.TipoDocumento)
.Include(x => x.BitacoraDocumentosFormalizacion.TipoDocumento.TipoExpedienteDocumentos)
.Include(x => x.TipoObservacion)
.ToList();
}
}
catch (Exception ex)
{
logger.Error(ex);
throw ex;
}
return respuesta;
}
public BaseJson Insertar(ObservacionFormalizacion model)
{
BaseJson ValorRetorno = new BaseJson();
try
{
model.ClearVirtualProperties();
using (CreditoContex db = new CreditoContex())
{
int? Next_id = db.ObservacionFormalizacion.Max(t => (int?)t.IdObservacion);
model.IdObservacion = (Next_id == null) ? 1 : Next_id.Value + 1;
model.FechaObservacion = DateTime.Now;
db.ObservacionFormalizacion.Add(model);
db.SaveChanges();
ValorRetorno.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (Exception ex)
{
ValorRetorno.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
logger.Error(ex);
}
return ValorRetorno;
}
public BaseJson Eliminar(ObservacionFormalizacion model)
{
BaseJson respuesta = new BaseJson();
try
{
using (CreditoContex db = new CreditoContex())
{
List<ObservacionFormalizacion> lista = db.ObservacionFormalizacion.Where(x => x.IdObservacion == model.IdObservacion &&
x.Usuario == model.Usuario && x.Etapa == model.Etapa).ToList();
db.ObservacionFormalizacion.RemoveRange(lista);
db.SaveChanges();
respuesta.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (Exception ex)
{
logger.Error(ex);
throw ex;
}
return respuesta;
}
}
}