public List<vmCarteraxSaldos> GetSaldos(string ide_est, int r_vigencia) { List<vmCarteraxSaldos> lst = new List<vmCarteraxSaldos>(); DateTime FechaCausacion = mCausacion.FechaCausacion(); List<periodosDto> lPeriodos = new List<periodosDto>(); int VigPerAct = int.Parse(FechaCausacion.Year.ToString() + FechaCausacion.Month.ToString().PadLeft(2, '0')); mPeriodos oPeriodos = new mPeriodos(); lPeriodos = oPeriodos.Gets(r_vigencia); using (db = new ieEntities()) { List<carterap> lCarteras = db.carterap.Where(t => t.id_estudiante == ide_est && (t.estado == "PR" || t.estado == "CA") && (t.vigencia * 100 + t.periodo) <= VigPerAct && t.vigencia == r_vigencia).ToList(); foreach (periodosDto periodo in lPeriodos) { int ValorCausado = 0; int ValorPagado = 0; mVigencias objVigencias = new mVigencias(); vigenciasDto vigencia = objVigencias.Get(r_vigencia); ValorCausado = CalcularValorCausadoPeriodo(FechaCausacion, lCarteras, vigencia, ValorCausado, (int) periodo.periodo, db); List<detalles_pago> lDetallesPago = db.detalles_pago.Where(t => t.vigencia == vigencia.vigencia && t.periodo == periodo.periodo && t.pagos.estado == "PA" && t.pagos.id_estudiante == ide_est).ToList(); lDetallesPago.ForEach(t => ValorPagado += (int)t.valor); List<detalles_nota_credito> lDetallesNotas = db.detalles_nota_credito.Where(t => t.vigencia == vigencia.vigencia && t.periodo == periodo.periodo && t.notas_credito.estado == "PA" && t.notas_credito.id_estudiante == ide_est).ToList(); lDetallesNotas.ForEach(t => ValorPagado += (int)t.valor); if ((ValorCausado > 0) || (ValorPagado > 0)) { vmCarteraxSaldos objRes = new vmCarteraxSaldos(); objRes.Item = (int) periodo.periodo; objRes.Pagado = ValorPagado; objRes.Valor = ValorCausado; lst.Add(objRes); } } return lst; } }
public List<ByARpt> Post(List<vigenciasDto> lReg) { mVigencias o = new mVigencias(); return o.InsertOrUpdate(lReg); }
public List<vigenciasDto> GetsAll() { mVigencias o = new mVigencias(); return o.Gets(); }
private static List<vigenciasDto> GetsVigencias(List<vigenciasDto> lVigencias) { mVigencias oVigencias = new mVigencias(); lVigencias = oVigencias.GetsActivas(); return lVigencias; }
public List<vmCarteraxSaldosxConceptos> GetSaldos(string ide_est, int r_vigencia, int periodo) { List<vmCarteraxSaldosxConceptos> lst = new List<vmCarteraxSaldosxConceptos>(); DateTime FechaCausacion = mCausacion.FechaCausacion(); List<periodosDto> lPeriodos = new List<periodosDto>(); int VigPerAct = int.Parse(FechaCausacion.Year.ToString() + FechaCausacion.Month.ToString().PadLeft(2, '0')); using (db = new ieEntities()) { mVigencias objVigencias = new mVigencias(); vigenciasDto vigencia = objVigencias.Get(r_vigencia); List<carterap> lCarteras = db.carterap.Where(t => t.id_estudiante == ide_est && (t.estado == "PR" || t.estado == "CA") && (t.vigencia * 100 + t.periodo) <= VigPerAct && t.vigencia == r_vigencia && t.periodo == periodo).ToList(); foreach (carterap cartera in lCarteras) { vmCarteraxSaldosxConceptos objValorC = new vmCarteraxSaldosxConceptos(); objValorC.Item = new conceptosDto(); objValorC.Item.id = cartera.id_concepto; objValorC.Item.nombre = cartera.conceptos.nombre; objValorC.Valor = cartera.valor; objValorC.Pagado = cartera.pagado; lst.Add(objValorC); int ValorIntereses = 0; int ValorPagadoIntereses = 0; ValorIntereses = PreCalcularInteresesCartera(FechaCausacion, cartera, ValorIntereses); List<detalles_pago> lDet = db.detalles_pago.Where(t => t.id_cartera == cartera.id && t.tipo == "IN" && t.pagos.estado == "PA").ToList(); lDet.ForEach(t => ValorPagadoIntereses += (int)t.valor); List<detalles_nota_credito> lDetNota = db.detalles_nota_credito.Where(t => t.id_cartera == cartera.id && t.tipo == "IN" && t.notas_credito.estado == "PA").ToList(); lDetNota.ForEach(t => ValorPagadoIntereses += (int)t.valor); vmCarteraxSaldosxConceptos objValorI = new vmCarteraxSaldosxConceptos(); objValorI.Item = new conceptosDto(); objValorI.Item.id = 6; objValorI.Item.nombre = "Intereses: Pensión, Periodo: " + cartera.periodo; objValorI.Valor = ValorIntereses; objValorI.Pagado = ValorPagadoIntereses; lst.Add(objValorI); } List<detalles_pago> lPagos = db.detalles_pago.Where(t => t.vigencia == vigencia.vigencia && t.periodo == periodo && t.pagos.estado == "PA" && t.pagos.id_estudiante == ide_est && (t.vigencia * 100 + t.periodo) > VigPerAct).ToList(); foreach (detalles_pago item in lPagos) { vmCarteraxSaldosxConceptos objValor = new vmCarteraxSaldosxConceptos(); objValor.Item = new conceptosDto(); objValor.Item.id = item.id_concepto; objValor.Item.nombre = item.nombre_concepto; objValor.Valor = 0; objValor.Pagado = item.valor; lst.Add(objValor); } List<detalles_nota_credito> lNotas = db.detalles_nota_credito.Where(t => t.vigencia == vigencia.vigencia && t.periodo == periodo && t.notas_credito.estado == "PA" && t.notas_credito.id_estudiante == ide_est && (t.vigencia * 100 + t.periodo) > VigPerAct).ToList(); foreach (detalles_nota_credito item in lNotas) { vmCarteraxSaldosxConceptos objValor = new vmCarteraxSaldosxConceptos(); objValor.Item = new conceptosDto(); objValor.Item.id = item.id_concepto; objValor.Item.nombre = item.nombre_concepto; objValor.Valor = 0; objValor.Pagado = item.valor; lst.Add(objValor); } return lst; } }
public List<cEstadoCuenta> GetEstadoCuentaResumido(string id_estudiante) { List<cEstadoCuenta> lEstadoCuenta = new List<cEstadoCuenta>(); DateTime FechaCausacion = mCausacion.FechaCausacion(); int VigPerAct = int.Parse(FechaCausacion.Year.ToString() + FechaCausacion.Month.ToString().PadLeft(2, '0')); mVigencias objVigencias = new mVigencias(); List<vigenciasDto> lVigencias = objVigencias.GetsActivas(); using (ctx = new ieEntities()) { foreach (vigenciasDto vigencia in lVigencias) { cEstadoCuenta objEstCuenta = new cEstadoCuenta(); objEstCuenta.vigencia = vigencia.vigencia; objEstCuenta.saldo_vigencia = 0; objEstCuenta.intereses_vigencia = 0; objEstCuenta.pagado_vigencia = 0; objEstCuenta.saldo_vigencia = 0; objEstCuenta.ban_agregar = false; objEstCuenta.l_items = new List<itemPorVigencia>(); List<carterap> lCarteras = ctx.carterap.Where(t => t.id_estudiante == id_estudiante && (t.estado == "PR" || t.estado == "CA") && (t.vigencia * 100 + t.periodo) <= VigPerAct && t.vigencia == vigencia.vigencia).ToList(); foreach (carterap cartera in lCarteras) { itemPorVigencia item = new itemPorVigencia(); item.id_concepto = cartera.id_concepto; item.nombre_concepto = cartera.conceptos.nombre; item.periodo = cartera.periodo; item.causado = (int) cartera.valor; int ValorIntereses = 0; int ValorPagadoIntereses = 0; ValorIntereses = PreCalcularInteresesCartera(FechaCausacion, cartera, ValorIntereses); List<detalles_pago> lDet = ctx.detalles_pago.Where(t => t.id_cartera == cartera.id && t.tipo == "IN" && t.pagos.estado == "PA").ToList(); lDet.ForEach(t => ValorPagadoIntereses += (int)t.valor); List<detalles_nota_credito> lDetNO = ctx.detalles_nota_credito.Where(t => t.id_cartera == cartera.id && t.tipo == "IN" && t.notas_credito.estado == "PA").ToList(); lDetNO.ForEach(t => ValorPagadoIntereses += (int)t.valor); item.intereses = ValorIntereses; item.pagado = (int) cartera.pagado + ValorPagadoIntereses; item.saldo = item.causado + item.intereses - item.pagado; detalles_pago detalle = ctx.detalles_pago.Where(t => t.pagos.estado == "PA" && t.id_cartera == cartera.id).OrderByDescending(t => t.pagos.fecha_pago).FirstOrDefault(); if(detalle != null){ if(detalle.pagos.fecha_pago != null) item.fecha_pago = detalle.pagos.fecha_pago; else item.fecha_pago = null; } else item.fecha_pago = null; objEstCuenta.causado_vigencia += item.causado; objEstCuenta.intereses_vigencia += item.intereses; objEstCuenta.pagado_vigencia += item.pagado; objEstCuenta.saldo_vigencia += item.saldo; objEstCuenta.l_items.Add(item); } List<carterap> lCarterasNoCausadas = ctx.carterap.Where(t => t.id_estudiante == id_estudiante && (t.estado == "PR" || t.estado == "CA") && (t.vigencia * 100 + t.periodo) > VigPerAct && t.vigencia == vigencia.vigencia).ToList(); if (lCarteras.Count() > 0) objEstCuenta.ban_agregar = true; foreach (carterap itemC in lCarterasNoCausadas) { itemPorVigencia item = new itemPorVigencia(); item.id_concepto = itemC.id_concepto; item.nombre_concepto = itemC.conceptos.nombre; item.periodo = itemC.periodo; item.causado = 0; item.intereses = 0; item.pagado = 0; List<detalles_pago> lDet = ctx.detalles_pago.Where(t => t.id_cartera == itemC.id && t.pagos.estado == "PA").ToList(); lDet.ForEach(t => item.pagado += (int) t.valor); item.saldo = item.causado + item.intereses - item.pagado; detalles_pago detalle = ctx.detalles_pago.Where(t => t.pagos.estado == "PA" && t.id_cartera == itemC.id).OrderByDescending(t => t.pagos.fecha_pago).FirstOrDefault(); if(detalle != null){ if(detalle.pagos.fecha_pago != null) item.fecha_pago = detalle.pagos.fecha_pago; else item.fecha_pago = null; } else item.fecha_pago = null; objEstCuenta.causado_vigencia += item.causado; objEstCuenta.intereses_vigencia += item.intereses; objEstCuenta.pagado_vigencia += item.pagado; objEstCuenta.saldo_vigencia += item.saldo; objEstCuenta.l_items.Add(item); } objEstCuenta.l_items = objEstCuenta.l_items.OrderBy(t => t.periodo).ToList(); if(objEstCuenta.l_items.Count() > 0) lEstadoCuenta.Add(objEstCuenta); } } int MaxVig = lEstadoCuenta.Max(t => t.vigencia); return lEstadoCuenta.Where(t=> t.saldo_vigencia != 0 || t.vigencia == MaxVig || t.ban_agregar).OrderBy(t => t.vigencia).ToList(); }