//		public bool Guardar()
//		{
//			using (SqlConnection conexion = new SqlConnection())
//			{
//				SqlTransaction transaccion = null;
//				conexion.ConnectionString = Config.ConnectionString;
//				try
//				{
//					conexion.Open();
//					transaccion = conexion.BeginTransaction();
//
//					foreach (ITarifarioTope tarifarioTope in tarifariosTope)
//					{
//						tarifarioTope.TarifarioID = this.TarifarioID;
//						tarifarioTope.Guardar(transaccion);
//					}
//					//Se instancia un objeto de TarifarioClienteRetiroEntrega para por utilizar el metodo validar (Bety)
//					TarifarioClienteRetiroEntrega oTari= new TarifarioClienteRetiroEntrega();
//					oTari.TarifarioID=this.TarifarioID;
//					oTari.ValidarTarifario(transaccion);
//					transaccion.Commit();
//				}
//				catch (Exception)
//				{
//					transaccion.Rollback();
//					return false;
//				}
//			}
//			return true;
//		}

        public bool Guardar(int usuarioID)
        {
            using (SqlConnection conexion = new SqlConnection())
            {
                SqlTransaction transaccion = null;
                conexion.ConnectionString = Config.ConnectionString;
                try
                {
                    conexion.Open();
                    transaccion = conexion.BeginTransaction();

                    foreach (ITarifarioTope tarifarioTope in tarifariosTope)
                    {
                        tarifarioTope.TarifarioID = this.TarifarioID;
                        tarifarioTope.Guardar(usuarioID, transaccion);
                    }
                    //Se instancia un objeto de TarifarioClienteRetiroEntrega para por utilizar el metodo validar (Bety)
                    TarifarioClienteRetiroEntrega oTari = new TarifarioClienteRetiroEntrega();
                    oTari.TarifarioID = this.TarifarioID;
                    oTari.ValidarTarifario(transaccion);
                    transaccion.Commit();
                }
                catch (Exception)
                {
                    transaccion.Rollback();
                    return(false);
                }
            }
            return(true);
        }
//		public bool DeleteByFleteTopeID(int clave)
//		{
//			using (SqlConnection conexion = new SqlConnection())
//			{
//				SqlTransaction transaccion = null;
//				conexion.ConnectionString = Config.ConnectionString;
//				try
//				{
//					conexion.Open();
//					transaccion = conexion.BeginTransaction();
//					ITarifarioTope oTariTope = this.GetTarifarioTopeByTopeID(clave);
//					if(oTariTope.Eliminar())
//					tarifariosTope.Remove(oTariTope);
//					//Se instancia un objeto de TarifarioClienteRetiroEntrega para por utilizar el metodo validar (Bety)
//					TarifarioClienteRetiroEntrega oTari= new TarifarioClienteRetiroEntrega();
//					oTari.TarifarioID=this.TarifarioID;
//					oTari.ValidarTarifario(transaccion);
//					transaccion.Commit();
//				}
//				catch (Exception)
//				{
//					transaccion.Rollback();
//					return false;
//				}
//			}
//			return true;
//		}

        public bool DeleteByFleteTopeID(int clave, int usuarioID)
        {
            using (SqlConnection conexion = new SqlConnection())
            {
                SqlTransaction transaccion = null;
                conexion.ConnectionString = Config.ConnectionString;
                try
                {
                    conexion.Open();
                    transaccion = conexion.BeginTransaction();
                    ITarifarioTope oTariTope = this.GetTarifarioTopeByTopeID(clave);
                    if (oTariTope.Eliminar(usuarioID))
                    {
                        tarifariosTope.Remove(oTariTope);
                    }
                    //Se instancia un objeto de TarifarioClienteRetiroEntrega para por utilizar el metodo validar (Bety)
                    TarifarioClienteRetiroEntrega oTari = new TarifarioClienteRetiroEntrega();
                    oTari.TarifarioID = this.TarifarioID;
                    oTari.ValidarTarifario(transaccion);
                    transaccion.Commit();
                }
                catch (Exception)
                {
                    transaccion.Rollback();
                    return(false);
                }
            }
            return(true);
        }