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

99 lines
3.3 KiB
C#

using System;
using System.Linq;
using Ultimus.Utilitarios;
using ULA.Cathay.CreditoModel.Credito;
using ULA.Cathay.CreditoModel.Entidades;
using System.Data.Entity;
using System.Data.Entity.Validation;
namespace ULA.Cathay.CreditoModel.DAL.Credito
{
public class DetalleRequisitosDAL
{
UltimusLogs logs = new UltimusLogs("DetalleRequisitosDAL");
public DetalleRequisitos Obtener(int IdSolicitud)
{
DetalleRequisitos model = new DetalleRequisitos();
try
{
using (CreditoContex db = new CreditoContex())
{
model = db.DetalleRequisitos
.Include(c => c.Ejecutivo)
.Where(c => c.IdSolicitud == IdSolicitud)
.FirstOrDefault();
}
}
catch (Exception ex)
{
logs.Error(ex);
}
return model;
}
public DetalleRequisitos InsertasActualizar(DetalleRequisitos model, string Step = "")
{
try
{
using (CreditoContex db = new CreditoContex())
{
model.Ejecutivo = null;
if (db.DetalleRequisitos.AsNoTracking().Where(c => c.IdSolicitud == model.IdSolicitud).Any())
{
switch (Step)
{
case EnumEtapas.Etapa_RE_ValidExcepAnalisis:
model.FecDecisionGerenciaAnalisis = DateTime.Now;
db.DetalleRequisitos.Attach(model);
db.Entry(model).Property(x => x.DecisionGerenciaAnalisis).IsModified = true;
db.Entry(model).Property(x => x.FecDecisionGerenciaAnalisis).IsModified = true;
db.Entry(model).Property(x => x.JustificacionRechazoAnalisis).IsModified = true;
break;
case EnumEtapas.Etapa_RE_ValidExcepCumplimiento:
model.FecDecisionOficialCumplimiento = DateTime.Now;
db.DetalleRequisitos.Attach(model);
db.Entry(model).Property(x => x.DecisionOficialCumplimiento).IsModified = true;
db.Entry(model).Property(x => x.FecDecisionOficialCumplimiento).IsModified = true;
db.Entry(model).Property(x => x.JustificacionRechazoCumplimiento).IsModified = true;
break;
default:
db.Entry(model).State = System.Data.Entity.EntityState.Modified;
break;
}
}
else
{
db.DetalleRequisitos.Add(model);
}
db.SaveChanges();
}
}
catch (DbEntityValidationException ex)
{
logs.Error(ex);
}
catch (Exception ex)
{
logs.Error(ex);
}
return model;
}
}
}