//		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 TarifarioRetiroEntrega para por utilizar el metodo validar (Bety)
//					TarifarioRetiroEntrega oTari= new TarifarioRetiroEntrega();
//					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 TarifarioRetiroEntrega para por utilizar el metodo validar (Bety)
                    TarifarioRetiroEntrega oTari = new TarifarioRetiroEntrega();
                    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 TarifarioRetiroEntrega para por utilizar el metodo validar (Bety)
//					TarifarioRetiroEntrega oTari= new TarifarioRetiroEntrega();
//					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 TarifarioRetiroEntrega para por utilizar el metodo validar (Bety)
                    TarifarioRetiroEntrega oTari = new TarifarioRetiroEntrega();
                    oTari.TarifarioID = this.TarifarioID;
                    oTari.ValidarTarifario(transaccion);
                    transaccion.Commit();
                }
                catch (Exception)
                {
                    transaccion.Rollback();
                    return(false);
                }
            }
            return(true);
        }
//		public bool DeleteByFleteTopeID(int clave, System.Data.SqlClient.SqlTransaction transaccion)
//		{
//			try
//			{
//				ITarifarioTope oTariTope = this.GetTarifarioTopeByTopeID(clave);
//				if(oTariTope.Eliminar(transaccion))
//					tarifariosTope.Remove(oTariTope);
//
//				//Se instancia un objeto de TarifarioRetiroEntrega para por utilizar el metodo validar (Bety)
//				TarifarioRetiroEntrega oTari= new TarifarioRetiroEntrega();
//				oTari.TarifarioID=this.TarifarioID;
//				oTari.ValidarTarifario(transaccion);
//				return true;
//			}
//			catch(Exception)
//			{
//				return false;
//			}
//		}
// Borrar este método
        public bool DeleteByFleteTopeID(int clave, int usuairoID, System.Data.SqlClient.SqlTransaction transaccion)
        {
            try
            {
                ITarifarioTope oTariTope = this.GetTarifarioTopeByTopeID(clave);
                if (oTariTope.Eliminar(usuairoID, transaccion))
                {
                    tarifariosTope.Remove(oTariTope);
                }

                //Se instancia un objeto de TarifarioRetiroEntrega para por utilizar el metodo validar (Bety)
                TarifarioRetiroEntrega oTari = new TarifarioRetiroEntrega();
                oTari.TarifarioID = this.TarifarioID;
                oTari.ValidarTarifario(transaccion);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }