private void CargarDatos()
        {
            FacturasImplement oFacturasImplement = new FacturasImplement();
            CalculosConvenio  oCalculosConvenio  = new CalculosConvenio();

            foreach (int i in _ListaFacturas)
            {
                _totalCobrado = _totalCobrado + (decimal)oFacturasImplement.Get(i).cobrado;
            }
            txtFacNoCanceladas.Text = (_FacturasNoCanceladas - _totalCobrado).ToString(); //Preguntar
            _ConveniosNoCancelados  = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);

            txtConvNoCancelados.Text = _ConveniosNoCancelados.ToString();
            Decimal _conveniosNoVolcados = 0;

            txtConvNoVolcados.Text = _conveniosNoVolcados.ToString();
            Decimal _costoFinanciero = 0;

            txtCostoFinanciero.Text = _costoFinanciero.ToString();
            Decimal _gastosAdministrativos = 0;

            txtGastosAdministrativos.Text = _gastosAdministrativos.ToString();
            Decimal _reconexion = 0;

            txtReconexion.Text = _reconexion.ToString();

            txtCanonMunicipal.Text = _CanonMunicipal.ToString();
            _ImporteDeuda          = (_FacturasNoCanceladas + _ConveniosNoCancelados + _conveniosNoVolcados + _gastosAdministrativos + _reconexion
                                      - _totalCobrado - _CanonMunicipal);
            txtImporteTotal.Text = _ImporteDeuda.ToString();
            nudCuotas.Value      = 1;
            _CantidadCuotas      = (int)nudCuotas.Value;
            _ImporteCuota        = _ImporteDeuda / nudCuotas.Value;
            txtValorCuotas.Text  = Math.Round(_ImporteCuota, 2).ToString();
        }
        private void AbrirFacturasSeleccion()
        {
            frmFacturasSeleccion f = new frmFacturasSeleccion(_idSocio);
            FacturasImplement    oFacturasImplement = new FacturasImplement();

            f.Text = "Facturas Seleccion";
            CalculosConvenio oCalculosConvenio = new CalculosConvenio();

            if (f.ShowDialog() == DialogResult.OK)
            {
                _ListaFacturas = f.rowSeleccion; //lee la propiedad
                _ImporteFacturasSeleccionadasTotal = f.TotalFacturasImporte;
                _CanonMunicipal        = f.CanonMunicipal;
                _ConveniosNoCancelados = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);
                _ImporteSinInteres     = f.ImporteSinInteres;
                _ImporteRecargos       = f.ImporteRecargos;
                _FacturasNoCanceladas  = _ImporteFacturasSeleccionadasTotal;

                lbFacturas.Items.Clear();
                foreach (int i in _ListaFacturas)
                {
                    lbFacturas.Items.Add(i.ToString());
                    _totalCobrado = _totalCobrado + (decimal)oFacturasImplement.Get(i).cobrado;
                }

                CargarDatos();
            }
            //f.Show();
        }
        private void AbrirFacturasSeleccion()
        {
            frmFacturasSeleccion f = new frmFacturasSeleccion(_idSocio);
            FacturasImplement oFacturasImplement = new FacturasImplement();
            f.Text = "Facturas Seleccion";
            CalculosConvenio oCalculosConvenio = new CalculosConvenio();
            if (f.ShowDialog() == DialogResult.OK)
            {
                _ListaFacturas = f.rowSeleccion; //lee la propiedad
                _ImporteFacturasSeleccionadasTotal = f.TotalFacturasImporte;
                _CanonMunicipal = f.CanonMunicipal;
                _ConveniosNoCancelados = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);
                _ImporteSinInteres = f.ImporteSinInteres;
                _ImporteRecargos = f.ImporteRecargos;
                _FacturasNoCanceladas = _ImporteFacturasSeleccionadasTotal;

                lbFacturas.Items.Clear();
                foreach (int i in _ListaFacturas)
                {
                    lbFacturas.Items.Add(i.ToString());
                    _totalCobrado = _totalCobrado + (decimal)oFacturasImplement.Get(i).cobrado;
                }

                CargarDatos();
            }
            //f.Show();
        }
        private void CargarDatosMoratoria()
        {
            FacturasImplement oFacturasImplement = new FacturasImplement();
            CalculosConvenio  oCalculosConvenio  = new CalculosConvenio();

            _ConveniosNoCancelados = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);

            DataTable dtFacturas = oFacturasImplement.GetByIdSocioSinConvenioDT(_idSocio, 1, 1);

            txtFactAdeudadasMora.Text = dtFacturas.Rows.Count.ToString();
            Decimal valorTotalSinInteres = 0;
            Decimal valorInteresesMora   = 0;

            foreach (DataRow dr in dtFacturas.Rows)
            {
                #region <Control Valores Vacios>
                decimal Neto       = 0;
                decimal IVA        = 0;
                decimal Cobrado    = 0;
                decimal Recargo    = 0;
                decimal IVARecargo = 0;

                if (dr["Neto"] == null | dr["Neto"].ToString() == "")
                {
                    Neto = 0;
                }
                else
                {
                    Neto = decimal.Parse(dr["Neto"].ToString());
                }
                if (dr["IVA"] == null | dr["IVA"].ToString() == "")
                {
                    IVA = 0;
                }
                else
                {
                    IVA = decimal.Parse(dr["IVA"].ToString());
                }
                if (dr["Cobrado"] == null | dr["Cobrado"].ToString() == "")
                {
                    Cobrado = 0;
                }
                else
                {
                    Cobrado = decimal.Parse(dr["Cobrado"].ToString());
                }

                if (dr["Recargo"] == null | dr["Recargo"].ToString() == "")
                {
                    Recargo = 0;
                }
                else
                {
                    Recargo = decimal.Parse(dr["Recargo"].ToString());
                }
                if (dr["IVARecargo"] == null | dr["IVARecargo"].ToString() == "")
                {
                    IVARecargo = 0;
                }
                else
                {
                    IVARecargo = decimal.Parse(dr["IVARecargo"].ToString());
                }

                #endregion

                valorTotalSinInteres = valorTotalSinInteres + (Neto + IVA - Cobrado);
                valorInteresesMora   = valorInteresesMora + (Recargo + IVARecargo);
            }

            Decimal ImporteTotalSinInteresMora = valorTotalSinInteres + _ConveniosNoCancelados;
            txtTotalSinInteresMora.Text = ImporteTotalSinInteresMora.ToString();
            Decimal ImporteInteresesMora = valorInteresesMora;
            txtImporteInteresesMora.Text = ImporteInteresesMora.ToString();
            txtTotalMoratoria.Text       = (ImporteTotalSinInteresMora + ImporteInteresesMora).ToString();
            txtCuotasAbonadasMora.Text   = "1";
            txtDescPagoContadoMora.Text  = "5%";
            txtCantMaxCuotasMora.Text    = "-";

            facturas oFacturas = new facturas();
            oFacturas = oFacturasImplement.GetUltimaFactura(_idSocio);
            DataTable oFacturasDetallesDT = new DataTable();
            FacturasDetallesImplement oFacturasDetallesImplements = new FacturasDetallesImplement();
            oFacturasDetallesDT = oFacturasDetallesImplements.GetAllByIdFacturaDT(oFacturas.id_factura);
            decimal valorUltimaFactura = 0;
            foreach (DataRow dr in oFacturasDetallesDT.Rows)
            {
                int _idConcepto = int.Parse(dr["id_concepto"].ToString());
                if (_idConcepto == 1 | _idConcepto == 2 | _idConcepto == 3 | _idConcepto == 8)
                {
                    valorUltimaFactura = valorUltimaFactura + decimal.Parse(dr["importe"].ToString());
                }
            }

            decimal valorMinimoCuota = Math.Round((valorUltimaFactura / 2), 2);
            txtValorMinimoCuotaMora.Text = valorMinimoCuota.ToString();

            int maxCantCuotas = (int)((ImporteTotalSinInteresMora + ImporteInteresesMora) / valorMinimoCuota);
            //Pregunto por si la moratoria tiene limitacion, si no la tiene cambio la cant max de cuotas por minimo monto
            //por la max cant de cuotas por moratoria directamente

            MoratoriasImplement oMoratoriasImplement = new MoratoriasImplement();
            DataTable           cuotasDT             = new DataTable();
            DateTime            fechaConv            = dtpFechaConvenio.Value;

            cuotasDT = oMoratoriasImplement.GetTablaCuotasConvenioMoratoria(maxCantCuotas, fechaConv, ImporteTotalSinInteresMora, ImporteInteresesMora);
            txtCantMaxCuotasMora.Text = cuotasDT.Rows.Count.ToString();//esta tabla trae la cantidad de cuotas previendo limitacion con valor minimo

            dgvCuotasMora.DataSource = cuotasDT;
        }
        private void CargarDatosMoratoria()
        {
            FacturasImplement oFacturasImplement = new FacturasImplement();
            CalculosConvenio oCalculosConvenio = new CalculosConvenio();

            _ConveniosNoCancelados = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);

            DataTable dtFacturas = oFacturasImplement.GetByIdSocioSinConvenioDT(_idSocio, 1, 1);
            txtFactAdeudadasMora.Text = dtFacturas.Rows.Count.ToString();
            Decimal valorTotalSinInteres = 0;
            Decimal valorInteresesMora = 0;
            foreach (DataRow dr in dtFacturas.Rows)
            {
                #region <Control Valores Vacios>
                decimal Neto = 0;
                decimal IVA = 0;
                decimal Cobrado = 0;
                decimal Recargo=0;
                decimal IVARecargo = 0;

                if (dr["Neto"] == null | dr["Neto"].ToString() == "")
                    Neto = 0;
                else
                    Neto = decimal.Parse(dr["Neto"].ToString());
                if (dr["IVA"] == null | dr["IVA"].ToString() == "")
                    IVA = 0;
                else
                    IVA = decimal.Parse(dr["IVA"].ToString());
                if (dr["Cobrado"] == null | dr["Cobrado"].ToString() == "")
                    Cobrado = 0;
                else
                    Cobrado = decimal.Parse(dr["Cobrado"].ToString());

                if (dr["Recargo"] == null | dr["Recargo"].ToString() == "")
                    Recargo = 0;
                else
                    Recargo = decimal.Parse(dr["Recargo"].ToString());
                if (dr["IVARecargo"] == null | dr["IVARecargo"].ToString() == "")
                    IVARecargo = 0;
                else
                    IVARecargo = decimal.Parse(dr["IVARecargo"].ToString());

                #endregion

                valorTotalSinInteres = valorTotalSinInteres + (Neto + IVA - Cobrado);
                valorInteresesMora = valorInteresesMora + (Recargo + IVARecargo);
            }

            Decimal ImporteTotalSinInteresMora =valorTotalSinInteres + _ConveniosNoCancelados;
            txtTotalSinInteresMora.Text =ImporteTotalSinInteresMora.ToString();
            Decimal ImporteInteresesMora = valorInteresesMora;
            txtImporteInteresesMora.Text = ImporteInteresesMora.ToString();
            txtTotalMoratoria.Text = (ImporteTotalSinInteresMora + ImporteInteresesMora).ToString();
            txtCuotasAbonadasMora.Text = "1";
            txtDescPagoContadoMora.Text = "5%";
            txtCantMaxCuotasMora.Text = "-";

            facturas oFacturas = new facturas();
            oFacturas = oFacturasImplement.GetUltimaFactura(_idSocio);
            DataTable oFacturasDetallesDT = new DataTable();
            FacturasDetallesImplement oFacturasDetallesImplements = new FacturasDetallesImplement();
            oFacturasDetallesDT = oFacturasDetallesImplements.GetAllByIdFacturaDT(oFacturas.id_factura);
            decimal valorUltimaFactura =0;
            foreach(DataRow dr in oFacturasDetallesDT.Rows)
            {
                int _idConcepto = int.Parse(dr["id_concepto"].ToString());
                if(_idConcepto==1 | _idConcepto==2 | _idConcepto==3 |_idConcepto==8)
                {
                    valorUltimaFactura = valorUltimaFactura + decimal.Parse(dr["importe"].ToString());
                }
            }

            decimal valorMinimoCuota = Math.Round((valorUltimaFactura / 2), 2);
            txtValorMinimoCuotaMora.Text=valorMinimoCuota.ToString();

            int maxCantCuotas = (int)((ImporteTotalSinInteresMora + ImporteInteresesMora) / valorMinimoCuota);
            //Pregunto por si la moratoria tiene limitacion, si no la tiene cambio la cant max de cuotas por minimo monto
            //por la max cant de cuotas por moratoria directamente

            MoratoriasImplement oMoratoriasImplement = new MoratoriasImplement();
            DataTable cuotasDT = new DataTable();
            DateTime fechaConv = dtpFechaConvenio.Value;

            cuotasDT = oMoratoriasImplement.GetTablaCuotasConvenioMoratoria(maxCantCuotas, fechaConv, ImporteTotalSinInteresMora, ImporteInteresesMora);
            txtCantMaxCuotasMora.Text = cuotasDT.Rows.Count.ToString();//esta tabla trae la cantidad de cuotas previendo limitacion con valor minimo

            dgvCuotasMora.DataSource = cuotasDT;
        }
        private void CargarDatos()
        {
            FacturasImplement oFacturasImplement= new FacturasImplement();
            CalculosConvenio oCalculosConvenio = new CalculosConvenio();
            foreach (int i in _ListaFacturas)
            {
                _totalCobrado = _totalCobrado + (decimal)oFacturasImplement.Get(i).cobrado;
            }
            txtFacNoCanceladas.Text = (_FacturasNoCanceladas - _totalCobrado).ToString(); //Preguntar
            _ConveniosNoCancelados = oCalculosConvenio.ObtenerImporteConvenioAdeudado(_idSocio);

            txtConvNoCancelados.Text = _ConveniosNoCancelados.ToString();
            Decimal _conveniosNoVolcados = 0;
            txtConvNoVolcados.Text = _conveniosNoVolcados.ToString();
            Decimal _costoFinanciero = 0;
            txtCostoFinanciero.Text = _costoFinanciero.ToString();
            Decimal _gastosAdministrativos = 0;
            txtGastosAdministrativos.Text = _gastosAdministrativos.ToString();
            Decimal _reconexion = 0;
            txtReconexion.Text = _reconexion.ToString();

            txtCanonMunicipal.Text = _CanonMunicipal.ToString();
            _ImporteDeuda = (_FacturasNoCanceladas + _ConveniosNoCancelados + _conveniosNoVolcados + _gastosAdministrativos + _reconexion
                                - _totalCobrado - _CanonMunicipal);
            txtImporteTotal.Text = _ImporteDeuda.ToString();
            nudCuotas.Value = 1;
            _CantidadCuotas = (int)nudCuotas.Value;
            _ImporteCuota = _ImporteDeuda / nudCuotas.Value;
            txtValorCuotas.Text = Math.Round(_ImporteCuota, 2).ToString();
        }