예제 #1
0
        private bool Validar()
        {
            CapaNegocios.Planilla vNegocioPlanilla = new CapaNegocios.Planilla();
            bool vResultado = true;

            try
            {
                if (txtIdCliente.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("El campo Id Cliente contiene un valor no válido", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    vResultado = false;
                }

                if (txtTasa.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("El campo Tasa contiene un valor no válido", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    vResultado = false;
                }

                if (txtMontoCredito.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("El campo Monto Crédito contiene un valor no válido", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    vResultado = false;
                }

                if (txtPlazo.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("El campo Plazo contiene un valor no válido", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    vResultado = false;
                }

                if (txtCuota.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("El campo Plazo contiene un valor no válido", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    vResultado = false;
                }

                if (vModo == "E")
                {
                    if (vNegocioPlanilla.LeerPlanilla(vIdCredito).Rows.Count > 0)
                    {
                        if (MessageBox.Show("El credito seleccionado  contiene una planilla asociada,¿Desea continuar?", "Informacion", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                        {
                            vResultado = false;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                vResultado = false;
                throw new Exception(ex.Message, ex);
            }
            return(vResultado);
        }
예제 #2
0
        private void GenerarProyeccion()
        {
            List <CapaEntidad.Estructura.Proyeccion> vListaProyeccion = new List <CapaEntidad.Estructura.Proyeccion>();

            CapaNegocios.Planilla             vNegocioPlanilla = new CapaNegocios.Planilla();
            CapaEntidad.Estructura.Proyeccion vProyeccion;
            decimal   vSaldoAnterior = 0;
            decimal   vTasa          = 0;
            int       vDias;
            DateTime  vFecha = DateTime.Now.Date;
            DataTable dtPlanilla;
            int       vCantidadRegistros = 0;
            decimal   vSaldo             = 0;
            decimal   vSaldo2            = 0;

            try
            {
                vSaldoAnterior = Math.Round(Convert.ToDecimal(txtMontoCredito.Text), 2);
                vTasa          = Convert.ToDecimal(txtTasa.Text) / 100;
                if (vModo == "C")
                {
                    dtPlanilla = vNegocioPlanilla.LeerPlanilla(vIdCredito);
                    if (dtPlanilla.Rows.Count > 0)
                    {
                        vFecha             = Convert.ToDateTime(dtPlanilla.Rows[0]["FechaCorte"].ToString());
                        vCantidadRegistros = dtPlanilla.Rows.Count;
                    }
                }
                for (int i = 0; i <= Convert.ToInt32(txtPlazo.Text); i++)
                {
                    if (i == 0)
                    {
                        vProyeccion = new CapaEntidad.Estructura.Proyeccion()
                        {
                            Cuota          = 0,
                            MontoPrincipal = 0,
                            Interes        = 0,
                            Saldo          = vSaldoAnterior,
                            Pago           = 0,
                            FechaCorte     = vFecha,
                            NumeroCuota    = i
                        };
                    }
                    else
                    {
                        vFecha = DateTime.Now.Date.AddMonths(i);
                        vDias  = vFecha.Day;
                        if (vFecha.Month == 2)
                        {
                            vDias = 28 - vDias;
                        }
                        else
                        {
                            vDias = 30 - vDias;
                        }
                        vFecha                     = vFecha.AddDays(vDias);
                        vProyeccion                = new CapaEntidad.Estructura.Proyeccion();
                        vProyeccion.Cuota          = Convert.ToDecimal(txtCuota.Text);
                        vProyeccion.MontoPrincipal = Math.Round(vSaldoAnterior * vTasa, 2);
                        vProyeccion.Interes        = Math.Round(Convert.ToDecimal(txtCuota.Text) - vProyeccion.MontoPrincipal, 2);
                        vProyeccion.Saldo          = Math.Round(vSaldoAnterior - vProyeccion.Interes, 2);
                        vProyeccion.NumeroCuota    = i;
                        vSaldoAnterior             = Math.Round(vProyeccion.Saldo, 2);
                        vProyeccion.FechaCorte     = vFecha;

                        if (vModo == "C" && i <= vCantidadRegistros)
                        {
                            vProyeccion.Pago = vProyeccion.Cuota;
                            vSaldo2          = vProyeccion.Saldo;
                        }
                        else
                        {
                            if (vModo == "C")
                            {
                                vSaldo = Math.Round(vSaldoAnterior - vProyeccion.Interes, 2);
                                if (vSaldo2 != 0)
                                {
                                    vProyeccion.Saldo = vSaldo2;
                                }

                                vSaldoAnterior = Math.Round(vSaldo, 2);
                            }
                        }
                    }
                    vListaProyeccion.Add(vProyeccion);
                }
                dgvProyeccion.DataSource = vListaProyeccion;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }