Example #1
0
        /// <summary>
        /// Valida si un nivel de servicio se encuentra registrado
        /// </summary>
        /// <param name="t">Objeto PromedioRemanenteATM con los datos del Nivel</param>
        /// <returns></returns>
        public bool verificarPromedioRemanenteATM(ref PromedioRemanenteATM t)
        {
            bool existe = false;

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectExistePromedioRemanenteATM");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@numero", t.ID, SqlDbType.SmallInt);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                if (datareader.Read())
                {
                    int id = (int)datareader["pk_ID"];

                    existe = id != t.ID;

                    t.ID = id;
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorVerificarATMDuplicado");
            }

            return(existe);
        }
Example #2
0
        public frmAdministracionPromedioRemanenteATM()
        {
            InitializeComponent();

            _nivel = _mantenimiento.listarPromedioRemanenteATM();

            if (_nivel != null)
            {
                nudMonto.Value                = _nivel.Monto;
                nudMontoQuincena.Value        = _nivel.MontoQuincena;
                nudMontoDolares.Value         = _nivel.MontoDolares;
                nudMontoDolaresQuincena.Value = _nivel.MontoQuincenaDolares;
            }
        }
Example #3
0
        /// <summary>
        /// Clic en el botón de guardar.
        /// </summary>
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            // Verificar que se hayan seleccionado los datos



            try
            {
                decimal promedio                  = (decimal)nudMonto.Value;
                decimal promedio_quincea          = (decimal)nudMontoQuincena.Value;
                decimal promedio_dolares          = (decimal)nudMontoDolares.Value;
                decimal promedio_quincena_dolares = (decimal)nudMontoDolaresQuincena.Value;

                // Verificar si la nivel ya está registrada

                if (_nivel.ID == 0)
                {
                    // Agregar la nivel

                    if (Mensaje.mostrarMensajeConfirmacion("MensajePromedioRemanenteATMRegistro") == DialogResult.Yes)
                    {
                        PromedioRemanenteATM nueva = new PromedioRemanenteATM(monto: promedio, montoquincena: promedio_quincea, montodolares: promedio_dolares, montodolaresq: promedio_quincena_dolares);

                        _mantenimiento.agregarRemanenteDescargaATM(ref nueva);

                        Mensaje.mostrarMensaje("MensajePromedioRemanenteATMConfirmacionRegistro");
                        this.Close();
                    }
                }
                else
                {
                    // Actualizar los datos de la nivel

                    PromedioRemanenteATM copia = new PromedioRemanenteATM(monto: promedio, id: _nivel.ID, montoquincena: promedio_quincea, montodolares: promedio_dolares, montodolaresq: promedio_quincena_dolares);

                    _mantenimiento.actualizarRemanenteATM(copia);

                    Mensaje.mostrarMensaje("MensajePromedioRemanenteATMConfirmacionActualizacion");
                    this.Close();
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }
Example #4
0
        /// <summary>
        /// Registrar un detalle de una falla
        /// </summary>
        /// <param name="s">Objeto PromedioRemanenteATM con los datos del punto de venta</param>
        public void agregarPromedioRemanenteATM(ref PromedioRemanenteATM p)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertPromedioRemanenteATM");

            _manejador.agregarParametro(comando, "@promedio_quincena", p.MontoQuincena, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promedio", p.Monto, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promedio_dolares_quincena", p.MontoQuincenaDolares, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promedio_dolares", p.MontoDolares, SqlDbType.Decimal);

            try
            {
                int id_nuevo = (int)_manejador.ejecutarEscalar(comando);
                p.ID = (int)id_nuevo;
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorPromedioRemanenteATMActualizacion");
            }
        }
Example #5
0
        /// <summary>
        /// Actualizar los datos de un detalle de una falla
        /// </summary>
        /// <param name="s">Objeto PromedioRemanenteATM con los datos del punto de venta</param>
        public void actualizarPromedioRemanenteATM(PromedioRemanenteATM p)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdatePromedioRemanenteATM");

            _manejador.agregarParametro(comando, "@promedio_quincena", p.MontoQuincena, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promedio", p.Monto, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promedio_dolares_quincena", p.MontoQuincenaDolares, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promedio_dolares", p.MontoDolares, SqlDbType.Decimal);
            _manejador.agregarParametro(comando, "@promediodescarga", p.ID, SqlDbType.Int);


            try
            {
                _manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorPromedioRemanenteATMActualizacion");
            }
        }
Example #6
0
        /// <summary>
        /// Obtener los detalle de una falla .
        /// </summary>
        /// <param name="c">Falla para el cual se obtiene la lista de detalles de falla</param>
        public PromedioRemanenteATM obtenerPromedioRemanenteATM()
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectPromedioRemanenteATM");
            SqlDataReader datareader = null;

            PromedioRemanenteATM niveles = new PromedioRemanenteATM();



            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                if (datareader.Read())
                {
                    int     id                    = (int)datareader["ID_Promedio"];
                    decimal monto                 = (decimal)datareader["Monto"];
                    decimal monto_quincena        = (decimal)datareader["MontoQuincena"];
                    decimal montodolares          = (decimal)datareader["MontoDolares"];
                    decimal montodolares_quincena = (decimal)datareader["MontoDolaresQuincena"];

                    PromedioRemanenteATM punto = new PromedioRemanenteATM(id: id, monto: monto, montoquincena: monto_quincena, montodolares: montodolares, montodolaresq: montodolares_quincena);

                    niveles = punto;
                }


                comando.Connection.Close();
                return(niveles);
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Example #7
0
 public frmAdministracionPromedioRemanenteATM(PromedioRemanenteATM promedio)
 {
     InitializeComponent();
 }
Example #8
0
        /// <summary>
        /// Clic en el botón de actualizar.
        /// </summary>
        private void btnActualizar_Click(object sender, EventArgs e)
        {
            try
            {
                ATM atm = cboATM.SelectedIndex == 0 ?
                          null : (ATM)cboATM.SelectedItem;
                EmpresaTransporte transportadora = !chkProgramados.Checked || cboTransportadora.SelectedIndex == 0 ?
                                                   null : (EmpresaTransporte)cboTransportadora.SelectedItem;
                DateTime fecha       = dtpFecha.Value;
                decimal  porcentaje  = nudVariacion.Value / 100;
                bool     programados = chkProgramados.Checked;
                bool     cargados    = chkCargados.Checked;

                DataTable datos = _coordinacion.listarRegistrosRemanentesATMsPorDenominacion(atm, fecha, transportadora, programados, cargados);

                dgvRemanentes.DataSource = datos;
                dgvRemanentes.AutoResizeColumns();

                dgvTotales.Rows.Clear();
                dgvTotales.Columns.Clear();
                dgvEsperados.Rows.Clear();
                dgvEsperados.Columns.Clear();

                if (datos.Rows.Count == 0)
                {
                    return;
                }

                foreach (DataGridViewColumn columna in dgvRemanentes.Columns)
                {
                    if (columna.ValueType == typeof(decimal))
                    {
                        dgvTotales.Columns.Add("Total " + columna.Name, columna.HeaderText);
                        dgvEsperados.Columns.Add("Esperado " + columna.Name, columna.HeaderText);

                        columna.DefaultCellStyle.Format = "N2";
                    }
                }

                dgvTotales.Rows.Add();
                dgvEsperados.Rows.Add();

                foreach (DataGridViewColumn columna in dgvTotales.Columns)
                {
                    decimal total    = 0;
                    decimal esperado = 0;
                    if (columna.Index < 6)
                    {
                        total = (decimal)datos.Compute("Sum([" + columna.HeaderText + "])", "");

                        esperado =

                            (decimal)datos.Compute("Sum([" + columna.HeaderText + "]) - " +
                                                   "Sum([" + columna.HeaderText + "]) * " +
                                                   porcentaje.ToString().Replace(",", "."), "");
                    }
                    else if (columna.Index > 5)
                    {
                        //total = (decimal)datos.Compute("Sum([" + columna.HeaderText + "])", "");
                        //esperado =

                        //(decimal)datos.Compute("Sum([" + columna.HeaderText + "]) - " +
                        //                       "Sum([" + columna.HeaderText + "]) * " +
                        //                       porcentaje.ToString().Replace(",", "."), "");

                        foreach (DataGridViewRow row in dgvRemanentes.Rows)
                        {
                            //
                            // Se selecciona la celda del checkbox
                            //
                            DataGridViewCheckBoxCell cellSelecion = row.Cells["Cargado"] as DataGridViewCheckBoxCell;

                            //
                            // Se valida si esta checkeada
                            //
                            //if (Convert.ToBoolean(cellSelecion.Value))
                            //{
                            //
                            // Se valida si el usuario ingreso un valor en la celda de pedido
                            //
                            // decimal pedido = 0;
                            //if (!decimal.TryParse(Convert.ToString(row.Cells[columna.HeaderText].Value), out pedido))
                            //    continue;

                            //
                            // Se realiza el calculo para la fila, asignado el total en la celda "Total"
                            // de la misma
                            //
                            decimal totalFila = Convert.ToDecimal(row.Cells[columna.HeaderText].Value);
                            //*pedido;
                            // row.Cells["Total"].Value = totalFila;

                            //
                            // Se aumula el total de cada una de las filas
                            //
                            total    += totalFila;
                            esperado += (totalFila - (totalFila * porcentaje));

                            //  dgvTotales[columna.Index, 0].Value = totalFila;
                            //}
                        }
                    }
                    else
                    {
                        total    = (decimal)datos.Compute("Sum([" + columna.HeaderText + "])", "");
                        esperado =
                            (decimal)datos.Compute("Sum([" + columna.HeaderText + "])", "");
                    }


                    dgvTotales[columna.Index, 0].Value   = total;
                    dgvEsperados[columna.Index, 0].Value = esperado;
                }

                // Calcular la variación

                decimal total_descargado_colones = (decimal)dgvTotales[2, 0].Value;
                decimal total_descargado_dolares = (decimal)dgvTotales[3, 0].Value;

                decimal total_esperado_colones = (decimal)datos.Compute("Sum([Esperado CRC])", "[Descargado] = True");
                decimal total_esperado_dolares = (decimal)datos.Compute("Sum([Esperado USD])", "[Descargado] = True");


                decimal total_descargado_esperado_colones = (decimal)dgvEsperados[4, 0].Value;
                decimal total_descargado_esperado_dolares = (decimal)dgvEsperados[5, 0].Value;

                decimal diferencia_colones = total_descargado_colones - total_esperado_colones;
                decimal diferencia_dolares = total_descargado_dolares - total_esperado_dolares;

                decimal porcentaje_diferencia_colones = (diferencia_colones / total_esperado_colones) * 100;
                decimal porcentaje_diferencia_dolares = (diferencia_dolares / total_esperado_dolares) * 100;

                txtVariacionColones.Text = porcentaje_diferencia_colones.ToString("N2");
                txtVariacionDolares.Text = porcentaje_diferencia_dolares.ToString("N2");

                PromedioRemanenteATM nuevo = _mantenimiento.listarPromedioRemanenteATM();

                if (chkQuincena.Checked)
                {
                    if (total_descargado_esperado_colones > nuevo.MontoQuincena || total_descargado_esperado_dolares > nuevo.MontoQuincenaDolares)
                    {
                        lblAviso.Visible = true;
                    }
                    else
                    {
                        lblAviso.Visible = false;
                    }
                }
                else
                {
                    if (total_descargado_esperado_colones > nuevo.Monto || total_descargado_esperado_dolares > nuevo.MontoDolares)
                    {
                        lblAviso.Visible = true;
                    }
                    else
                    {
                        lblAviso.Visible = false;
                    }
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }