/// <summary>
        ///Guarda un centro de costos nuevo.
        /// </summary>
        /// <param name="item"></param>
        public bool Insert(CentroCostosInfo item)
        {
            try
            {
                return(module.Insert(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>
        ///Guarda un centro de costos nuevo.
        /// </summary>
        /// <param name="item"></param>
        public bool Insert(CentroCostosInfo item)
        {
            bool okTrans = false;

            IDataReader dr = null;

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

                db.SetParameterValue(commandCentroCostos, "i_ccostos", item.CCostos);
                db.SetParameterValue(commandCentroCostos, "i_descripcion", item.Descripcion);
                db.SetParameterValue(commandCentroCostos, "i_fecha", item.Fecha);
                db.SetParameterValue(commandCentroCostos, "i_cuenta_ajusteinventarios", item.CuentaAjusteinventarios);
                db.SetParameterValue(commandCentroCostos, "i_cuenta_ajustecmv", item.CuentaAjusteCMV);
                db.SetParameterValue(commandCentroCostos, "i_centrocostos", item.CentroCostos);
                db.SetParameterValue(commandCentroCostos, "i_plu", item.PLU);
                db.SetParameterValue(commandCentroCostos, "i_codubicacion", item.CodUbicacion);

                dr = db.ExecuteReader(commandCentroCostos);

                okTrans = true;
            }
            catch (Exception ex)
            {
                okTrans = false;

                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(okTrans);
        }
        /// <summary>
        /// lista todos los centros de costos existentes.
        /// </summary>
        /// <returns></returns>
        public List <CentroCostosInfo> List()
        {
            db.SetParameterValue(commandCentroCostos, "i_operation", 'S');
            db.SetParameterValue(commandCentroCostos, "i_option", 'A');

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

            IDataReader dr = null;

            CentroCostosInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandCentroCostos);

                while (dr.Read())
                {
                    m = Factory.GetCentroCostos(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);
        }