示例#1
0
        /// <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);
        }
示例#2
0
        /// <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;
        }