示例#1
0
        /// <summary>
        /// Verificar si ya se registro el trial de un ATM.
        /// </summary>
        /// <param name="t">Objeto TrialDescargaATM con los datos del trial</param>
        /// <returns>Valor que indica si el trial ya fue registrado</returns>
        public bool verificarTrialDescargaATM(ref TrialDescargaATM t)
        {
            bool existe = false;

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

            _manejador.agregarParametro(comando, "@atm", t.ATM, SqlDbType.SmallInt);
            _manejador.agregarParametro(comando, "@fecha", t.Fecha, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@full", t.Full, SqlDbType.Bit);

            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("ErrorVerificarTrialDescargaATM");
            }

            return(existe);
        }
示例#2
0
        /// <summary>
        /// Leer los triales del archivo.
        /// </summary>
        private void leerTriales()
        {
            try
            {
                bool full = chkFull.Checked;

                _triales.Clear();

                string archivo = _lector.leerArchivo(_archivo);

                string[] lineas = archivo.Split('\n');

                string valor_fecha = Regex.Replace(lineas[2], "[^0-9/]", "").Remove(10);

                DateTime fecha = DateTime.Parse(valor_fecha);

                foreach (string linea in lineas)
                {
                    char[] separadores = { ' ' };

                    if (Regex.IsMatch(linea, @"^[0-9,. ]+$"))
                    {
                        string valor_atm           = linea.Substring(0, 12);
                        string valor_monto_colones = Regex.Replace(linea.Substring(65, 15), "[^0-9]", "");
                        string valor_monto_dolares = Regex.Replace(linea.Substring(140, 15), "[^0-9]", "");

                        short numero_atm;

                        if (short.TryParse(valor_atm, out numero_atm))
                        {
                            ATM atm = new ATM(numero: numero_atm);

                            if (_mantenimiento.obtenerDatosATM(ref atm))
                            {
                                decimal monto_colones;
                                decimal monto_dolares;

                                if (decimal.TryParse(valor_monto_colones, out monto_colones) &&
                                    decimal.TryParse(valor_monto_dolares, out monto_dolares))
                                {
                                    TrialDescargaATM trial = new TrialDescargaATM(atm, fecha, monto_colones, monto_dolares, full);

                                    _triales.Add(trial);
                                }
                            }
                        }
                    }
                }

                dgvTriales.DataSource = _triales;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        /// <summary>
        /// Actualizar el trial de una descarga de un ATM en el sistema.
        /// </summary>
        /// <param name="t">Objeto TrialDescargaATM con los datos del trial</param>
        public void actualizarTrialDescargaATM(TrialDescargaATM t)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateTrialDescargaATM");

            _manejador.agregarParametro(comando, "@monto_colones", t.Monto_colones, SqlDbType.Money);
            _manejador.agregarParametro(comando, "@monto_dolares", t.Monto_dolares, SqlDbType.Money);
            _manejador.agregarParametro(comando, "@trial", t, SqlDbType.Int);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorTrialDescargaATMActualizacion");
            }
        }
示例#4
0
        /// <summary>
        /// Obtener una lista de los triales de descargas para una fecha específica.
        /// </summary>
        /// <param name="fe">Fecha para la cual se genera la lista</param>
        /// <param name="fu">Valor que indica si se listarán los triales de las descargas full</param>
        /// <returns>Lista de triales de la fecha especificada</returns>
        public BindingList <TrialDescargaATM> listarTrialesDescargasATMs(DateTime fe, bool fu)
        {
            BindingList <TrialDescargaATM> triales = new BindingList <TrialDescargaATM>();

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

            _manejador.agregarParametro(comando, "@fecha", fe, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@full", fu, SqlDbType.Bit);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int     id_trial      = (int)datareader["ID_Trial"];
                    decimal monto_colones = (decimal)datareader["Monto_Colones"];
                    decimal monto_dolares = (decimal)datareader["Monto_Dolares"];

                    short  id_atm = (short)datareader["ID_ATM"];
                    short  numero = (short)datareader["Numero"];
                    string codigo = (string)datareader["Codigo"];

                    ATM atm = new ATM(id: id_atm, numero: numero, codigo: codigo);

                    TrialDescargaATM trial = new TrialDescargaATM(atm, fe, monto_colones, monto_dolares, fu, id: id_trial);

                    triales.Add(trial);
                }

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

            return(triales);
        }
示例#5
0
        /// <summary>
        /// Registrar el trial de una descarga de un ATM en el sistema.
        /// </summary>
        /// <param name="t">Objeto TrialDescargaATM con los datos del trial</param>
        public void agregarTrialDescargaATM(ref TrialDescargaATM t)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertTrialDescargaATM");

            _manejador.agregarParametro(comando, "@atm", t.ATM, SqlDbType.SmallInt);
            _manejador.agregarParametro(comando, "@fecha", t.Fecha, SqlDbType.Date);
            _manejador.agregarParametro(comando, "@full", t.Full, SqlDbType.Bit);
            _manejador.agregarParametro(comando, "@monto_colones", t.Monto_colones, SqlDbType.Money);
            _manejador.agregarParametro(comando, "@monto_dolares", t.Monto_dolares, SqlDbType.Money);

            try
            {
                t.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorTrialDescargaATMRegistro");
            }
        }