20#ifndef ORES_QT_ENTITY_DETAIL_OPERATIONS_HPP
21#define ORES_QT_ENTITY_DETAIL_OPERATIONS_HPP
26#include <boost/uuid/uuid.hpp>
27#include "ores.qt/export.hpp"
45 boost::uuids::uuid id;
46 std::string short_code;
47 std::string full_name;
49 std::optional<boost::uuids::uuid> parent_id;
56 boost::uuids::uuid id;
58 std::string id_scheme;
60 std::string description;
61 std::string modified_by;
62 std::string performed_by;
69 boost::uuids::uuid id;
71 std::string contact_type;
72 std::string street_line_1;
73 std::string street_line_2;
76 std::string country_code;
77 std::string postal_code;
81 std::string modified_by;
82 std::string performed_by;
93 std::string tenant_id;
94 boost::uuids::uuid id;
95 std::string full_name;
96 std::string short_code;
98 std::optional<std::string> transliterated_name;
100 std::string party_type;
101 std::optional<boost::uuids::uuid> parent_id;
102 std::string business_center_code;
104 std::string modified_by;
105 std::string performed_by;
106 std::string change_reason_code;
107 std::string change_commentary;
108 std::chrono::system_clock::time_point recorded_at;
115 std::vector<parent_entity_entry> entities;
123 std::vector<identifier_entry> identifiers;
131 std::vector<contact_entry> contacts;
167 ClientManager* cm,
const boost::uuids::uuid& entity_id)
const = 0;
179 ClientManager* cm,
const boost::uuids::uuid& entity_id)
const = 0;
Qt-based graphical user interface for ORE Studio.
Definition AccountController.hpp:32
ORES_QT_API entity_data to_entity_data(const refdata::domain::counterparty &cpty)
Convert a counterparty domain object to entity_data.
Definition EntityDetailOperations.cpp:26
Domain types for risk management.
Definition EntityDetailOperations.hpp:193
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:123
Common result type for save and delete operations.
Definition EntityDetailOperations.hpp:36
Lightweight struct for populating parent entity combo boxes.
Definition EntityDetailOperations.hpp:44
Lightweight struct for populating identifier tables.
Definition EntityDetailOperations.hpp:55
boost::uuids::uuid owner_id
party_id or counterparty_id
Definition EntityDetailOperations.hpp:57
Lightweight struct for populating contact tables.
Definition EntityDetailOperations.hpp:68
boost::uuids::uuid owner_id
party_id or counterparty_id
Definition EntityDetailOperations.hpp:70
Common entity data extracted from party or counterparty types.
Definition EntityDetailOperations.hpp:91
std::optional< std::string > codename
Party-only field; immutable.
Definition EntityDetailOperations.hpp:97
std::optional< std::string > party_category
Party-only field.
Definition EntityDetailOperations.hpp:99
Result of loading all entities for hierarchy/parent combo.
Definition EntityDetailOperations.hpp:114
Result of loading identifiers for an entity.
Definition EntityDetailOperations.hpp:122
Result of loading contacts for an entity.
Definition EntityDetailOperations.hpp:130
Interface for entity-specific operations in the detail dialog.
Definition EntityDetailOperations.hpp:143
virtual std::string entity_type_name() const =0
Display name for the entity type (e.g. "Party", "Counterparty").
virtual bool has_party_category() const =0
Whether this entity type has a party_category field.
virtual operation_result save_contact(ClientManager *cm, const contact_entry &entry) const =0
Save a contact.
virtual operation_result delete_contact(ClientManager *cm, const boost::uuids::uuid &id) const =0
Delete a contact.
virtual operation_result save_entity(ClientManager *cm, const entity_data &data) const =0
Save the entity via protocol messages.
virtual operation_result delete_entity(ClientManager *cm, const boost::uuids::uuid &id) const =0
Delete the entity via protocol messages.
virtual load_identifiers_result load_identifiers(ClientManager *cm, const boost::uuids::uuid &entity_id) const =0
Load identifiers for a specific entity.
virtual operation_result save_identifier(ClientManager *cm, const identifier_entry &entry) const =0
Save an identifier.
virtual load_contacts_result load_contacts(ClientManager *cm, const boost::uuids::uuid &entity_id) const =0
Load contacts for a specific entity.
virtual operation_result delete_identifier(ClientManager *cm, const boost::uuids::uuid &id) const =0
Delete an identifier.
virtual load_all_entities_result load_all_entities(ClientManager *cm) const =0
Load all entities for parent combo and hierarchy tree.
An external trading partner participating in financial transactions.
Definition counterparty.hpp:37
An internal legal entity participating in financial transactions.
Definition party.hpp:37