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