/// <summary>
        /// Realiza la actualizacion de la aceptacion de terminos y condiciones
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool AceptoTerminosyCondiciones(VendedorInfo item)
        {
            bool transOk = false;

            IDataReader dr = null;

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

                db.SetParameterValue(commandVendedor, "i_vendedor", item.IdVendedor);
                db.SetParameterValue(commandVendedor, "i_termycond", item.TerminosyCondiciones);
                db.SetParameterValue(commandVendedor, "i_fechaaceptacionterm", item.FechaAceptacionTerminos);
                db.SetParameterValue(commandVendedor, "i_mostrartermycond", item.MostrarTerminosyCondiciones);

                dr = db.ExecuteReader(commandVendedor);

                transOk = true;

                //-----------------------------------------------------------------------------------------------------------------------------
                //Guardar auditoria
                try
                {
                    Auditoria     objAuditoria     = new Auditoria("conexion");
                    AuditoriaInfo objAuditoriaInfo = new AuditoriaInfo();

                    objAuditoriaInfo.FechaSistema = DateTime.Now;
                    objAuditoriaInfo.Usuario      = item.IdVendedor;
                    objAuditoriaInfo.Proceso      = "Se realizó aceptación de terminos y condiciones de la gerente : IdVendedor " + item.IdVendedor + ". Acción Realizada por el Usuario: " + item.IdVendedor;

                    objAuditoria.Insert(objAuditoriaInfo);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error Auditoria: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));
                }
                //-----------------------------------------------------------------------------------------------------------------------------
            }
            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);
        }
        public VendedorInfo VendedorxId(string id)
        {
            VendedorInfo reg = null;

            Application.Enterprise.Business.Vendedor module = new Application.Enterprise.Business.Vendedor("conexion");

            reg = module.ListxIdVendedor(id);

            return(reg);
        }
        /// <summary>
        /// Realiza la actualizacion de un vendedor existente.
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool Update(VendedorInfo 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>
        /// Lista las gerentes zonales de una gerente regional
        /// </summary>
        /// <param name="CodigoRegional"></param>
        /// <returns></returns>
        public List <VendedorInfo> ListxGerentesZonales(string CodigoRegional)
        {
            db.SetParameterValue(commandVendedor, "i_operation", 'S');
            db.SetParameterValue(commandVendedor, "i_option", 'H');
            db.SetParameterValue(commandVendedor, "i_codgereg", CodigoRegional);

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

            IDataReader dr = null;

            VendedorInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandVendedor);

                while (dr.Read())
                {
                    m = Factory.GetGerentesZonales(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);
        }
        /// <summary>
        /// Lista una empresaria correspondiente a una lider.
        /// </summary>
        /// <param name="Cedula"></param>
        /// <param name="Nit"></param>
        /// <returns></returns>
        public VendedorInfo ListxCedulaxNitxLider(string Cedula, string Nit)
        {
            db.SetParameterValue(commandVendedor, "i_operation", 'S');
            db.SetParameterValue(commandVendedor, "i_option", 'J');
            db.SetParameterValue(commandVendedor, "i_cedula", Cedula);
            db.SetParameterValue(commandVendedor, "i_nit", Nit);

            IDataReader dr = null;

            VendedorInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandVendedor);

                if (dr.Read())
                {
                    m = Factory.GetVendedorxCedulaxNit(dr);
                }
            }
            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(m);
        }
        /// <summary>
        /// Realiza la actualizacion de un vendedor existente.
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool Update(VendedorInfo item)
        {
            bool transOk = false;

            IDataReader dr = null;

            try
            {
                db.SetParameterValue(commandVendedor, "i_operation", 'U');
                db.SetParameterValue(commandVendedor, "i_option", 'B');

                db.SetParameterValue(commandVendedor, "i_vendedor", item.IdVendedor);
                db.SetParameterValue(commandVendedor, "i_nombre", item.Nombre);
                db.SetParameterValue(commandVendedor, "i_cedula", item.Cedula);
                db.SetParameterValue(commandVendedor, "i_fecha_ingreso", item.FechaIngreso);
                db.SetParameterValue(commandVendedor, "i_comision", item.Comision);
                db.SetParameterValue(commandVendedor, "i_recaudo_0", item.Recaudo_0);
                db.SetParameterValue(commandVendedor, "i_recaudo_30", item.Recaudo_30);
                db.SetParameterValue(commandVendedor, "i_recaudo_60", item.Recaudo_60);
                db.SetParameterValue(commandVendedor, "i_recaudo_90", item.Recaudo_90);
                db.SetParameterValue(commandVendedor, "i_fechanacimiento", item.FechaNacimiento);
                db.SetParameterValue(commandVendedor, "i_localizacion", item.Localizacion);
                db.SetParameterValue(commandVendedor, "i_clasificacion", item.Clasificacion);
                db.SetParameterValue(commandVendedor, "i_persona", item.Persona);
                db.SetParameterValue(commandVendedor, "i_sexo", item.Sexo);
                db.SetParameterValue(commandVendedor, "i_categoria", item.Categoria);
                db.SetParameterValue(commandVendedor, "i_zona", item.Zona);
                db.SetParameterValue(commandVendedor, "i_nombreuno", item.NombreUno);
                db.SetParameterValue(commandVendedor, "i_nombredos", item.NombreDos);
                db.SetParameterValue(commandVendedor, "i_apellidouno", item.ApellidoUno);
                db.SetParameterValue(commandVendedor, "i_apellidodos", item.ApellidoDos);
                db.SetParameterValue(commandVendedor, "i_direccion", item.Direccion);
                db.SetParameterValue(commandVendedor, "i_email", item.Email);
                db.SetParameterValue(commandVendedor, "i_telefonouno", item.TelefonoUno);
                db.SetParameterValue(commandVendedor, "i_telefonodos", item.TelefonoDos);
                db.SetParameterValue(commandVendedor, "i_telefonotres", item.TelefonoTres);
                db.SetParameterValue(commandVendedor, "i_emailnivi", item.EmailNivi);
                db.SetParameterValue(commandVendedor, "i_codciudad", item.CodigoCiudad);
                db.SetParameterValue(commandVendedor, "i_fechavigencia_inicio", item.FechaVigenciaInicio);
                db.SetParameterValue(commandVendedor, "i_fechavigencia_fin", item.FechaVigenciaFin);
                db.SetParameterValue(commandVendedor, "i_activo", item.Activo);
                db.SetParameterValue(commandVendedor, "i_termycond", item.TerminosyCondiciones);
                db.SetParameterValue(commandVendedor, "i_fechaaceptacionterm", item.FechaAceptacionTerminos);
                db.SetParameterValue(commandVendedor, "i_mostrartermycond", item.MostrarTerminosyCondiciones);
                db.SetParameterValue(commandVendedor, "i_director", item.Director);

                dr = db.ExecuteReader(commandVendedor);

                transOk = true;

                //-----------------------------------------------------------------------------------------------------------------------------
                //Guardar auditoria
                try
                {
                    Auditoria     objAuditoria     = new Auditoria("conexion");
                    AuditoriaInfo objAuditoriaInfo = new AuditoriaInfo();

                    objAuditoriaInfo.FechaSistema = DateTime.Now;
                    objAuditoriaInfo.Usuario      = item.Usuario;
                    objAuditoriaInfo.Proceso      = "Se realizó la actualización de un vendedor.  VendedorID:" + item.IdVendedor + ",  nombre:" + item.Nombre + ",   cedula: " + item.Cedula + ", fechaingreso: " + item.FechaIngreso + ", comision: " + item.Comision + ",  terminos y condiciones: " + item.TerminosyCondiciones + ",. Acción Realizada por el Usuario: " + item.Usuario;

                    objAuditoria.Insert(objAuditoriaInfo);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error Auditoria: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));
                }
                //-----------------------------------------------------------------------------------------------------------------------------
            }
            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);
        }