Exemplo n.º 1
0
        private void FReporteCuotas_Load(object sender, EventArgs e)
        {
            CConfiguracion cConfiguracion = new CConfiguracion();
            Configuracion  c = new Configuracion();

            c = cConfiguracion.ObtenerConfiguracion();
            string informacion = c.NombreEmpresa + " - " + c.Telefono;

            ReportParameter[] p = new ReportParameter[]
            {
                new ReportParameter("informacion", informacion),
                new ReportParameter("nombrenegocio", c.NombreEmpresa.ToString().ToUpper()),
                new ReportParameter("fechas", "Periodo del " + f1.Date.ToShortDateString() + " al " + f2.Date.ToShortDateString())
            };



            List <Pagos> listado = new List <Pagos>();
            CPagos       cPagos  = new CPagos();

            listado = cPagos.ListadoReporte(f1, f2);


            ReportDataSource rds = new ReportDataSource();

            rds.Name  = "Listado";
            rds.Value = listado;

            this.reportViewer1.LocalReport.DataSources.Add(rds);
            this.reportViewer1.LocalReport.SetParameters(p);
            this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        public void actualizarCuotasRestantes(int idContrato)
        {
            CContratos cContratos = new CContratos();
            Contratos  con        = cContratos.uno(idContrato);
            decimal    capital    = Math.Round(con.Financiamiento.Value / con.Meses, 2);
            CPagos     cPagos     = new CPagos();

            List <Cuotas> listado = this.Listado(idContrato);
            // Cuotas ultimapagada = listado.Where(x => x.Cancelada == 1).OrderByDescending(x => x.FechaDePago).First();
            List <Cuotas> sinpagar = listado.Where(x => x.Cancelada == 0).ToList();
            //decimal montoextra = ultimapagada.ACapitalExtra.Value;
            decimal montoextra = cPagos.extra(idContrato);

            //decimal sumarestante = sinpagar.Sum(x => x.Capital).Value;
            if (montoextra > 0)
            {
                int cuantascrubre = decimal.ToInt32(montoextra / capital);

                sinpagar = sinpagar.OrderByDescending(x => x.IdCuota).ToList();
                int contador = 1;
                foreach (Cuotas item in sinpagar)
                {
                    if (contador <= cuantascrubre)
                    {
                        item.Cancelada = 1;
                        item.Monto     = 0;
                        //item.Capital = 0;
                        item.Intereses   = 0;
                        item.FechaDePago = DateTime.Now;

                        if (item.Capital < capital)
                        {
                            montoextra -= item.Capital.Value;
                        }
                        else
                        {
                            montoextra -= capital;
                        }
                        item.Capital = 0;
                        int x = ActualizarCancelada(item);
                        contador++;
                    }
                    else
                    {
                        if (montoextra > 0 && montoextra < capital)
                        {
                            item.Cancelada = 0;
                            item.Monto     = item.Monto - montoextra;
                            item.Capital   = item.Capital - montoextra;
                            if (item.Capital.Value == 0)
                            {
                                item.Cancelada   = 1;
                                item.Monto       = 0;
                                item.Capital     = 0;
                                item.Intereses   = 0;
                                item.FechaDePago = DateTime.Now;
                            }
                            //item.Intereses = 0;
                            int x = ActualizarCancelada(item);

                            montoextra -= montoextra;
                        }
                        else
                        {
                            if (montoextra > capital)
                            {
                                item.Cancelada = 1;
                                item.Monto     = 0;
                                //item.Capital = 0;
                                item.Intereses   = 0;
                                item.FechaDePago = DateTime.Now;

                                if (item.Capital < capital)
                                {
                                    montoextra -= item.Capital.Value;
                                }
                                else
                                {
                                    montoextra -= capital;
                                }
                                item.Capital = 0;
                                int x = ActualizarCancelada(item);
                            }
                        }
                    }
                }
            }
        }