/// <summary>
        /// Procedimiento Listar Siguiente Datos
        /// </summary>
        /// <param name="Listar Siguiente CondicionPago"></param>
        public DataSet Siguiente(DCondicionPago CondicionPago)
        {
            DataSet       DsRpta  = new DataSet();
            SqlConnection SqlConn = new SqlConnection();

            try
            {
                SqlConn.ConnectionString = DConexion.Cn;
                SqlConn.Open();

                SqlCommand Cmd = new SqlCommand
                {
                    Connection  = SqlConn,
                    CommandText = "condicionpago_siguiente",
                    CommandType = CommandType.StoredProcedure,
                };

                SqlParameter Parcod_condicionpago = Getcod_condicionpago(CondicionPago);
                Cmd.Parameters.Add(Parcod_condicionpago);

                Cmd.ExecuteNonQuery();
                SqlDataAdapter SqlDat = new SqlDataAdapter(Cmd);
                SqlDat.Fill(DsRpta);
            }
            catch (Exception Ex)
            {
                DsRpta = null;
                throw new Exception("Error al Ejecutar el procedimiento almacenado" + Ex.Message, Ex);
            }
            finally
            {
                SqlConn.Close();
            }
            return(DsRpta);
        }
        private static SqlParameter Getdesc_condicionpago(DCondicionPago CondicionPago)
        {
            SqlParameter Pdesc_condicionpago = new SqlParameter
            {
                ParameterName = "@desc_condicionpago",
                SqlDbType     = SqlDbType.VarChar,
                Size          = 150,
                Value         = CondicionPago.Ddesc_condicionpago,
            };

            return(Pdesc_condicionpago);
        }
        private static SqlParameter Getbtipo(DCondicionPago CondicionPago)
        {
            SqlParameter Pbtipo = new SqlParameter
            {
                ParameterName = "@btipo",
                SqlDbType     = SqlDbType.VarChar,
                Size          = 50,
                Value         = CondicionPago.Dbtipo,
            };

            return(Pbtipo);
        }
        private static SqlParameter Getcod_condicionpagov(DCondicionPago CondicionPago)
        {
            SqlParameter Pcod_condicionpagov = new SqlParameter
            {
                ParameterName = "@cod_condicionpagov",
                SqlDbType     = SqlDbType.NVarChar,
                Size          = 50,
                Value         = CondicionPago.Dcod_condicionpagov,
            };

            return(Pcod_condicionpagov);
        }
        private static SqlParameter Getbuscarh(DCondicionPago CondicionPago)
        {
            SqlParameter Pbuscarh = new SqlParameter
            {
                ParameterName = "@buscarh",
                SqlDbType     = SqlDbType.VarChar,
                Size          = 50,
                Value         = CondicionPago.Dbuscarh,
            };

            return(Pbuscarh);
        }
        private static SqlParameter Getcampo6(DCondicionPago CondicionPago)
        {
            SqlParameter Pcampo6 = new SqlParameter
            {
                ParameterName = "@campo6",
                SqlDbType     = SqlDbType.VarChar,
                Size          = 50,
                Value         = CondicionPago.Dcampo6,
            };

            return(Pcampo6);
        }
        private static SqlParameter Getdiascredito(DCondicionPago CondicionPago)
        {
            SqlParameter Pdiascredito = new SqlParameter
            {
                ParameterName = "@diascredito",
                SqlDbType     = SqlDbType.Decimal,
                Precision     = 18,
                Scale         = 3,
                Value         = CondicionPago.Ddiascredito,
            };

            return(Pdiascredito);
        }
        /// <summary>
        /// Metodo Eliminar Datos Recibe 1 Parametro
        /// </summary>
        /// <returns> Recibe Parametros</returns>
        public string Eliminar(DCondicionPago CondicionPago)
        {
            string        Rpta    = "";
            SqlConnection SqlConn = new SqlConnection();

            try
            {
                SqlConn.ConnectionString = DConexion.Cn;
                SqlConn.Open();

                SqlCommand Cmd = new SqlCommand()
                {
                    Connection  = SqlConn,
                    CommandText = "condicionpago_eliminar",
                    CommandType = CommandType.StoredProcedure,
                };

                SqlParameter Parcod_condicionpago = Getcod_condicionpago(CondicionPago);
                Cmd.Parameters.Add(Parcod_condicionpago);

                Cmd.ExecuteNonQuery();
                Rpta = "Y";
            }
            catch (SqlException Exc)
            {
                if (Exc.Number == 2812)
                {
                    Rpta = "No Existe el Procedimiento Almacenado";
                }
                else if (Exc.Number == 547)
                {
                    Rpta = "No se Pueden Eliminar Registros Relacionados!  " + Exc.Message;
                }
                else
                {
                    Rpta = "Error al intentar ejecutar el procedimiento almacenado! " + Exc.Message;
                }
            }
            finally
            {
                if (SqlConn.State == ConnectionState.Open)
                {
                    SqlConn.Close();
                }
            }
            return(Rpta);
        }
        /// <summary>
        /// Procedimiento Buscar Datos Recibe 3 Parametros
        /// </summary>
        public DataTable RepBuscar(DCondicionPago CondicionPago)
        {
            DataTable     DtRpta  = new DataTable("TbCondicionPago");
            SqlConnection SqlConn = new SqlConnection();

            try
            {
                SqlConn.ConnectionString = DConexion.Cn;
                SqlConn.Open();

                SqlCommand Cmd = new SqlCommand
                {
                    Connection  = SqlConn,
                    CommandText = "condicionpago_rptlistar",
                    CommandType = CommandType.StoredProcedure,
                };

                SqlParameter Parbuscard = Getbuscard(CondicionPago);
                Cmd.Parameters.Add(Parbuscard);

                SqlParameter Parbuscarh = Getbuscarh(CondicionPago);
                Cmd.Parameters.Add(Parbuscarh);

                SqlParameter Parbtipo = Getbtipo(CondicionPago);
                Cmd.Parameters.Add(Parbtipo);

                Cmd.ExecuteNonQuery();
                SqlDataAdapter SqlDat = new SqlDataAdapter(Cmd);
                SqlDat.Fill(DtRpta);
            }
            catch (Exception Ex)
            {
                DtRpta = null;
                throw new Exception("Error al Ejecutar el procedimiento almacenado" + Ex.Message, Ex);
            }
            finally
            {
                SqlConn.Close();
            }
            return(DtRpta);
        }
        /// <summary>
        /// Procedimiento Generar Codigo
        /// </summary>
        /// <param name="Generar Codigo"></param>
        /// <return>Retorna el Codigo</return>
        public string GenerarCod(DCondicionPago CondicionPago)
        {
            SqlConnection SqlConn = new SqlConnection
            {
                ConnectionString = DConexion.Cn
            };

            SqlConn.Open();
            SqlCommand Cmd = new SqlCommand
            {
                Connection  = SqlConn,
                CommandText = "condicionpago_generar_cod",
                CommandType = CommandType.StoredProcedure,
            };

            try
            {
                SqlParameter ParCod_condicionpago = new SqlParameter("@cod_condicionpago", SqlDbType.Int)
                {
                    Direction = ParameterDirection.Output,
                    Value     = CondicionPago.Dcod_condicionpago
                };
                Cmd.Parameters.Add(ParCod_condicionpago);

                if (Cmd.ExecuteNonQuery() == 0)
                {
                    return(Cmd.Parameters[ParCod_condicionpago.ToString()].Value.ToString());
                }
            }
            catch (Exception ex)
            {
                string Resp = ex.Message;
            }
            finally
            {
                SqlConn.Close();
            }
            return(Cmd.Parameters["@cod_condicionpago"].Value.ToString());
        }
        /// <summary>
        /// Metodo Editar Datos Recibe 9 Parametros
        /// </summary>
        /// <returns> Recibe Parametros</returns>
        public string Editar(DCondicionPago CondicionPago)
        {
            string        Rpta    = "";
            SqlConnection SqlConn = new SqlConnection();

            try
            {
                SqlConn.ConnectionString = DConexion.Cn;
                SqlConn.Open();

                SqlCommand Cmd = new SqlCommand()
                {
                    Connection  = SqlConn,
                    CommandText = "condicionpago_editar",
                    CommandType = CommandType.StoredProcedure,
                };

                SqlParameter Parcod_condicionpago = Getcod_condicionpago(CondicionPago);
                Cmd.Parameters.Add(Parcod_condicionpago);

                SqlParameter Parcod_condicionpagov = Getcod_condicionpagov(CondicionPago);
                Cmd.Parameters.Add(Parcod_condicionpagov);

                SqlParameter Pardesc_condicionpago = Getdesc_condicionpago(CondicionPago);
                Cmd.Parameters.Add(Pardesc_condicionpago);

                SqlParameter Pardiascredito = Getdiascredito(CondicionPago);
                Cmd.Parameters.Add(Pardiascredito);

                SqlParameter Parcampo1 = Getcampo1(CondicionPago);
                Cmd.Parameters.Add(Parcampo1);

                SqlParameter Parcampo2 = Getcampo2(CondicionPago);
                Cmd.Parameters.Add(Parcampo2);

                SqlParameter Parcampo3 = Getcampo3(CondicionPago);
                Cmd.Parameters.Add(Parcampo3);

                SqlParameter Parcampo4 = Getcampo4(CondicionPago);
                Cmd.Parameters.Add(Parcampo4);

                SqlParameter Parcampo5 = Getcampo5(CondicionPago);
                Cmd.Parameters.Add(Parcampo5);

                SqlParameter Parcampo6 = Getcampo6(CondicionPago);
                Cmd.Parameters.Add(Parcampo6);

                Cmd.ExecuteNonQuery();
                Rpta = "Y";
            }
            catch (SqlException Exc)
            {
                if (Exc.Number == 8152)
                {
                    Rpta = "Ha introducido demasiados caracteres en uno de los campos.";
                }
                else if (Exc.Number == 2627)
                {
                    Rpta = "El Codigo Ya Existe. No se Permiten Registros Duplicados.";
                }
                else if (Exc.Number == 2812)
                {
                    Rpta = "No Existe el Procedimiento Almacenado";
                }
                else
                {
                    Rpta = "Error al intentar ejecutar el procedimiento almacenado " + Exc.Message;
                }
            }
            finally
            {
                if (SqlConn.State == ConnectionState.Open)
                {
                    SqlConn.Close();
                }
            }
            return(Rpta);
        }