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"); } }
//listar creditos pagina 2, registro de pagos private void DatosCre() { DataTable datos = new DataTable(); int atras = Convert.ToInt32(cre.dias_atraso(CboPresta.Text, DtpPago.Value.Date.ToString("yyyy/MM/dd"))); //TxtInteres.Text = inteori.ToString(); datos = cre.cantcre(CboPresta.Text, DtpPago.Value.ToString()); TxtMonto.Text = datos.Rows[0][0].ToString(); decimal saldocap = Convert.ToDecimal(datos.Rows[0][1].ToString()); decimal inte = Convert.ToDecimal(TxtInteres.Text); decimal monto = Convert.ToDecimal(TxtMonto.Text); decimal interes = Convert.ToDecimal(TxtInteres.Text); decimal interestemp = 0; TxtMonto.Text = TxtMonto.Text; TxtSaldo.Text = Convert.ToString(saldocap); TxtSaldInt.Text = datos.Rows[0][5].ToString(); TxtVenc.Text = datos.Rows[0][2].ToString(); TxtTipo.Text = datos.Rows[0][3].ToString(); // TxtAtraso.Text = cre.dias_atraso(CboPresta.Text,DtpPago .Value.ToString ("yyyy/MM/dd")); if (Convert.ToDecimal(TxtSaldInt.Text) > 0) { interestemp = Convert.ToDecimal(TxtSaldInt.Text); } TxtTotalTod.Text = Convert.ToString(Convert.ToDecimal(TxtSaldo.Text) + interestemp); TxtFechConc.Text = datos.Rows[0][6].ToString(); TxtTasa.Text = datos.Rows[0][7].ToString() + "%"; TxtPlazo.Text = (datos.Rows[0][8].ToString()); if (TxtTipo.Text == "1") { TxtTipo.Text = "Diario"; int total = cre.diasnopag(CboPresta.Text, DtpPago.Value.ToString("yyyy/MM/dd"), datos.Rows[0][6].ToString()); TxtAtraso.Text = total.ToString() + " Día(s)"; } else if (TxtTipo.Text == "2") { TxtTipo.Text = "Diario-Interes"; int total = cre.diasnopag(CboPresta.Text, DtpPago.Value.ToString("yyyy/MM/dd"), datos.Rows[0][6].ToString()); TxtAtraso.Text = total.ToString() + " Día(s)"; } else if (TxtTipo.Text == "3") { TxtTipo.Text = "Mesual-Fijo"; int total = cre.diasnopag(CboPresta.Text, DtpPago.Value.ToString("yyyy/MM/dd"), datos.Rows[0][6].ToString()); TxtAtraso.Text = total + " Día(s)"; } else if (TxtTipo.Text == "4") { TxtTipo.Text = "Mesual-SobreSaldo"; int total = cre.diasnopag(CboPresta.Text, DtpPago.Value.ToString("yyyy/MM/dd"), datos.Rows[0][6].ToString()); TxtAtraso.Text = total + " Día(s)"; } DataTable aldia = new DataTable(); aldia = cre.saldosdias(CboPresta.Text, DtpPago.Value.ToString("yyyy/MM/dd")); TxtCapital.Text = aldia.Rows[0][0].ToString(); TxtInteres.Text = aldia.Rows[0][1].ToString(); decimal intere = 0; if (Convert.ToDecimal(aldia.Rows[0][1]) > 0) { intere = Convert.ToDecimal(aldia.Rows[0][1]); } decimal capi = 0; if (Convert.ToDecimal(aldia.Rows[0][0]) > 0) { capi = Convert.ToDecimal(aldia.Rows[0][0]); } TxtCuotaD.Text = (capi + intere).ToString(); }
public void ColAct(string titulo, string tip) { EstadoEnc Encab = new EstadoEnc(); DataTable credito = new DataTable(); Encab.cliente = titulo; string consulta, ConsulAdd = ""; if (tip == "Diario") { ConsulAdd = "and (cre.id_tipo_credito=1 or cre.id_tipo_credito=2) "; } else if (tip == "Mensual") { ConsulAdd = "and (cre.id_tipo_credito=3 or cre.id_tipo_credito=4) "; } consulta = "SELECT cre.COD_CREDITO, concat(cli.NOMBRES,' ' ,cli.apellidos) AS nombre, cre.monto,cre.plazo,cre.interes,date_format(cre.fecha_conc,'%d-%M-%Y'),date_format(cre.Fecha_venci,'%d-%M-%Y'),cre.saldo_cap, cli.codigo_cli,cre.id_tipo_credito " + "FROM credito cre " + "INNER JOIN asigna_credito ac ON ac.COD_CREDITO = cre.COD_CREDITO " + "INNER JOIN asigna_solicitud aso ON aso.ID_SOLICITUD = ac.ID_SOLICITUD " + "INNER JOIN cliente cli ON cli.CODIGO_CLI = aso.codigo_cli " + "WHERE cre.ESTADO = 'Activo' " + ConsulAdd + "GROUP BY cre.COD_CREDITO " + "ORDER BY cre.FECHA_CONC"; credito = buscar(consulta); int cont, total; total = credito.Rows.Count; for (cont = 0; cont < total; cont++) { int diasatras; decimal cuotac, cuotai, cuota, Ccancelar; DatosCre detalle = new DatosCre(); DataTable datoscli = new DataTable(); DataTable datcred = new DataTable(); DataTable saldos = new DataTable(); DataTable canti = new DataTable(); DataTable fechas = new DataTable(); string codigocli = credito.Rows[cont][8].ToString(); string tipo = credito.Rows[cont][9].ToString(); string Conscli = "select telefono1,telefono2,telefonocon as telefono from cliente where codigo_cli=" + codigocli; datoscli = buscar(Conscli); string codigocre = credito.Rows[cont][0].ToString(); string consfech = "SELECT date_format(Max(fecha),'%d-%M-%Y'), COUNT(*) FROM pagos WHERE cod_credito=" + codigocre + " and estado='Hecho'"; fechas = buscar(consfech); saldos = cre.saldosdias(codigocre, DateTime.Now.Date.ToString("yyyy/MM/dd")); datcred = cre.datoscre(codigocre, DateTime.Now.Date.ToString("yyyy/MM/dd")); canti = cre.cantcre(codigocre, DateTime.Now.Date.ToString()); diasatras = cre.diasnopag(codigocre, DateTime.Now.Date.ToString("yyyy/MM/dd"), credito.Rows[cont][5].ToString()); cuotac = decimal.Parse(datcred.Rows[0][4].ToString()); cuotai = decimal.Parse(datcred.Rows[0][5].ToString()); if (cuotac < 0) { cuotac = 0; } if (cuotai < 0) { cuotai = 0; } cuota = cuotac + cuotai; string tipoc = ""; if (tipo.Equals("1")) { tipoc = "Diario"; } else if (tipo.Equals("2")) { tipoc = "Diario-Interes"; } else if (tipo.Equals("3")) { tipoc = "Mensual"; } else if (tipo.Equals("4")) { tipoc = "Mensua-Sobresaldo"; } decimal catras, iatras; catras = decimal.Parse(saldos.Rows[0][0].ToString()); if (catras < 0) { catras = 0; } iatras = decimal.Parse(saldos.Rows[0][1].ToString()); if (iatras < 0) { iatras = 0; } detalle.intatras = iatras; if (catras > 0 || iatras > 0) { decimal capatras, intatras; Ccancelar = decimal.Parse(canti.Rows[0][5].ToString()) + decimal.Parse(credito.Rows[cont][7].ToString()); //No credito detalle.cre = int.Parse(credito.Rows[cont][0].ToString()); //nombre del cliente detalle.cliente = credito.Rows[cont][1].ToString(); //tipo de credito detalle.tipo = tipoc; //Numero de cuotas pagadas detalle.cuotap = int.Parse(fechas.Rows[0][1].ToString()); //Dias de atraso detalle.diatras = diasatras; //Fecha de concesion detalle.fechaconc = DateTime.Parse(credito.Rows[cont][5].ToString()); //Fecha de Vencimiento detalle.fechavenc = DateTime.Parse(credito.Rows[cont][6].ToString()); //Tasa del credito detalle.tasa = credito.Rows[cont][4].ToString(); //Monto detalle.monto = decimal.Parse(credito.Rows[cont][2].ToString()); //capatras capatras = decimal.Parse(saldos.Rows[0][0].ToString()); if (capatras < 0) { capatras = 0; } detalle.capatras = capatras; //intatras intatras = decimal.Parse(saldos.Rows[0][1].ToString()); if (intatras < 0) { intatras = 0; } detalle.intatras = intatras; //cancelar detalle.cancelar = Ccancelar; //cuota detalle.cuota = cuota; //utlimpag detalle.utlimpag = DateTime.Parse(fechas.Rows[0][0].ToString() + " 00:00:00"); //telefono detalle.telefono = datoscli.Rows[0][0].ToString() + "\n" + datoscli.Rows[0][1].ToString() + "\n" + datoscli.Rows[0][2].ToString(); Encab.Datos.Add(detalle); } } Reportes.CreCartera formu = new Reportes.CreCartera(); formu.Enca.Add(Encab); formu.Deta = Encab.Datos; formu.Show(); }