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

122 lines
3.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Ultimus.Utilitarios;
using ULA.Cathay.CreditoModel.Credito;
using System.Data.Entity;
using System.Data.Entity.Validation;
namespace ULA.Cathay.CreditoModel.DAL.Credito
{
public class FomalizacionInfoAdicional_CuentasCartaMisivaDAL
{
UltimusLogs logs = new UltimusLogs("FomalizacionInfoAdicional_CuentasCartaMisivaDAL");
public List<FomalizacionInfoAdicional_CuentasCartaMisiva> Obtener(FormaliacionInformacionAdicional model)
{
List<FomalizacionInfoAdicional_CuentasCartaMisiva> lista;
try
{
using (CreditoContex db = new CreditoContex())
{
lista = db.FomalizacionInfoAdicional_CuentasCartaMisiva.Where(c => c.IdSolicitud == model.IdSolicitud &&
model.Incident == c.Incident ).ToList();
}
}
catch (DbEntityValidationException ex)
{
logs.Error(ex);
throw ex;
}
catch (Exception ex)
{
logs.Error(ex);
throw ex;
}
return lista;
}
public FomalizacionInfoAdicional_CuentasCartaMisiva InsertarActualizar(FomalizacionInfoAdicional_CuentasCartaMisiva model)
{
try
{
using (CreditoContex db = new CreditoContex())
{
var lista_actual = db.FomalizacionInfoAdicional_CuentasCartaMisiva.AsNoTracking().Where(c => c.IdSolicitud == model.IdSolicitud &&
model.Incident == c.Incident && c.IdCuenta == model.IdCuenta).FirstOrDefault();
if (lista_actual == null)
{
int? MaxID = db.FomalizacionInfoAdicional_CuentasCartaMisiva.Max(c => (int?)c.IdCuenta);
model.IdCuenta = MaxID.HasValue ? MaxID.Value + 1 : 1;
model.Fecha = DateTime.Now;
db.FomalizacionInfoAdicional_CuentasCartaMisiva.Add(model);
}
else
{
db.FomalizacionInfoAdicional_CuentasCartaMisiva.Attach(model);
db.Entry<FomalizacionInfoAdicional_CuentasCartaMisiva>(model).State = EntityState.Modified;
}
db.SaveChanges();
}
}
catch (DbEntityValidationException ex)
{
logs.Error(ex);
throw ex;
}
catch (Exception ex)
{
logs.Error(ex);
throw ex;
}
return model;
}
public FomalizacionInfoAdicional_CuentasCartaMisiva Remover(FomalizacionInfoAdicional_CuentasCartaMisiva model)
{
FomalizacionInfoAdicional_CuentasCartaMisiva actual;
try
{
using (CreditoContex db = new CreditoContex())
{
actual = db.FomalizacionInfoAdicional_CuentasCartaMisiva.Where(c => c.IdSolicitud == model.IdSolicitud &&
model.Incident == c.Incident && c.IdCuenta == model.IdCuenta).FirstOrDefault();
if (actual != null)
{
db.FomalizacionInfoAdicional_CuentasCartaMisiva.Remove(actual);
db.SaveChanges();
}
}
}
catch (DbEntityValidationException ex)
{
logs.Error(ex);
throw ex;
}
catch (Exception ex)
{
logs.Error(ex);
throw ex;
}
finally
{
actual = null;
}
return model;
}
}
}