/// <summary>
        /// Realiza la actualizacion de una condicion.
        /// </summary>
        /// <param name="item"></param>
        public bool Update(ReglasCondicionesInfo item)
        {
            try
            {
                return(module.Update(item));
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                return(false);
            }
        }
        /// <summary>
        /// Realiza el registro de una condicion para las reglas.
        /// </summary>
        /// <param name="item"></param>
        public int Insert(ReglasCondicionesInfo item)
        {
            int id = 0;

            IDataReader dr = null;

            try
            {
                db.SetParameterValue(commandReglasCondiciones, "i_operation", 'I');
                db.SetParameterValue(commandReglasCondiciones, "i_option", 'A');

                db.SetParameterValue(commandReglasCondiciones, "i_reg_id", item.IdRegla);
                db.SetParameterValue(commandReglasCondiciones, "i_cam_id", item.IdCampo);
                db.SetParameterValue(commandReglasCondiciones, "i_con_descripcion", item.Descripcion);
                db.SetParameterValue(commandReglasCondiciones, "i_con_valor", item.Valor);
                db.SetParameterValue(commandReglasCondiciones, "i_ope_id", item.IdOperador);
                db.SetParameterValue(commandReglasCondiciones, "i_con_idchar", item.IdCadena);
                db.SetParameterValue(commandReglasCondiciones, "i_cam_descripcion", item.NombreCampo);
                db.SetParameterValue(commandReglasCondiciones, "i_tab_concepto", item.NombreConcepto);
                db.SetParameterValue(commandReglasCondiciones, "i_ope_nombre", item.NombreOperador);
                db.SetParameterValue(commandReglasCondiciones, "i_tab_id", item.IdConcepto);

                dr = db.ExecuteReader(commandReglasCondiciones);

                //Obtiene el identificador (consecutivo) del insert
                id = Convert.ToInt32(db.GetParameterValue(commandReglasCondiciones, "i_con_id"));
            }
            catch (Exception ex)
            {
                id = 0;

                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(id);
        }
        /// <summary>
        /// Realiza la actualizacion de una condicion.
        /// </summary>
        /// <param name="item"></param>
        public bool Update(ReglasCondicionesInfo item)
        {
            bool transOk = false;

            IDataReader dr = null;

            try
            {
                db.SetParameterValue(commandReglasCondiciones, "i_operation", 'U');
                db.SetParameterValue(commandReglasCondiciones, "i_option", 'A');

                db.SetParameterValue(commandReglasCondiciones, "i_con_id", item.Id);
                db.SetParameterValue(commandReglasCondiciones, "i_reg_id", item.IdRegla);
                db.SetParameterValue(commandReglasCondiciones, "i_cam_id", item.IdCampo);
                db.SetParameterValue(commandReglasCondiciones, "i_con_descripcion", item.Descripcion);
                db.SetParameterValue(commandReglasCondiciones, "i_con_valor", item.Valor);
                db.SetParameterValue(commandReglasCondiciones, "i_ope_id", item.IdOperador);
                db.SetParameterValue(commandReglasCondiciones, "i_con_idchar", item.IdCadena);
                db.SetParameterValue(commandReglasCondiciones, "i_cam_descripcion", item.NombreCampo);
                db.SetParameterValue(commandReglasCondiciones, "i_tab_concepto", item.NombreConcepto);
                db.SetParameterValue(commandReglasCondiciones, "i_ope_nombre", item.NombreOperador);

                dr = db.ExecuteReader(commandReglasCondiciones);

                transOk = true;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(transOk);
        }
        /// <summary>
        /// Lista todos las condiciones de una regla especifica.
        /// </summary>
        /// <param name="IdRegla"></param>
        /// <returns></returns>
        public List <ReglasCondicionesInfo> ListxIdRegla(int IdRegla)
        {
            db.SetParameterValue(commandReglasCondiciones, "i_operation", 'S');
            db.SetParameterValue(commandReglasCondiciones, "i_option", 'B');
            db.SetParameterValue(commandReglasCondiciones, "i_reg_id", IdRegla);

            List <ReglasCondicionesInfo> col = new List <ReglasCondicionesInfo>();

            IDataReader dr = null;

            ReglasCondicionesInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandReglasCondiciones);

                while (dr.Read())
                {
                    m = Factory.GetReglasCondiciones(dr);

                    col.Add(m);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(col);
        }