/// <summary>
        /// Método que recupera los topes de un tarifario, a partir de la coleccion de topes.
        /// Primero se tiene que haber consultado el tarifario y llenado las colecciones.
        /// </summary>
        /// <returns>Retorna un dataset</returns>
        public DataView GetTopesDataSet()
        {
            DataSet   ds = new DataSet();
            DataTable dt = new DataTable();
            DataRow   dr;

            dt.Columns.Add(new DataColumn("TarifarioClienteRetiroEntregaID"));
            dt.Columns.Add(new DataColumn("TopeID"));
            dt.Columns.Add(new DataColumn("TopeKgHasta", System.Type.GetType("System.Int32")));
            dt.Columns.Add(new DataColumn("Cm3Hasta"));
            dt.Columns.Add(new DataColumn("Importe"));
            dt.Columns.Add(new DataColumn("ImporteBultoExc"));
            dt.Columns.Add(new DataColumn("KgVariable"));


            for (int i = 0; i < TopesCol.getCount(); i++)
            {
                dr = dt.NewRow();
                ITarifarioTope tope = TopesCol.GetTarifarioTope(i);
                dr[0] = tope.TarifarioID;
                dr[1] = tope.Tope.TopeID;
                dr[2] = tope.Tope.TopeKgHasta;
                dr[3] = tope.Cm3Hasta;
                dr[4] = tope.Importe;
                dr[5] = tope.ImporteBultoExc;
                dr[6] = tope.KgVariable;

                dt.Rows.Add(dr);
            }
            ds.Tables.Add(dt);
            //Se ordena el arreglo mediante el criterio de Tope Hasta
            ds.Tables[0].DefaultView.Sort = "TopeKgHasta";

            return(ds.Tables[0].DefaultView);
        }
 public bool DeleteByFleteTopeID(int fleteTopeID, int usuarioID)
 {
     using (SqlConnection conexion = new SqlConnection())
     {
         SqlTransaction transaccion = null;
         conexion.ConnectionString = Config.ConnectionString;
         try
         {
             conexion.Open();
             transaccion = conexion.BeginTransaction();
             if (TopesCol.DeleteByFleteTopeID(fleteTopeID, usuarioID, transaccion))
             {
                 ZonasTopesCol.DeleteByFleteTopeID(fleteTopeID, usuarioID, transaccion);
                 this.ValidarTarifario(transaccion);
                 transaccion.Commit();
             }
             else
             {
                 transaccion.Rollback();
             }
         }
         catch (Exception)
         {
             transaccion.Rollback();
             return(false);
         }
     }
     return(true);
 }