/
farado
/
farado-binara
Обзор
Документация
Войти
/
farado
/
farado-binara
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
src/common/elements/item_user_state.cpp
115 строк
2 KB
Ostapenko Alexey
[common][datenaro][tests] Добавлена сущность предметной области: ItemUserState.
03 апр 2024, 18:03
03 апр 2024, 18:03
11a294e
Код
Авторство
О чём код?
#include <mutex> #include "common/more/time.h" #include "item_user_state.h" namespace Elements { ItemUserState::ItemUserState(const ItemUserState& other) : Element(other) , m_itemId(other.m_itemId) , m_userId(other.m_userId) , m_stateId(other.m_stateId) , m_timestamp(other.m_timestamp) { } bool ItemUserState::isSame(Element* const other) const { const auto otherElement = dynamic_cast<ItemUserState const*>(other); if (nullptr == otherElement) return false; return bool( m_id == otherElement->m_id && m_itemId == otherElement->m_itemId && m_userId == otherElement->m_userId && m_stateId == otherElement->m_stateId && m_timestamp == otherElement->m_timestamp ); } Common::Json ItemUserState::toJson() const { std::shared_lock locker(m_lock); Common::Json result; result["id"] = m_id; result["elementType"] = unsigned(elementType()); result["itemId"] = m_itemId; result["userId"] = m_userId; result["stateId"] = m_stateId; result["timestamp"] = m_timestamp; return result; } void ItemUserState::fromJson(const Common::Json& json) { std::shared_lock locker(m_lock); m_id = json["id"].get<unsigned>(); m_itemId = json["itemId"].get<unsigned>(); m_userId = json["userId"].get<unsigned>(); m_stateId = json["stateId"].get<unsigned>(); m_timestamp = json["timestamp"].get<std::time_t>(); } Element* ItemUserState::clone() const { return new ItemUserState(*this); } ElementType ItemUserState::elementType() const { return ElementType::ItemUserState; } unsigned ItemUserState::itemId() const { std::shared_lock locker(m_lock); return m_itemId; } void ItemUserState::setItemId(unsigned value) { std::unique_lock locker(m_lock); m_itemId = value; } unsigned ItemUserState::userId() const { std::shared_lock locker(m_lock); return m_userId; } void ItemUserState::setUserId(unsigned value) { std::unique_lock locker(m_lock); m_userId = value; } unsigned ItemUserState::stateId() const { std::shared_lock locker(m_lock); return m_stateId; } void ItemUserState::setStateId(unsigned value) { std::unique_lock locker(m_lock); m_stateId = value; } std::time_t ItemUserState::timestamp() const { std::shared_lock locker(m_lock); return m_timestamp; } void ItemUserState::setTimestamp(const std::time_t& value) { std::unique_lock locker(m_lock); m_timestamp = value; } } // namespace Elements