1 /***************************************************************************
2              material  -
3                              -------------------
4     begin                : 2004-05-05
5     copyright            : (C) 2004 by Klaas Freitag
6     email                : freitag@kde.org
7  ***************************************************************************/
8 
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17 
18 // include files for Qt
19 #include <QString>
20 #include <QDate>
21 
22 // include files for KDE
23 #include <QDebug>
24 #include <kcontacts/addressee.h>
25 
26 #include "stockmaterial.h"
27 #include "unitmanager.h"
28 #include "materialsaverbase.h"
29 #include "materialsaverdb.h"
30 #include "defaultprovider.h"
31 #include "format.h"
32 #include "kraftsettings.h"
33 
StockMaterial()34 StockMaterial::StockMaterial( ):
35     CatalogTemplate(),
36   m_amount( 0 ),
37   m_dbid( -1 )
38 {
39 
40 }
41 
StockMaterial(int dbid,int matChap,QString mat,int unitID,double perPack,Geld pIn,Geld pOut)42 StockMaterial::StockMaterial( int dbid, int matChap, QString mat, int unitID,
43                               double perPack, Geld pIn, Geld pOut ):
44     CatalogTemplate(),
45     m_chapter(matChap),
46     m_amount(perPack),
47     m_dbid(dbid),
48     m_ePrice(pIn),
49     m_vPrice(pOut)
50 {
51     this->setUnitId(unitID);
52     this->setText(mat);
53 }
54 
~StockMaterial()55 StockMaterial::~StockMaterial( )
56 {
57 
58 }
59 
getSaver()60 MaterialSaverBase* StockMaterial::getSaver()
61 {
62   return MaterialSaverDB::self();
63 }
64 
save()65 bool StockMaterial::save()
66 {
67   MaterialSaverBase *saver = getSaver();
68   if ( saver ) {
69     saver->saveTemplate( this );
70     return true;
71   }
72   return false;
73 }
74 
75 #if 0
76 QString StockMaterial::description() const
77 {
78     return m_descr;
79 }
80 
81 void StockMaterial::setDescription( const QString& str )
82 {
83   m_descr = str;
84 }
85 #endif
86 
getAmountPerPack()87 double StockMaterial::getAmountPerPack()
88 {
89     return m_amount;
90 }
91 
setAmountPerPack(double am)92 void StockMaterial::setAmountPerPack( double am )
93 {
94     m_amount = am;
95 }
96 
getID()97 int StockMaterial::getID()
98 {
99     return m_dbid;
100 }
101 
setID(int id)102 void StockMaterial::setID( int id )
103 {
104     m_dbid = id;
105 }
106 
getSupplier()107 KContacts::Addressee StockMaterial::getSupplier()
108 {
109     KContacts::Addressee a;
110     return a;
111 }
112 
setSupplier(KContacts::Addressee * a)113 void StockMaterial::setSupplier( KContacts::Addressee *a )
114 {
115     if( a )
116         m_delivererUID = a->uid();
117 }
118 
purchPrice()119 Geld StockMaterial::purchPrice()
120 {
121     return m_ePrice;
122 }
123 
salesPrice()124 Geld StockMaterial::salesPrice()
125 {
126     return m_vPrice;
127 }
128 
unitPrice()129 Geld StockMaterial::unitPrice()
130 {
131   return salesPrice() / m_amount;
132 }
133 
setPurchPrice(Geld g)134 void StockMaterial::setPurchPrice( Geld g )
135 {
136     m_ePrice = g;
137 }
138 
setSalesPrice(Geld g)139 void StockMaterial::setSalesPrice( Geld g )
140 {
141     m_vPrice = g;
142 }
143 
setLastModified(QDate dt)144 void StockMaterial::setLastModified( QDate dt )
145 {
146   mLastModified = dt;
147 }
148 
setEnterDate(QDate dt)149 void StockMaterial::setEnterDate( QDate dt )
150 {
151   mEnteredDate = dt;
152 }
153 
lastModified()154 QString StockMaterial::lastModified()
155 {
156   return Format::toDateString( mLastModified, KraftSettings::self()->dateFormat());
157 }
158 
entered()159 QString StockMaterial::entered()
160 {
161   return Format::toDateString( mEnteredDate, KraftSettings::self()->dateFormat() );
162 }
163 
saveChapterId()164 void StockMaterial::saveChapterId()
165 {
166   MaterialSaverBase *saver = getSaver();
167   if( saver ) {
168     saver->saveTemplateChapter( this );
169   }
170 }
171 
172 
173 /* END */
174 
175