Wtx ~ Wt Extension Library
WtxLib
Template.h
1 /**************************************************************************
2 ###########################################################################
3 ##
4 ## $SHOWOFFDB_BEGIN_LICENSE$
5 ## Copyright (C) 2011 Lorimark Solutions, LLC and/or its subsidiary(-ies).
6 ## All rights reserved.
7 ## Contact: Lorimark Solutions, LLC (info@showoff-db.org)
8 ##
9 ## This file is part of the Showoff Database Application Framework.
10 ##
11 ## Commercial Usage
12 ## Licensees holding valid ShowoffDB Commercial licenses may use this file in
13 ## accordance with the ShowoffDB Commercial License Agreement provided with the
14 ## Software or, alternatively, in accordance with the terms contained in
15 ## a written agreement between you and Lorimark Solutions, LLC.
16 ##
17 ## GNU Lesser General Public License Usage
18 ## Alternatively, this file may be used under the terms of the GNU Lesser
19 ## General Public License version 2.1 as published by the Free Software
20 ## Foundation and appearing in the file LICENSE.LGPL included in the
21 ## packaging of this file. Please review the following information to
22 ## ensure the GNU Lesser General Public License version 2.1 requirements
23 ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 ##
25 ## In addition, as a special exception, Lorimark Solutions, LLC gives
26 ## you certain additional rights. These rights are described in the
27 ## Lorimark Solutions, LLC ShowoffDB LGPL Exception version 1.0, included in
28 ## the file LGPL_EXCEPTION.txt in this package.
29 ##
30 ## GNU General Public License Usage
31 ## Alternatively, this file may be used under the terms of the GNU
32 ## General Public License version 3.0 as published by the Free Software
33 ## Foundation and appearing in the file LICENSE.GPL included in the
34 ## packaging of this file. Please review the following information to
35 ## ensure the GNU General Public License version 3.0 requirements will be
36 ## met: http://www.gnu.org/copyleft/gpl.html.
37 ##
38 ## If you have questions regarding the use of this file, please contact
39 ## Lorimark Solutions, LLC at info@showoff-db.org.
40 ## $SHOWOFFDB_END_LICENSE$
41 ##
42 #############################################################################
43 ****************************************************************************/
44 
45 
46 #ifndef __WTX_CRM_COMPANY_TEMPLATE_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 #define __WTX_CRM_COMPANY_TEMPLATE_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
48 
49 #include <Wtx/Dbo/PermissionItemTpl.h>
50 #include "Definition.h"
51 
52 namespace Wtx {
53  namespace Crm {
54  namespace Company {
55 
56 template <class C> class Template
58 {
59  public:
60 
61  Template( const std::string keyField = "" )
62  : Wtx::Dbo::PermissionItemTpl<C>( keyField )
63  {
64  }
65 
66  Template( const std::string & key, const std::string & cfy )
67  : Wtx::Dbo::PermissionItemTpl<C>( key, cfy )
68  {
69  }
70 
71  Template( const Wtx::Crm::Company::Template<C> & other )
72  : Wtx::Dbo::PermissionItemTpl<C>( other.keyField().value(), other.cfyField().value() )
73  {
74  }
75 
76  virtual ~Template()
77  {
78  }
79 
80 
81  static Definition & TableDef()
82  {
83  return C::TableDef();
84  }
85 
86  Wtx::Dbo::Field<std::string> companyName;
87  Wtx::Dbo::Field<std::string> contactName;
89 
90  Wtx::Dbo::Field<std::string> accountNote;
91  Wtx::Dbo::Field<Wt::WDate> activityDate;
92  Wtx::Dbo::Field<Wt::WDate> activeFrom;
94 
112  Wtx::Dbo::Field<std::string> m_contactPhone;
114  Wtx::Dbo::Field<std::string> m_buyerPhone;
116  Wtx::Dbo::Field<int> m_expAdj;
117  Wtx::Dbo::Field<bool> m_catchWt;
118  Wtx::Dbo::Field<int> m_chargeMin;
119  Wtx::Dbo::Field<int> m_chargeDiffDays;
120  Wtx::Dbo::Field<int> m_chargeLtDays;
121  Wtx::Dbo::Field<int> m_chargeStart;
122  Wtx::Dbo::Field<float> m_chargeMinInvChgIn;
123  Wtx::Dbo::Field<float> m_chargeMinInvChgOut;
124 
125 
126  template<class Action> void persist( Action & a )
127  {
129  companyName.persist( a, &TableDef().CompanyNameFieldDef );
130  contactName.persist( a, &TableDef().ContactNameFieldDef );
131  mainPhone.persist( a, &TableDef().MainPhoneFieldDef );
132 
133  accountNote .persist( a, &TableDef().AccountNoteFieldDef );
134  activityDate .persist( a, &TableDef().ActivityDateFieldDef );
135  activeFrom .persist( a, &TableDef().ActiveFromFieldDef );
136  activeTo .persist( a, &TableDef().ActiveToFieldDef );
137 
138  m_custType .persist( a, &TableDef().CustTypeFieldDef );
139  m_note .persist( a, &TableDef().NoteFieldDef );
140  m_notes .persist( a, &TableDef().NotesFieldDef );
141  m_phone1 .persist( a, &TableDef().Phone1FieldDef );
142  m_phone2 .persist( a, &TableDef().Phone2FieldDef );
143  m_addr .persist( a, &TableDef().AddrFieldDef );
144  m_addr2 .persist( a, &TableDef().Addr2FieldDef );
145  m_fax .persist( a, &TableDef().FaxFieldDef );
146  m_terms .persist( a, &TableDef().TermsFieldDef );
147  m_city .persist( a, &TableDef().CityFieldDef );
148  m_state .persist( a, &TableDef().StateFieldDef );
149  m_zip .persist( a, &TableDef().ZipFieldDef );
150  m_country .persist( a, &TableDef().CountryFieldDef );
151  m_payor .persist( a, &TableDef().PayorFieldDef );
152  m_carrier .persist( a, &TableDef().CarrierFieldDef );
153  m_email .persist( a, &TableDef().EmailFieldDef );
154  m_contact .persist( a, &TableDef().ContactFieldDef );
155  m_contactPhone .persist( a, &TableDef().ContactPhoneFieldDef );
156  m_buyer .persist( a, &TableDef().BuyerFieldDef );
157  m_buyerPhone .persist( a, &TableDef().BuyerPhoneFieldDef );
158  m_memo .persist( a, &TableDef().MemoFieldDef );
159  m_expAdj .persist( a, &TableDef().ExpAdjFieldDef );
160  m_catchWt .persist( a, &TableDef().CatchWtFieldDef );
161  m_chargeMin .persist( a, &TableDef().ChargeMinFieldDef );
162  m_chargeDiffDays .persist( a, &TableDef().ChargeDiffDaysFieldDef );
163  m_chargeLtDays .persist( a, &TableDef().ChargeLtDaysFieldDef );
164  m_chargeStart .persist( a, &TableDef().ChargeStartFieldDef );
165  m_chargeMinInvChgIn .persist( a, &TableDef().ChargeMinInvChgInFieldDef );
166  m_chargeMinInvChgOut .persist( a, &TableDef().ChargeMinInvChgOutFieldDef );
167 
168  }
169 
170  private:
171 
172 };
173 
174  } // endnamespace Company
175  } // endnamespace Crm
176 } // endnamespace Wtx
177 
178 #endif // __WTX_CRM_COMPANY_TEMPLATE_H___
179 
witty extension library
Definition: Activity.h:51