/// <summary> /// Carga en la instacia actual los atributos del Id pasado por parámetro /// </summary> public List <TareaOrdenCompra> obtenerItemsOrden(string orden) { //limpiaDatos(); List <TareaOrdenCompra> retorno = new List <TareaOrdenCompra>(); MySqlConnection conexion = Database.obtenerConexion(true); MySqlCommand comando = new MySqlCommand( "SELECT * " + "FROM tarea_ordencompra " + " WHERE porcentaje > 0 and cen_fecha is null and orden = @orden" + " Order by orden " , conexion); comando.Transaction = Database.obtenerTransaccion(); comando.Parameters.AddWithValue("@orden", orden); try { if (Database.obtenerTransaccion() == null) { conexion.Open(); } MySqlDataReader dr = comando.ExecuteReader(); while (dr.Read()) { TareaOrdenCompra tmp = new TareaOrdenCompra(); cargarDatos(tmp, dr); retorno.Add(tmp); } dr.Close(); } catch (Exception ex) { retorno = null; SGECA.LogManager.Mensaje UltimoMensaje = GestionErrores.obtenerError(ex); UltimoMensaje.cargar( System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().ToString(), new System.Diagnostics.StackFrame(0, true).GetFileLineNumber()); UltimoMensaje.EsError = true; UltimoMensaje.StackTrace = ex.StackTrace; SGECA.LogManager.Log.log(UltimoMensaje); } finally { comando.Parameters.Clear(); if (Database.obtenerTransaccion() == null) { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } } return(retorno); }
/// <summary> /// Carga los datos del datareader en los atributos de una instancia /// </summary> /// <param name="objeto">instancia donde se cargaran los datos</param> /// <param name="dr">DataReader con los datos a cargar</param> private static void cargarDatos(TareaOrdenCompra objeto, MySqlDataReader dr) { int id = 0; int.TryParse(dr["id"].ToString(), out id); objeto.Id = id; objeto.Orden = dr["Orden"].ToString(); objeto.Posicion = dr["Posicion"].ToString(); objeto.Sitio = dr["Sitio"].ToString(); objeto.Tarea = dr["Tarea"].ToString(); decimal por = 0; decimal.TryParse(dr["porcentaje"].ToString(), out por); objeto.Porcentaje = por; }