Fixes after Fabian review.
This commit is contained in:
parent
2212bdea3a
commit
afaaa950a2
6 changed files with 16 additions and 12 deletions
|
|
@ -100,6 +100,7 @@ add_library( graphene_chain
|
|||
sport_evaluator.cpp
|
||||
protocol/event_group.cpp
|
||||
event_group_evaluator.cpp
|
||||
event_group_object.cpp
|
||||
protocol/event.cpp
|
||||
event_evaluator.cpp
|
||||
event_object.cpp
|
||||
|
|
|
|||
|
|
@ -109,9 +109,7 @@ void_result event_group_delete_evaluator::do_apply(const event_group_delete_oper
|
|||
database& _db = db();
|
||||
|
||||
const auto& event_group = _db.get(op.event_group_id);
|
||||
_db.modify(event_group, [&](event_group_object& mutable_event_group) {
|
||||
mutable_event_group.cancel_events(_db);
|
||||
});
|
||||
event_group.cancel_events(_db);
|
||||
|
||||
_db.remove(event_group);
|
||||
return void_result();
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
namespace graphene { namespace chain {
|
||||
|
||||
void event_group_object::cancel_events(database& db)
|
||||
void event_group_object::cancel_events(database& db) const
|
||||
{
|
||||
const auto& events_for_group = db.get_index_type<event_object_index>().indices().get<by_event_group_id>();
|
||||
auto event_it = events_for_group.lower_bound(id);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class event_group_object : public graphene::db::abstract_object< event_group_obj
|
|||
internationalized_string_type name;
|
||||
sport_id_type sport_id;
|
||||
|
||||
void cancel_events(database& db);
|
||||
void cancel_events(database& db) const;
|
||||
};
|
||||
|
||||
typedef multi_index_container<
|
||||
|
|
|
|||
|
|
@ -106,10 +106,8 @@ namespace graphene { namespace chain {
|
|||
tournament_leave_operation,
|
||||
sport_create_operation,
|
||||
sport_update_operation,
|
||||
sport_delete_operation,
|
||||
event_group_create_operation,
|
||||
event_group_update_operation,
|
||||
event_group_delete_operation,
|
||||
event_create_operation,
|
||||
event_update_operation,
|
||||
betting_market_rules_create_operation,
|
||||
|
|
@ -126,7 +124,9 @@ namespace graphene { namespace chain {
|
|||
bet_canceled_operation, // VIRTUAL
|
||||
betting_market_group_update_operation,
|
||||
betting_market_update_operation,
|
||||
event_update_status_operation
|
||||
event_update_status_operation,
|
||||
sport_delete_operation,
|
||||
event_group_delete_operation
|
||||
> operation;
|
||||
|
||||
/// @} // operations group
|
||||
|
|
|
|||
|
|
@ -81,17 +81,22 @@ void_result sport_delete_evaluator::do_evaluate( const sport_delete_operation& o
|
|||
void_result sport_delete_evaluator::do_apply( const sport_delete_operation& op )
|
||||
{ try {
|
||||
database& _db = db();
|
||||
|
||||
std::vector<const event_group_object*> event_groups_to_remove;
|
||||
|
||||
const auto& event_group_by_sport_id = _db.get_index_type<event_group_object_index>().indices().get<by_sport_id>();
|
||||
auto event_group_it = event_group_by_sport_id.lower_bound(op.sport_id);
|
||||
auto event_group_end_it = event_group_by_sport_id.upper_bound(op.sport_id);
|
||||
for (; event_group_it != event_group_end_it; ++event_group_it)
|
||||
{
|
||||
_db.modify(*event_group_it, [&](event_group_object& event_group) {
|
||||
event_group.cancel_events(_db);
|
||||
});
|
||||
event_group_it->cancel_events(_db);
|
||||
event_groups_to_remove.push_back(&*event_group_it);
|
||||
|
||||
_db.remove(*event_group_it);
|
||||
}
|
||||
|
||||
for (auto event_group: event_groups_to_remove)
|
||||
{
|
||||
_db.remove(*event_group);
|
||||
}
|
||||
|
||||
_db.remove(_db.get(op.sport_id));
|
||||
|
|
|
|||
Loading…
Reference in a new issue