#include "Database.hpp" #include "Model/Database.hpp" #include "Model/Workflow/ValueInternals.hpp" #include TableKind DatabaseRowIdValue::GetTable() const { return mTable; } int64_t DatabaseRowIdValue::GetRowId() const { return mRowId; } bool DatabaseRowIdValue::IsInstance(const BaseValue* value) { return value->GetKind() == KD_DatabaseRowId; } DatabaseRowIdValue::DatabaseRowIdValue() : BaseValue(KD_DatabaseRowId) , mTable{ TableKind::Sales } , mRowId{ std::numeric_limits::max() } { } bool SaleDatabaseRowValue::IsInstance(const BaseValue* value) { return value->GetKind() == KD_SaleDatabaseRow; } SaleDatabaseRowValue::SaleDatabaseRowValue() : BaseObjectValue(KD_SaleDatabaseRow) { } const BaseValue* SaleDatabaseRowValue::GetProperty(int idx) const { switch (idx) { case 0: return &mCustomerName; case 1: return &mDeadline; case 2: return &mDeliveryTime; default: return nullptr; } } bool SaleDatabaseRowValue::SetProperty(int idx, std::unique_ptr value) { switch (idx) { case 0: return false; case 1: CHECK_VALUE_TYPE_AND_MOVE(DateTimeValue, mDeadline, value.get()); break; case 2: CHECK_VALUE_TYPE_AND_MOVE(DateTimeValue, mDeliveryTime, value.get()); break; } return true; } bool PurchaseDatabaseRowValue::IsInstance(const BaseValue* value) { return value->GetKind() == KD_PurchaseDatabaseRow; } PurchaseDatabaseRowValue::PurchaseDatabaseRowValue() : BaseObjectValue(KD_PurchaseDatabaseRow) { } const BaseValue* PurchaseDatabaseRowValue::GetProperty(int idx) const { switch (idx) { case 0: return &mFactoryName; case 1: return &mOrderTime; case 2: return &mDeliveryTime; default: return nullptr; } } bool PurchaseDatabaseRowValue::SetProperty(int idx, std::unique_ptr value) { switch (idx) { case 0: return false; case 1: CHECK_VALUE_TYPE_AND_MOVE(DateTimeValue, mOrderTime, value.get()); break; case 2: CHECK_VALUE_TYPE_AND_MOVE(DateTimeValue, mDeliveryTime, value.get()); break; } return true; }