Пример #1
0
        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();
        }
Пример #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();
            }
        }