/// <summary>
 /// Create a new detalles_moratoria object.
 /// </summary>
 /// <param name="iddetalles_moratoria">Initial value of the iddetalles_moratoria property.</param>
 /// <param name="idmoratoria">Initial value of the idmoratoria property.</param>
 public static detalles_moratoria Createdetalles_moratoria(global::System.Int32 iddetalles_moratoria, global::System.Int32 idmoratoria)
 {
     detalles_moratoria detalles_moratoria = new detalles_moratoria();
     detalles_moratoria.iddetalles_moratoria = iddetalles_moratoria;
     detalles_moratoria.idmoratoria = idmoratoria;
     return detalles_moratoria;
 }
 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();
         }
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the detalles_moratoria EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddTodetalles_moratoria(detalles_moratoria detalles_moratoria)
 {
     base.AddObject("detalles_moratoria", detalles_moratoria);
 }