/*******************************************************************************
* Copyright (c) 2005-2010, G. Weirich and Elexis
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* G. Weirich - initial implementation
*
*******************************************************************************/
package ch.elexis.data;
import ch.elexis.core.constants.StringConstants;
import ch.rgw.tools.JdbcLink;
/**
* Ein Mandant ist ein Anwender (und damit eine Person und damit ein Kontakt), der zusätzlich eigene
* Abrechnungen führt.
*
* @author gerry
*
*/
public class Mandant extends Anwender {
public static final String BILLER = "Rechnungssteller";
static {
addMapping(Kontakt.TABLENAME, FLD_EXTINFO, FLD_IS_MANDATOR, "Label=Bezeichnung3");
}
public boolean isValid(){
if (get(FLD_IS_MANDATOR).equals(StringConstants.ZERO)) {
return false;
}
return super.isValid();
}
public Rechnungssteller getRechnungssteller(){
Rechnungssteller ret = Rechnungssteller.load(getInfoString(BILLER));
return ret.isValid() ? ret : Rechnungssteller.load(getId());
}
public void setRechnungssteller(Kontakt rs){
setInfoElement(BILLER, rs.getId());
}
protected Mandant(String id){
super(id);
}
public Mandant(final String Name, final String Vorname, final String Geburtsdatum,
final String s){
super(Name, Vorname, Geburtsdatum, s);
}
protected Mandant(){/* leer */}
public static Mandant load(String id){
Mandant ret = new Mandant(id);
return ret;
}
public Mandant(String name, String pwd){
super(name, pwd, true);
}
protected String getConstraint(){
return new StringBuilder(FLD_IS_MANDATOR).append(Query.EQUALS)
.append(JdbcLink.wrap(StringConstants.ONE)).toString();
}
@Override
protected void setConstraint(){
set(new String[] {
FLD_IS_MANDATOR, FLD_IS_USER
}, new String[] {
StringConstants.ONE, StringConstants.ONE
});
}
public String getMandantLabel(){
return getName() + " " + getVorname() + " (" + getLabel() + ")";
}
@Override
protected String getTableName(){
return Kontakt.TABLENAME;
}
}