Example #1
0
        private void cambiar_estado()
        {
            string  tipo = "";
            string  fecha_conc = DtpConc.Value.ToString("yyyy/MM/dd");
            string  fecha_fin = "";
            int     dias = 0;
            string  solicitud = CboSoli.Text;
            string  monto = TxtMonto2.Text;
            string  plazo = TxtPlazo.Text;
            string  interes = TxtInteres.Text;
            string  estado = CboEstado.Text;
            decimal cuotaint = 0, cuotacapital;;

            if (CboTipo2.SelectedIndex == 0)
            {
                tipo      = "1";
                dias      = Convert.ToInt32(TxtPlazo.Text);
                fecha_fin = fechaf(fecha_conc, dias);
            }
            else if (CboTipo2.SelectedIndex == 1)
            {
                tipo      = "2";
                dias      = Convert.ToInt32(TxtPlazo.Text);
                fecha_fin = fechaf(fecha_conc, dias);
            }
            else if (CboTipo2.SelectedIndex == 2)
            {
                tipo      = "3";
                dias      = Convert.ToInt32(TxtPlazo.Text);
                fecha_fin = Convert.ToDateTime(fecha_conc).AddMonths(dias).ToString("yyyy/MM/dd");
            }
            else if (CboTipo2.SelectedIndex == 3)
            {
                tipo      = "4";
                dias      = Convert.ToInt32(TxtPlazo.Text);
                fecha_fin = Convert.ToDateTime(fecha_conc).AddMonths(dias).ToString("yyyy/MM/dd");
            }



            DataTable Creact  = new DataTable();
            int       cod_cli = sol.cod_cliente(CboSoli.Text);

            Creact = cre.creditos_act(Convert.ToString(cod_cli));
            int totalcre;

            totalcre = Creact.Rows.Count;
            string[] datos = new string[11];
            //Comprueba si cancelas creditos anteriores o se crea solamente un nuevo credito
            if (totalcre >= 1 && CboEstado.Text == "Autorizado")
            {
                if (MessageBox.Show("Existe(n) creditos activos de cliente \n¿Desea generar un refinanciamiento? \nSi(Refinanciar Credito)\nNo(Generar credito nuevo)", "Creditos anteriores", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    ListCred Lista = new ListCred();
                    Lista.cod_cli     = cod_cli.ToString();
                    Lista.nombre      = TxtNomSoli.Text;
                    Lista.Mostrarcre += new ListCred.permiso(cod_cred);
                    Lista.ShowDialog();
                    if (cod_credi == 0)
                    {
                        return;
                    }
                    LblRef.Text = "1";
                    DataTable datosint = new DataTable();
                    datosint = cre.datoscre(cod_credi.ToString(), DateTime.Now.ToString("yyyy/MM/dd"));
//                    datos = cre.cantcre(CboPresta.Text, DtpPago.Value.ToString());
                    string  nTipo   = cre.tipoC(cod_credi.ToString());
                    decimal SaldAnt = cre.saldoant(cod_cli.ToString(), cod_credi.ToString());
                    decimal IntAnt  = cre.SaldoDeinteres(cod_credi.ToString(), DateTime.Now.ToString("yyyy/MM/dd"), nTipo, 0);
                    if (IntAnt < 0)
                    {
                        IntAnt = 0;
                    }
                    salantes  = SaldAnt + IntAnt;
                    datos[0]  = solicitud;
                    datos[1]  = monto;
                    datos[2]  = plazo;
                    datos[3]  = interes;
                    datos[4]  = fecha_conc;
                    datos[5]  = fecha_fin;
                    datos[6]  = tipo;
                    datos[7]  = estado;
                    datos[8]  = salantes.ToString();
                    datos[9]  = totdias(fecha_conc, dias).ToString();
                    datos[10] = TxtGastos.Text;

                    DataTable datosfi = new DataTable();
                    //calculo de cuotas finales
                    cuotacapital = cre.saldoant(cod_cli.ToString(), cod_credi.ToString());
                    datosfi      = cre.cantcre(cod_credi.ToString(), DateTime.Now.ToString("dd/MM/yyyy"));
                    // cuotaint = cre.SaldoDeinteres(cod_credi.ToString(), DateTime.Now.ToString("dd/MM/yyyy"),nTipo, 0);
                    cuotaint = decimal.Parse(datosfi.Rows[0][5].ToString());
                    string[] pago = new string[8];
                    pago[0] = cod_credi.ToString();
                    pago[1] = "0";
                    pago[2] = "0";
                    if (cuotaint > 0)
                    {
                        pago[1] = cuotaint.ToString();
                    }
                    if (cuotacapital > 0)
                    {
                        pago[2] = cuotacapital.ToString();
                    }

                    pago[3] = (decimal.Parse(pago[1]) + decimal.Parse(pago[2])).ToString();
                    pago[4] = "";
                    pago[5] = "";
                    pago[6] = "";
                    pago[7] = cuotaint.ToString();


                    //Registrar pago
                    pagocancelacion(pago);

                    if (cre.cancelar_cre(cod_credi.ToString()))
                    {
                        MessageBox.Show("Se canceló el credito anterior: ", " cancelado");
                    }
                    else
                    {
                        //  MessageBox.Show("Credito: " + Creact.Rows[cont][0].ToString() + " cancelado");
                    }
                }
                else
                {
                    LblRef.Text = "0";
                    datos[0]    = solicitud;
                    datos[1]    = monto;
                    datos[2]    = plazo;
                    datos[3]    = interes;
                    datos[4]    = fecha_conc;
                    datos[5]    = fecha_fin;
                    datos[6]    = tipo;
                    datos[7]    = estado;
                    datos[8]    = "0";
                    datos[9]    = totdias(fecha_conc, dias).ToString();
                    datos[10]   = TxtGastos.Text;
                }
            }
            else if (totalcre >= 1 && CboEstado.Text == "Denegado")
            {
                if ((sol.denegarsol(solicitud)))
                {
                    MessageBox.Show("Se cancelo la solicitud de credito", " cancelado");
                }
                else
                {
                    //  MessageBox.Show("Credito: " + Creact.Rows[cont][0].ToString() + " cancelado");                }
                }
            }

            else
            {
                datos[0]  = solicitud;
                datos[1]  = monto;
                datos[2]  = plazo;
                datos[3]  = interes;
                datos[4]  = fecha_conc;
                datos[5]  = fecha_fin;
                datos[6]  = tipo;
                datos[7]  = estado;
                datos[8]  = "0";
                datos[9]  = totdias(fecha_conc, dias).ToString();
                datos[10] = TxtGastos.Text;
            }

            if (sol.camb_estado(datos))
            {
                if (estado == "Autorizado")
                {
                    MessageBox.Show("El credito ha sido autorizado con exito");
                    int credit = cre.id_credit(solicitud);
                    ingresocaja(credit.ToString());
                }
                else
                {
                    MessageBox.Show("El credito ha sido denegado");
                }

                hoja_pagos(datos[0], datos[6], datos[8]);
            }
            else
            {
                MessageBox.Show("El credito no ha podido ser autorizado");
            }
        }
Example #2
0
        public bool Hacer_Pago(string[] datos)
        {
            string estado = "";
            //interes y capital  y pago para ingresar en cada pago;
            DataTable credit = new DataTable();
            string    tCredit;

            tCredit = cre.tipoC(datos[0]);
            //string tipoC = credit.Rows[0][0].ToString();
            decimal interes = Convert.ToDecimal(datos[1]);
            decimal capital = Convert.ToDecimal(datos[2]);
            decimal pago    = Convert.ToDecimal(datos[3]);
            string  fecha   = Convert.ToDateTime(datos[4]).ToString("yyyy/MM/dd");
            decimal mora    = Convert.ToDecimal(datos[5].ToString());
            //string fecha = DateTime.Now.ToString("yyyy/MM/dd");
            DataTable credito = new DataTable();
            string    consulta;

            consulta = "Select Saldo_int,Saldo_cap,plazo,monto,interes from credito where cod_credito =" + datos[0];
            credito  = buscar(consulta);
            //interes y capital para actualizar el credito
            decimal Sinteres        = Convert.ToDecimal(datos[7]);
            decimal Scapital        = Convert.ToDecimal(datos[6]);
            decimal interesoriginal = Convert.ToDecimal(credito.Rows[0][4].ToString());

            if (tCredit == "1")
            {
                Sinteres -= interes;
                Scapital -= capital;
                if (Scapital <= 0 && Sinteres <= 0)
                {
                    estado = "Terminado";
                }
                else
                {
                    estado = "Activo";
                }
            }
            else if (tCredit == "2")
            {
                Sinteres -= interes;
                Scapital -= capital;
                if (Scapital <= 0 /*&& Sinteres <= 0*/)
                {
                    estado   = "Terminado";
                    Sinteres = 0;
                }
                else
                {
                    estado = "Activo";
                }
            }
            else if (tCredit == "3")
            {
                Sinteres -= interes;
                Scapital -= capital;
                if (Scapital <= 0 && Sinteres <= 0)
                {
                    estado = "Terminado";
                }
                else
                {
                    estado = "Activo";
                }
            }
            else if (tCredit == "4")
            {
                /* Scapital -= capital;
                 * int plazo;
                 * plazo = Convert.ToInt32 (credito.Rows[0][2].ToString());
                 * int pagpend;
                 * int tpago;
                 * tpago = Tpagos(datos[0]);
                 * pagpend = (plazo - tpago)-1;
                 * int cont;
                 * decimal montoOriginal;
                 * montoOriginal = Convert.ToDecimal (credito.Rows[0][3].ToString());
                 * decimal tCapital;
                 * tCapital = capital;
                 * decimal pagomonet;
                 * pagomonet = montoOriginal  / plazo ;
                 * decimal CapCamb=Scapital ;
                 * decimal IntNuevo=0;
                 * for (cont = 1; cont <= pagpend; cont++)
                 * {
                 *
                 *   IntNuevo  += (CapCamb * interesoriginal / 100 / 12);
                 *   CapCamb -= pagomonet;
                 * }
                 *
                 * Sinteres = IntNuevo;
                 * if (Scapital <=0 && Sinteres <=0)
                 * {
                 *   estado = "Terminado";
                 *
                 * }
                 * else
                 * {
                 *   estado = "Activo";
                 * }*/
                Sinteres -= interes;
                Scapital -= capital;
                if (Scapital <= 0 && Sinteres <= 0)
                {
                    estado = "Terminado";
                }
                else
                {
                    estado = "Activo";
                }
            }



            int    numpago    = pagoorden(datos[0]);
            string consulPago = "Insert into pagos (id_pago,Cod_credito,Fecha, Capital, Interes,mora, Total,estado) values (" +
                                numpago + "," + datos[0] + ",'" + fecha + "'," + capital + "," + interes + "," + mora + "," + pago + ",'Hecho')";

            if (consulta_gen(consulPago))
            {
                // MessageBox.Show("Si se guardo el pago");
                string consulActual = "Update Credito set Saldo_cap=" + Scapital + ", Saldo_int=" + Sinteres + ", estado='" + estado + "' where cod_credito=" + datos[0];
                if (consulta_gen(consulActual))
                {
                    if (estado.Equals("Terminado"))
                    {
                        MessageBox.Show("El credito ha sido saldado", "Completado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                MessageBox.Show("No se guardo el pago");
                return(false);
            }
        }