20#ifndef ORES_QT_ENTITY_DETAIL_OPERATIONS_HPP
21#define ORES_QT_ENTITY_DETAIL_OPERATIONS_HPP
26#include <boost/uuid/uuid.hpp>
44 boost::uuids::uuid id;
45 std::string short_code;
46 std::string full_name;
48 std::optional<boost::uuids::uuid> parent_id;
55 boost::uuids::uuid id;
57 std::string id_scheme;
59 std::string description;
60 std::string modified_by;
61 std::string performed_by;
68 boost::uuids::uuid id;
70 std::string contact_type;
71 std::string street_line_1;
72 std::string street_line_2;
75 std::string country_code;
76 std::string postal_code;
80 std::string modified_by;
81 std::string performed_by;
92 std::string tenant_id;
93 boost::uuids::uuid id;
94 std::string full_name;
95 std::string short_code;
97 std::optional<std::string> transliterated_name;
99 std::string party_type;
100 std::optional<boost::uuids::uuid> parent_id;
101 std::string business_center_code;
103 std::string modified_by;
104 std::string performed_by;
105 std::string change_reason_code;
106 std::string change_commentary;
107 std::chrono::system_clock::time_point recorded_at;
114 std::vector<parent_entity_entry> entities;
122 std::vector<identifier_entry> identifiers;
130 std::vector<contact_entry> contacts;
166 ClientManager* cm,
const boost::uuids::uuid& entity_id)
const = 0;
178 ClientManager* cm,
const boost::uuids::uuid& entity_id)
const = 0;
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:29
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:192
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:109
Common result type for save and delete operations.
Definition EntityDetailOperations.hpp:35
Lightweight struct for populating parent entity combo boxes.
Definition EntityDetailOperations.hpp:43
Lightweight struct for populating identifier tables.
Definition EntityDetailOperations.hpp:54
boost::uuids::uuid owner_id
party_id or counterparty_id
Definition EntityDetailOperations.hpp:56
Lightweight struct for populating contact tables.
Definition EntityDetailOperations.hpp:67
boost::uuids::uuid owner_id
party_id or counterparty_id
Definition EntityDetailOperations.hpp:69
Common entity data extracted from party or counterparty types.
Definition EntityDetailOperations.hpp:90
std::optional< std::string > codename
Party-only field; immutable.
Definition EntityDetailOperations.hpp:96
std::optional< std::string > party_category
Party-only field.
Definition EntityDetailOperations.hpp:98
Result of loading all entities for hierarchy/parent combo.
Definition EntityDetailOperations.hpp:113
Result of loading identifiers for an entity.
Definition EntityDetailOperations.hpp:121
Result of loading contacts for an entity.
Definition EntityDetailOperations.hpp:129
Interface for entity-specific operations in the detail dialog.
Definition EntityDetailOperations.hpp:142
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