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"); } }
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); } }