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

95 lines
No EOL
3.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using ULA.Cathay.CreditoModel.Credito;
using Ultimus.Interfaces;
using Ultimus.Utilitarios;
using System.Data.Entity;
namespace ULA.Cathay.CreditoModel.DAL.Credito
{
public class ObservacionDAL
{
private UltimusLogs logger = new UltimusLogs("ObservacionDAL");
public List<Observacion> Obtener(int? IdTipoDocumento, int? IdTipoObservacion, int? IdCliente, string Etapa, int? ConsecutivoPeriodo)
{
List<Observacion> respuesta = new List<Observacion>();
try
{
using (CreditoContex db = new CreditoContex())
{
respuesta = db.Observacion.Where(x => ((IdTipoDocumento == null) || (x.IdTipoDocumento == IdTipoDocumento))
&& ((IdTipoObservacion == null) || (IdTipoObservacion!=4? (x.IdTipoObservacion == IdTipoObservacion):(x.IdTipoObservacion==2 || x.IdTipoObservacion==3)))
&& ((IdCliente == null) || (x.IdCliente == IdCliente))
&& ((ConsecutivoPeriodo == null) || (x.ConsecutivoPeriodo == ConsecutivoPeriodo))
&& ((string.IsNullOrEmpty(Etapa)) || (x.Etapa == Etapa))
)
.Include(x => x.BitacoraDocumentosCliente)
.Include(x => x.BitacoraDocumentosCliente.TipoDocumento)
.Include(x => x.BitacoraDocumentosCliente.TipoDocumento.TipoExpedienteDocumentos)
.Include(x => x.TipoObservacion)
.ToList();
}
}
catch (Exception ex)
{
logger.Error(ex);
throw ex;
}
return respuesta;
}
public BaseJson Insertar(Observacion model)
{
BaseJson ValorRetorno = new BaseJson();
try
{
model.ClearVirtualProperties();
using (CreditoContex db = new CreditoContex())
{
int? Next_id = db.Observacion.Max(t => (int?)t.IdObservacion);
model.IdObservacion = (Next_id == null) ? 1 : Next_id.Value + 1;
model.FechaObservacion = DateTime.Now;
db.Observacion.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(Observacion model)
{
BaseJson respuesta = new BaseJson();
try
{
using(CreditoContex db= new CreditoContex())
{
List<Observacion> lista = db.Observacion.Where(x => x.IdObservacion == model.IdObservacion &&
x.ConsecutivoPeriodo == model.ConsecutivoPeriodo && x.Usuario == model.Usuario && x.Etapa == model.Etapa).ToList();
db.Observacion.RemoveRange(lista);
db.SaveChanges();
respuesta.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (Exception ex)
{
logger.Error(ex);
throw ex;
}
return respuesta;
}
}
}