public DataTable GetTablaCuotasConvenioMoratoria(int maxCanCuotas, DateTime fecha, decimal importeTotalSinInteres, decimal importeTotalIntereses) { moratorias oMoratoria = new moratorias(); DataTable _dtCuotasMoratoria = new DataTable(); using (cooperativaEntities bd = new cooperativaEntities()) { var regis = (from p in bd.moratorias where (p.vigencia_desde <= fecha && p.vigencia_hasta >= fecha) select p).Single(); oMoratoria.idmoratorias = regis.idmoratorias; oMoratoria.vigencia_desde = regis.vigencia_desde; oMoratoria.vigencia_hasta = regis.vigencia_hasta; oMoratoria.cantidad_cuotas_max = regis.cantidad_cuotas_max; oMoratoria.limitar = regis.limitar; int cantidadCuotas = 1; if ((maxCanCuotas > oMoratoria.cantidad_cuotas_max) | ((bool)oMoratoria.limitar)) { cantidadCuotas = (int)oMoratoria.cantidad_cuotas_max; } else { cantidadCuotas = maxCanCuotas; } var regisD = (from d in bd.detalles_moratoria where d.idmoratoria == oMoratoria.idmoratorias select d).ToList(); Commons oCommons = new Commons(); DataTable detallesMoratoria = oCommons.convertToTable(regisD); _dtCuotasMoratoria.Columns.AddRange(new DataColumn[5] { new DataColumn("Cuotas", typeof(int)), new DataColumn("PorcDesc", typeof(decimal)), new DataColumn("Descuento", typeof(decimal)), new DataColumn("TotalConDescuento", typeof(decimal)), new DataColumn("ValorCuota", typeof(decimal)) }); foreach (DataRow dr in detallesMoratoria.Rows) { int cuotaDesde = int.Parse(dr["cuota_desde"].ToString()); int cuotaHasta = int.Parse(dr["cuota_hasta"].ToString()); for (int i = cuotaDesde; i <= cuotaHasta; i++) { if (i <= cantidadCuotas) { decimal porcDescuento = decimal.Parse(dr["descuento"].ToString()); decimal descuento = Math.Round(importeTotalIntereses * (porcDescuento / 100), 2); decimal totalConDescuento = Math.Round(importeTotalSinInteres + (importeTotalIntereses * ((100 - porcDescuento) / 100)), 2); decimal valorCuota = Math.Round(totalConDescuento / i, 2); _dtCuotasMoratoria.Rows.Add(i, porcDescuento, descuento, totalConDescuento, valorCuota); } } } } return(_dtCuotasMoratoria); }
private void GuardarMoratoria() { //verificar si hay una moratoria q cruce fechas MoratoriasImplement oMoratoriasImplement = new MoratoriasImplement(); bool existeMoratoria = oMoratoriasImplement.ExisteMoratoria(DateTime.Parse(dtpFechaInicial.Text), DateTime.Parse(dtpFechafinal.Text), _idMoratoria); if (!existeMoratoria) { moratorias oMoratoria = new moratorias(); oMoratoria.vigencia_desde = DateTime.Parse(dtpFechaInicial.Text); oMoratoria.vigencia_hasta = DateTime.Parse(dtpFechafinal.Text); oMoratoria.cantidad_cuotas_max = int.Parse(txtCantCuotas.Text); oMoratoria.limitar = chkLimitar.Checked; if (_idMoratoria > 0) { oMoratoria.idmoratorias = _idMoratoria; oMoratoriasImplement.Update(oMoratoria); } else { _idMoratoria = oMoratoriasImplement.Save(oMoratoria); } DetallesMoratoriaImplement oDetallesMoratoriaImplement = new DetallesMoratoriaImplement(); int ultimaCuota = 1; foreach (DataRow dr in _dtDetallesMoratoria.Rows) { if (int.Parse(dr["iddetalles_moratoria"].ToString()) == 0) { detalles_moratoria oDetallesMoratoria = new detalles_moratoria(); oDetallesMoratoria.idmoratoria = _idMoratoria; oDetallesMoratoria.cuota_desde = int.Parse(dr["cuota_desde"].ToString()); oDetallesMoratoria.cuota_hasta = int.Parse(dr["cuota_hasta"].ToString()); oDetallesMoratoria.descuento = decimal.Parse(dr["descuento"].ToString()); oDetallesMoratoriaImplement.Save(oDetallesMoratoria); ultimaCuota = int.Parse(dr["cuota_hasta"].ToString()); } } int indexUltimo = _dtDetallesMoratoria.Rows.Count - 1; ultimaCuota = int.Parse(_dtDetallesMoratoria.Rows[indexUltimo]["cuota_hasta"].ToString()); if (ultimaCuota < oMoratoria.cantidad_cuotas_max) { detalles_moratoria oDetallesMoratoria = new detalles_moratoria(); oDetallesMoratoria.idmoratoria = _idMoratoria; oDetallesMoratoria.cuota_desde = ultimaCuota + 1; oDetallesMoratoria.cuota_hasta = oMoratoria.cantidad_cuotas_max; oDetallesMoratoria.descuento = 0; oDetallesMoratoriaImplement.Save(oDetallesMoratoria); } Inicializar(); DialogResult = DialogResult.OK; this.Close(); } else { frmVentanaInformativa ofrmVentanaInformativa = new frmVentanaInformativa("Existe una moratoria que comprende alguna de las fechas ingresadas."); ofrmVentanaInformativa.ShowDialog(); } }
public int Save(moratorias oMoratorias) { int i; cooperativaEntities bd = new cooperativaEntities(); bd.moratorias.AddObject(oMoratorias); bd.SaveChanges(); i = oMoratorias.idmoratorias; return(i); }
public void Update(moratorias oMoratorias) { using (cooperativaEntities bd = new cooperativaEntities()) { var editar = (from p in bd.moratorias where p.idmoratorias == oMoratorias.idmoratorias select p).Single(); editar.vigencia_desde = oMoratorias.vigencia_desde; editar.vigencia_hasta = oMoratorias.vigencia_hasta; editar.cantidad_cuotas_max = oMoratorias.cantidad_cuotas_max; editar.limitar = oMoratorias.limitar; bd.SaveChanges(); } }
public moratorias Get(int id) { moratorias oMoratorias = new moratorias(); using (cooperativaEntities bd = new cooperativaEntities()) { var regis = (from p in bd.moratorias where p.idmoratorias == id select p).Single(); oMoratorias.idmoratorias=regis.idmoratorias; oMoratorias.vigencia_desde = regis.vigencia_desde; oMoratorias.vigencia_hasta = regis.vigencia_hasta; oMoratorias.cantidad_cuotas_max = regis.cantidad_cuotas_max; oMoratorias.limitar = regis.limitar; return oMoratorias; } }
public moratorias Get(int id) { moratorias oMoratorias = new moratorias(); using (cooperativaEntities bd = new cooperativaEntities()) { var regis = (from p in bd.moratorias where p.idmoratorias == id select p).Single(); oMoratorias.idmoratorias = regis.idmoratorias; oMoratorias.vigencia_desde = regis.vigencia_desde; oMoratorias.vigencia_hasta = regis.vigencia_hasta; oMoratorias.cantidad_cuotas_max = regis.cantidad_cuotas_max; oMoratorias.limitar = regis.limitar; return(oMoratorias); } }
private void CargarMoratoria() { moratorias oMoratorias = new moratorias(); MoratoriasImplement oMoratoriasImplement = new MoratoriasImplement(); oMoratorias = oMoratoriasImplement.Get(_idMoratoria); dtpFechaInicial.Value = (DateTime)oMoratorias.vigencia_desde; dtpFechafinal.Value = (DateTime)oMoratorias.vigencia_hasta; txtCantCuotas.Text = oMoratorias.cantidad_cuotas_max.ToString(); chkLimitar.Checked = (bool)oMoratorias.limitar; DetallesMoratoriaImplement oDetallesMoratoriaImplement = new DetallesMoratoriaImplement(); _dtDetallesMoratoria = oDetallesMoratoriaImplement.GetAllByIdMoratoria(_idMoratoria); dgvDetallesMoratoria.DataSource = _dtDetallesMoratoria; int indexUltimo = _dtDetallesMoratoria.Rows.Count - 1; _primeraCuota = int.Parse(_dtDetallesMoratoria.Rows[indexUltimo]["cuota_hasta"].ToString()) + 1; txtCuotaDesde.Text = _primeraCuota.ToString(); }
public bool TieneConvenios(int idMoratoria) { using (cooperativaEntities bd = new cooperativaEntities()) { moratorias oMoratoria = new moratorias(); oMoratoria = Get(idMoratoria); var regis = (from p in bd.convenios where (p.fecha_convenio >= oMoratoria.vigencia_desde && p.fecha_convenio <= oMoratoria.vigencia_hasta) && ((bool)p.moratoria) select p).Count(); if (int.Parse(regis.ToString()) > 0) { return(true); } else { return(false); } } }
public bool TieneConvenios(int idMoratoria) { using (cooperativaEntities bd = new cooperativaEntities()) { moratorias oMoratoria = new moratorias(); oMoratoria = Get(idMoratoria); var regis = (from p in bd.convenios where (p.fecha_convenio >= oMoratoria.vigencia_desde && p.fecha_convenio <= oMoratoria.vigencia_hasta) && ((bool)p.moratoria) select p).Count(); if (int.Parse(regis.ToString()) > 0) return true; else return false; } }
public int Save(moratorias oMoratorias) { int i; cooperativaEntities bd = new cooperativaEntities(); bd.moratorias.AddObject(oMoratorias); bd.SaveChanges(); i = oMoratorias.idmoratorias; return i; }
public DataTable GetTablaCuotasConvenioMoratoria(int maxCanCuotas, DateTime fecha, decimal importeTotalSinInteres, decimal importeTotalIntereses) { moratorias oMoratoria = new moratorias(); DataTable _dtCuotasMoratoria = new DataTable(); using (cooperativaEntities bd = new cooperativaEntities()) { var regis = (from p in bd.moratorias where (p.vigencia_desde <= fecha && p.vigencia_hasta >= fecha) select p).Single(); oMoratoria.idmoratorias =regis.idmoratorias; oMoratoria.vigencia_desde=regis.vigencia_desde; oMoratoria.vigencia_hasta=regis.vigencia_hasta; oMoratoria.cantidad_cuotas_max=regis.cantidad_cuotas_max; oMoratoria.limitar=regis.limitar; int cantidadCuotas = 1; if ((maxCanCuotas > oMoratoria.cantidad_cuotas_max) | ((bool)oMoratoria.limitar)) { cantidadCuotas = (int)oMoratoria.cantidad_cuotas_max; } else { cantidadCuotas = maxCanCuotas; } var regisD = (from d in bd.detalles_moratoria where d.idmoratoria== oMoratoria.idmoratorias select d).ToList(); Commons oCommons = new Commons(); DataTable detallesMoratoria = oCommons.convertToTable(regisD); _dtCuotasMoratoria.Columns.AddRange(new DataColumn[5] { new DataColumn("Cuotas", typeof(int)), new DataColumn("PorcDesc",typeof(decimal)), new DataColumn("Descuento",typeof(decimal)), new DataColumn("TotalConDescuento",typeof(decimal)), new DataColumn("ValorCuota",typeof(decimal))}); foreach (DataRow dr in detallesMoratoria.Rows) { int cuotaDesde = int.Parse(dr["cuota_desde"].ToString()); int cuotaHasta = int.Parse(dr["cuota_hasta"].ToString()); for (int i=cuotaDesde; i<=cuotaHasta; i++) { if (i <= cantidadCuotas) { decimal porcDescuento =decimal.Parse(dr["descuento"].ToString()); decimal descuento = Math.Round(importeTotalIntereses * (porcDescuento / 100), 2); decimal totalConDescuento = Math.Round(importeTotalSinInteres+(importeTotalIntereses * ((100 - porcDescuento) / 100)), 2); decimal valorCuota = Math.Round(totalConDescuento/i, 2); _dtCuotasMoratoria.Rows.Add(i, porcDescuento, descuento, totalConDescuento, valorCuota); } } } } return _dtCuotasMoratoria; }