public FCobroCuotaMoto(Cuotas cuota, decimal CapitalAcumulado, decimal InteresAcumulado, decimal mora, bool pagartodo) { // si la fecha de cuota ya paso cobrar!! CCuota cCuota = new CCuota(); //averiguando la cuota anterior Cuotas c1 = new Cuotas(); c1 = cCuota.CuotaAnterior(cuota.IdCuota); if (c1 != null) {// Si hay cuota anterior //DateDiff comparacion = new DateDiff(c1.Fecha.Value.Date, DateTime.Now.Date); //var mesesTranscurridos = comparacion.Months; if (DateTime.Now.Date > c1.Fecha.Value.Date) { } else { soloACapital = true; } if (c1.Cancelada == 1 && (c1.Fecha.Value.Date < cuota.Fecha.Value.Date)) { // soloACapital = true; } } else { if (cuota.Fecha.Value.Date > DateTime.Now.Date) { // soloACapital = true; } } if (DateTime.Now < cuota.Fecha.Value) { // soloACapital = true; } this.contrato = cuota.IdContrato_FK; this.idcuota = cuota.IdCuota; this.cuota = cuota; this.cacumulado = CapitalAcumulado; this.iacumulado = InteresAcumulado; if (mora > 0) { this.mora = Math.Round(cuota.Capital.Value * 0.05M, 2); } else { this.mora = 0; } InitializeComponent(); txtpago.Focus(); }
private void buttonCobrar_Click(object sender, EventArgs e) { if (TXTNombre.Text.Equals("Nombre del cliente")) { MessageBox.Show(this, "Introduzca el nombre del cliente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (listadoCompra.Count == 0) { MessageBox.Show(this, "No hay artículos agregados a la venta", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { FCobro f = new FCobro(total); f.ShowDialog(); if (f.DialogResult == DialogResult.OK) { int documento = 1, correlativo = int.Parse(textBoxCorrelativo.Text); DateTime fecha = dateTimePickerFecha.Value; if (textBoxDocumento.Text == "CONSUMIDOR") { documento = 2; } if (textBoxDocumento.Text == "C. FISCAL") { documento = 3; } GenCliente(); Cuotas cuota = this.cuota; cuota.FechaDePago = fecha; //venta.IdEmpleado_FK = 1; cuota.Correlativo = correlativo; cuota.IdCorrelativo_FK = 1; //cuota.IdContrato_FK = idContrato; CCuota cCuota = new CCuota(); int si = cCuota.Insertar(cuota); if (si >= 1) { MessageBox.Show(this, "Cuota registrada con éxito", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); imprimirTicket(si); this.Close(); } } } }
private void generarTabla(decimal monto, int meses, DateTime fecha, decimal tasa, int idcontrato, decimal prima) { decimal total = monto; decimal restante = monto; List <TablaPagos> tabla = new List <TablaPagos>(); for (int i = 1; i <= meses; i++) { restante -= Math.Round(total / meses, 2); fecha = fecha.AddMonths(1); TablaPagos p = new TablaPagos(); p.Correlativo = i; p.Fecha = fecha; p.Capital = Math.Round(total / meses, 2); p.Interes = Math.Round(total * tasa, 2); p.Restante = restante; p.Cuota = p.Capital + p.Interes; if (p.Restante < 0) { p.Capital = p.Capital + p.Restante; p.Restante = 0; } if (p.Restante > 0 && p.Restante <= 1) { p.Capital = p.Capital + p.Restante; p.Cuota = p.Cuota + p.Restante; } tabla.Add(p); } CCuota cCuota = new CCuota(); foreach (TablaPagos p in tabla) { Cuotas cuota = new Cuotas(); //Fecha,Monto,IdContrato_FK,Capital,Intereses cuota.Fecha = p.Fecha; cuota.Monto = p.Cuota; cuota.IdContrato_FK = idcontrato; cuota.Capital = p.Capital; cuota.Intereses = p.Interes; cCuota.Insertar(cuota); } }
private void FReporteMora_Load(object sender, EventArgs e) { if (mora) { this.Text = "Contratos con pagos para este mes"; } CContratos cContratos = new CContratos(); con contrato = new con(); contrato = cContratos.uno(id); CConfiguracion cConfiguracion = new CConfiguracion(); Configuracion c = new Configuracion(); c = cConfiguracion.ObtenerConfiguracion(); string informacion = c.NombreEmpresa + " - " + c.Telefono; ReportParameter[] p = new ReportParameter[] { new ReportParameter("costo", contrato.Precio.ToString()), new ReportParameter("prima", contrato.Prima.ToString()), new ReportParameter("financiamiento", contrato.Financiamiento.ToString()), new ReportParameter("meses", contrato.Meses.ToString()), new ReportParameter("articulo", contrato.DescripcionProducto), new ReportParameter("cliente", contrato.NombreCompleto), new ReportParameter("informacion", informacion) }; List <Cuotas> listado = new List <Cuotas>(); CCuota cCuota = new CCuota(); listado = cCuota.Listado(contrato.IdContrato); ReportDataSource rds = new ReportDataSource(); rds.Name = "Listadofghfgh"; rds.Value = listado; this.reportViewer1.LocalReport.DataSources.Add(rds); this.reportViewer1.LocalReport.SetParameters(p); this.reportViewer1.RefreshReport(); this.reportViewer1.RefreshReport(); }
private void FCuotasPagar_Load(object sender, EventArgs e) { this.FechaReferencia = dateTimePickerFecha.Value; CCuota cCuotas = new CCuota(); lista = cCuotas.Listado(id); cuotasBindingSource.DataSource = lista; CContratos cContratos = new CContratos(); contrato = cContratos.uno(id); contratosBindingSource.DataSource = contrato; if (contrato.TratoEspecial == 1) { labelAviso.Visible = true; } foreach (Cuotas item in lista) { if (FechaReferencia.Date >= item.Fecha.Value.Date && item.Cancelada == 0) { cacumulado += item.Capital.Value; iacumulado += item.Intereses.Value; if (FechaReferencia.Date > item.Fecha.Value.Date) { mora += item.Capital.Value; } idcuotas.Add(item.IdCuota); } } mora = Math.Round(mora * 0.05M, 2); txtCapitalAlaFecha.Text = cacumulado.ToString("F"); txtInteresesAlafecha.Text = iacumulado.ToString("F"); txtTotal.Text = (cacumulado + iacumulado).ToString("F"); txtmora.Text = (mora).ToString("F"); if (contrato.Finalizado == 1) { button2.Visible = false; } }
private void button11_Click(object sender, EventArgs e) { if (contratoUp != null) { CCuota cCuota = new CCuota(); cCuota.EliminarTodas(contratoUp.IdContrato); MessageBox.Show("Cuotas eliminadas, eliga nueva fecha de inicio y luego de clic en guardar"); CContratos cContratos = new CContratos(); contrato contrato = new contrato(); contrato = (EASYPOS.Entidades.Contratos)contratosBindingSource.Current; cContratos.ActualizarRestanteBorrado(contrato); contratoUp.Restante = contrato.Financiamiento; contratosBindingSource.DataSource = contrato; guardar(false); } }
public int ActualizarRestante(Contratos contrato) { string consulta = "Update Contratos set Restante=@Restante where IdContrato=@IdContrato"; DynamicParameters parametros = new DynamicParameters(); parametros.Add("@IdContrato", contrato.IdContrato, DbType.Int32); parametros.Add("@Restante", contrato.Restante, DbType.Decimal); cn.Open(); cn.Execute(consulta, parametros, commandType: CommandType.Text); cn.Close(); CCuota cCuota = new CCuota(); cCuota.actualizarCuotasRestantes(contrato.IdContrato); return(contrato.IdContrato); }
private void guardar(bool cerrar = true) { contratosBindingSource.EndEdit(); CContratos cContratos = new CContratos(); contrato contrato = new contrato(); contrato = (EASYPOS.Entidades.Contratos)contratosBindingSource.Current; if (idCuenta_FKComboBox.SelectedIndex > 0) { Cuentas cuentas = new Cuentas(); cuentas = (Cuentas)cuentasBindingSource.Current; contrato.IdCuenta_FK = cuentas.IdCuenta; } if (contrato.Precio == 0 || contrato.Cuota == 0 || contrato.Financiamiento == 0 || contrato.Prima == 0 || contrato.Meses == 0) { MessageBox.Show("Para guardar, debe de rellenar los datos del financiamiento"); return; } if (contrato.FechaInicio == null) { //MessageBox.Show("Seleccione la fecha de inicio"); contrato.FechaInicio = DateTime.Now; } else { if (estadoCheckBox.Checked) { contrato.Estado = 1; } else { contrato.Estado = 0; } int idcontrato = cContratos.Insertar(contrato); if (contratoUp == null) { generarTabla(contrato.Financiamiento.Value, contrato.Meses, contrato.FechaInicio.Value, contrato.Tasa, idcontrato, contrato.Prima.Value); MessageBox.Show(this, "Contrato guardado con éxito", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { CCuota c = new CCuota(); int cu; cu = c.Listado(contratoUp.IdContrato).Count; if (cu == 0) { generarTabla(contrato.Financiamiento.Value, contrato.Meses, contrato.FechaInicio.Value, contrato.Tasa, idcontrato, contrato.Prima.Value); } MessageBox.Show(this, "Contrato actualizado con éxito", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (cerrar) { this.Close(); } } }
static public DataTable amortizacionFinanciacion(int Financiacion) { CFinanciacion financiacion = new CFinanciacion(); CCuota cuota = new CCuota(); DataTable Dtfinanciacion = financiacion.Financiacion(Financiacion); decimal Valor_Neto = int.Parse(Dtfinanciacion.Rows[0]["Valor_Neto"].ToString()); decimal Valor_Sin = int.Parse(Dtfinanciacion.Rows[0]["Valor_Sin_interes"].ToString()); decimal Valor_Interes = int.Parse(Dtfinanciacion.Rows[0]["Valor_Interes"].ToString()); decimal Valor_Cuota_Con_Interes = decimal.Parse(Dtfinanciacion.Rows[0]["Valor_Cuota_Con_Interes"].ToString()); DataTable DtCuotas = cuota.ListarCuotas(Financiacion, "Refinanciación", ""); decimal PagadoInicialFecha = 0; for (int i = 0; i < DtCuotas.Rows.Count; i++) { if (DtCuotas.Rows[i]["Tipo"].ToString() == "Valor Inicial" || DtCuotas.Rows[i]["Tipo"].ToString() == "Valor Separación") { PagadoInicialFecha += decimal.Parse(DtCuotas.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture); } } DateTime actual = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd"), "yyyy-MM-dd", CultureInfo.InvariantCulture); DataTable DtCuotasInteres = new DataTable(); DtCuotasInteres = cuota.ListarCuotasInteres2(Financiacion); DtCuotasInteres.Columns.Add("Capital", typeof(string)); DtCuotasInteres.Columns.Add("Interes", typeof(string)); DtCuotasInteres.Columns.Add("Saldo", typeof(string)); DataTable DtResult = new DataTable(); DtResult.Columns.Add("interesfecha", typeof(string)); DtResult.Columns.Add("deudafecha", typeof(string)); DtResult.Columns.Add("capitalfecha", typeof(string)); DtResult.Columns.Add("aportesfecha", typeof(string)); DtResult.Columns.Add("saldofecha", typeof(string)); decimal saldo = Valor_Neto - Valor_Sin; decimal interes = saldo * (decimal)Valor_Interes / 100; decimal capital = Convert.ToDecimal(DtCuotasInteres.Rows[0]["Valor"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) - interes; decimal deudafecha = 0; decimal interespagadofecha = 0; decimal interesmorafecha = 0; decimal capitalpagadofecha = 0; decimal aportadofecha = 0; decimal aportesfecha = 0; for (int i = 0; i < DtCuotasInteres.Rows.Count; i++) { DateTime date = DateTime.ParseExact(DtCuotasInteres.Rows[i]["Fecha Pago"].ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture); if (i != 0) { interes = saldo * (Convert.ToDecimal(Valor_Interes) / 100); capital = decimal.Parse(DtCuotasInteres.Rows[i]["Valor"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) - interes; } if (date <= actual) { if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Pagada") { string ensayo = DtCuotasInteres.Rows[i]["Estado"].ToString(); interespagadofecha += interes; capitalpagadofecha += capital; } else if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Mora") { if (decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) != 0) { capitalpagadofecha += decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture); } interesmorafecha += interes; deudafecha += (decimal)Valor_Cuota_Con_Interes; } aportadofecha = decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) - interes; } saldo = saldo - capital; DtCuotasInteres.Rows[i]["Saldo"] = saldo.ToString("N2", CultureInfo.CurrentCulture); DtCuotasInteres.Rows[i]["Interes"] = interes.ToString("N2", CultureInfo.CurrentCulture); DtCuotasInteres.Rows[i]["Capital"] = capital.ToString("N2", CultureInfo.CurrentCulture); aportesfecha += decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture); } DataRow row = DtResult.NewRow(); row["interesfecha"] = interespagadofecha.ToString(); row["deudafecha"] = deudafecha.ToString(); row["capitalfecha"] = capitalpagadofecha.ToString(); row["aportesfecha"] = aportesfecha.ToString(); decimal neto = Valor_Neto; decimal inetermora = Math.Round(interesmorafecha, 2); decimal pagoinicial = PagadoInicialFecha; decimal capipagado = Math.Round(capitalpagadofecha, 2); row["saldofecha"] = ((neto + inetermora) - (pagoinicial + capipagado)).ToString(); DtResult.Rows.Add(row); return(DtResult); }
void imprimirTicket(Pagos pago) { CContratos cContratos = new CContratos(); con contrato = new con(); CCuota cCuota = new CCuota(); Cuotas c = new Cuotas(); c = cCuota.ObtenerUna(pago.IdCuota_FK); contrato = cContratos.uno(c.IdContrato_FK); CConfiguracion cConfiguracion = new CConfiguracion(); Configuracion config = cConfiguracion.ObtenerConfiguracion(); Printer printer = new Printer(config.Impresora); CCorrelativo ccorrelativo = new CCorrelativo(); Correlativo correlativo = ccorrelativo.ObtenerUna(pago.IdCorrelativo_FK); printer.AlignCenter(); printer.Append(" "); printer.Append(" "); printer.Append(" "); printer.BoldMode(config.NombreEmpresa); printer.BoldMode(config.municipio); //Bitmap image = new Bitmap(Bitmap.FromFile("Icon.bmp")); //printer.Image(image); printer.Append(config.Direccion); printer.Append("TELEFONO: " + config.Telefono); printer.Append("NIT:" + config.NIT); printer.Append("NRC:" + config.NRC); printer.Append("Fecha:" + pago.FechaPago); printer.Append("Ticket #" + pago.Correlativo); printer.Append("Cliente:" + contrato.NombreCompleto); printer.Append("--------------------------------------"); printer.AlignLeft(); printer.Append("Descripción del pago"); printer.Append("Total cancelado = $" + pago.Monto.ToString("F")); // printer.Append("Cuota con vencimiento al " + c.Fecha.Value.ToString()); if (pago.Comentario != null) { printer.Append("--------------"); printer.Append("Información:" + pago.Comentario); printer.Append("--------------"); } printer.Append("A intereses = $" + pago.AIntereses.ToString("F")); printer.Append("A capital = $" + pago.ACapital.ToString("F")); printer.Append("Abono extra a capital = $" + pago.ACApitalExtra.ToString("F")); printer.Append("--------------"); printer.Append("Capital pendiente = $" + pago.CapitalRestante.ToString("F")); printer.AlignCenter(); printer.Append("--------------------------------------"); printer.AlignLeft(); printer.Append("Ventas Afectas:" + pago.Monto); printer.Append("Ventas Exentas:" + "0.00"); printer.AlignCenter(); printer.Append("--------------------------------------"); printer.AlignLeft(); printer.Append("Recibido:" + pago.Recibido); printer.Append("Cambio:" + pago.Cambio); printer.AlignCenter(); printer.Append(" "); printer.Append(" "); printer.Append(" "); printer.Append("Gracias por su pago"); printer.Append(" "); printer.Append(" "); printer.Append(" "); printer.Append("Resolución: " + correlativo.Resolucion); printer.Append("Del " + "0000001 al " + correlativo.Fin); printer.Append("Autorización:" + correlativo.Autorizacion); printer.Append("Fecha de resolución:" + correlativo.FechaDeAutorizacion.ToString()); printer.Append(" "); printer.Append(" "); printer.FullPaperCut(); try { printer.PrintDocument(); } catch (Exception) { } }
private void button1_Click(object sender, EventArgs e) { decimal total = decimal.Parse(txtpago.Text); FCobro f = new FCobro(total); f.ShowDialog(); if (f.DialogResult == DialogResult.OK) { int documento = 1, correlativo = ObtenerCorrelativo(); DateTime fecha = DateTime.Now; CCuota cCuota = new CCuota(); Cuotas cuota = this.cuota; if (soloACapital) { //averiguando la cuota anterior Cuotas c1 = new Cuotas(); c1 = cCuota.CuotaAnterior(cuota.IdCuota); if (c1 != null) { cuota = c1; } } Pagos pago = new Pagos(); pago.IdCuota_FK = cuota.IdCuota; pago.FechaPago = fecha; pago.Correlativo = correlativo; pago.IdCorrelativo_FK = 1; pago.Recibido = f.recibe; pago.Cambio = f.cambio; pago.Monto = total; pago.AMora = mora; pago.ACapital = decimal.Parse(txtacapital.Text); pago.AIntereses = decimal.Parse(txtaintereses.Text); pago.ACApitalExtra = decimal.Parse(txtcapitalextra.Text); pago.CapitalRestante = decimal.Parse(txtcapitaldespues.Text); if (otrafecha.Checked) { pago.FechaPago = dateTimePickerFechaPago.Value; } cuota.CapitalPendiente = pago.CapitalRestante; if (pago.Monto >= cuota.Monto && soloACapital == false) { cuota.FechaDePago = pago.FechaPago; cuota.Cancelada = 1; } if (soloACapital == false) { cuota.mora = pago.AMora; cuota.AIntereses = pago.AIntereses; cuota.ACapital = pago.ACapital; cuota.ACapitalExtra = pago.ACApitalExtra; cuota.CapitalPendiente = pago.CapitalRestante; cuota.Intereses = cuota.Intereses - cuota.AIntereses; cuota.Capital = cuota.Capital - cuota.ACapital; cuota.Monto = cuota.Intereses + cuota.Capital; } else { cuota.ACapitalExtra = pago.ACApitalExtra; } CPagos cPagos = new CPagos(); cPagos.Insertar(pago); int si = cCuota.Insertar(cuota); CContratos cContratos = new CContratos(); con contrato = new con(); contrato = cContratos.uno(cuota.IdContrato_FK); contrato.Restante = pago.CapitalRestante; cContratos.ActualizarRestante(contrato); MessageBox.Show("Pago realizado con éxito"); try { if (!checkBoxNoTicket.Checked) { imprimirTicket(pago); } } catch (Exception) { } this.Close(); } }
void imprimirTicket(int id) { CContratos cContratos = new CContratos(); CCuota cCuota = new CCuota(); Cuotas c = new Cuotas(); c = cCuota.ObtenerUna(id); Contratos contrato = new Contratos(); contrato = cContratos.uno(c.IdContrato_FK); CConfiguracion cConfiguracion = new CConfiguracion(); Configuracion config = cConfiguracion.ObtenerConfiguracion(); Printer printer = new Printer(config.Impresora); CCorrelativo ccorrelativo = new CCorrelativo(); Correlativo correlativo = ccorrelativo.ObtenerUna(c.IdCorrelativo_FK); printer.AlignCenter(); printer.Append(" "); printer.Append(" "); printer.Append(" "); printer.BoldMode(config.NombreEmpresa); //Bitmap image = new Bitmap(Bitmap.FromFile("Icon.bmp")); //printer.Image(image); printer.Append(config.Direccion); printer.Append("NIT:" + config.NIT); printer.Append("NRC:" + config.NRC); printer.Append("Fecha:" + c.FechaDePago); printer.Append("Ticket #" + c.Correlativo); printer.Append("Cliente:" + contrato.NombreCompleto); printer.Append("--------------------------------------"); printer.AlignLeft(); printer.Append("PRODUCTO CANT. PRECIO TOTAL"); printer.Append("Pago de cuota"); printer.Append(" " + 1 + " $" + c.Monto.Value.ToString("F") + " $" + c.Monto.Value.ToString("F")); printer.AlignCenter(); printer.Append("--------------------------------------"); printer.AlignLeft(); printer.Append("Ventas Afectas:" + c.Monto); printer.Append("Ventas Exentas:" + "0.00"); printer.AlignCenter(); printer.Append("--------------------------------------"); printer.AlignLeft(); //printer.Append("Recibido:" + venta.Efectivo); // printer.Append("Cambio:" + venta.Cambio); printer.AlignCenter(); printer.Append(" "); printer.Append(" "); printer.Append(" "); printer.Append("Gracias por su compra"); printer.Append(" "); printer.Append(" "); printer.Append(" "); printer.Append("Resolución: " + correlativo.Resolucion); printer.Append("Del " + "0000001 al " + correlativo.Fin); printer.Append("Autorización:" + correlativo.Autorizacion); printer.Append("Fecha de resolución:" + correlativo.FechaDeAutorizacion.ToString()); printer.Append(" "); printer.Append(" "); printer.FullPaperCut(); printer.PrintDocument(); }