1 #line 2 "src/Dbo/Vars.cpp"
3 #include <Wt/Json/Parser.h>
4 #include <Wt/Json/Object.h>
5 #include <Wt/Json/Serializer.h>
26 Wt::WString(
"\"keyField\" = '{1}'" )
31 if( _cfyValue !=
"*" )
33 Wt::WString(
" AND \"cfyField\" = '{1}'" )
42 Wt::Dbo::Transaction t(
GCW::app()-> gnucashew_session() );
60 retVal.modify()-> setKeyField( _keyValue );
62 if( _cfyValue !=
"*" )
63 retVal.modify()-> setCfyField( _cfyValue );
79 Wt::Dbo::Transaction t(
GCW::app()-> gnucashew_session() );
82 .where(
"\"cfyField\" = '" + _cfyValue +
"'" )
86 for(
auto item : items )
87 retVal.push_back( item );
95 getVarString(
const std::string & _field )
const-> std::string
101 Wt::Json::Object jobj;
103 Wt::Json::parse(
varField(), jobj );
105 catch( std::exception & e )
107 std::cout << __FILE__ <<
":" << __LINE__ <<
" id:" << this->
id() <<
" " << e.what() << std::endl;
110 retVal = jobj.get( _field ).orIfNull(
"");
120 getVarInt(
const std::string & _field )
const->
int
126 Wt::Json::Object jobj;
128 Wt::Json::parse(
varField(), jobj );
130 catch( std::exception & e )
132 std::cout << __FILE__ <<
":" << __LINE__ <<
" id:" << this->
id() <<
" " << e.what() << std::endl;
135 retVal = jobj.get( _field ).orIfNull( 0 );
145 setVar(
const std::string & _field,
const char * _value )->
void
147 setVar( _field, std::string( _value ) );
153 setVar(
const std::string & _field,
const Wt::WString & _value )->
void
155 setVar( _field, _value.toUTF8() );
161 setVar(
const std::string & _field,
const std::string & _value )->
void
171 Wt::Json::Object jobj;
173 Wt::Json::parse(
varField(), jobj );
176 catch( std::exception & e )
178 std::cout << __FILE__ <<
":" << __LINE__ <<
" id:" << this->
id() <<
" " << e.what() << std::endl;
181 jobj[_field] = Wt::WString( _value );
183 setVarField( Wt::Json::serialize( jobj ) );
189 setVar(
const std::string & _field,
int _value )->
void
199 Wt::Json::Object jobj;
201 Wt::Json::parse(
varField(), jobj );
203 catch( std::exception & e )
205 std::cout << __FILE__ <<
":" << __LINE__ <<
" id:" << this->
id() <<
" " << e.what() << std::endl;
208 jobj[_field] = _value;
210 setVarField( Wt::Json::serialize( jobj ) );
std::vector< Ptr > Vector
int getVarInt(const std::string &_field) const
void setVar(const std::string &_field, const char *_value)
std::string getVarString(const std::string &_field) const
const Wt::WFormModel::Field id
Wt::WFormModel::Field varField
auto getByCfy(const std::string &_cfyValue) -> GCW::Dbo::Vars::Item::Vector
auto get(const std::string &_keyValue, const std::string &_cfyValue="*", bool _add=true) -> GCW::Dbo::Vars::Item::Ptr