// Chromis POS - The New Face of Open Source POS
// Copyright (c) (c) 2015-2016
// http://www.chromis.co.uk
//
// This file is part of Chromis POS
//
// Chromis POS is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Chromis POS is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Chromis POS. If not, see <http://www.gnu.org/licenses/>.
package uk.chromis.pos.customers;
import java.util.Date;
import uk.chromis.format.Formats;
import uk.chromis.pos.util.RoundUtils;
public class CustomerInfoExt extends CustomerInfo {
protected String taxcustomerid;
protected String notes;
protected boolean visible;
protected String card;
protected Double maxdebt;
protected Date curdate;
protected Double curdebt;
protected String firstname;
protected String lastname;
protected String email;
protected String phone;
protected String phone2;
protected String fax;
protected String address;
protected String address2;
protected String postal;
protected String city;
protected String region;
protected String country;
protected String image;
protected Date dob;
protected Double discount;
/**
* Creates a new instance of UserInfoBasic
*
* @param id
*/
public CustomerInfoExt(String id) {
super(id);
}
/**
*
* @return customer's tax category
*/
public String getTaxCustCategoryID() {
return taxcustomerid;
}
public void setTaxCustomerID(String taxcustomerid) {
this.taxcustomerid = taxcustomerid;
}
public String getNotes() {
return notes;
}
public void setNotes(String notes) {
this.notes = notes;
}
public boolean isVisible() {
return visible;
}
public void setVisible(boolean visible) {
this.visible = visible;
}
public String getCard() {
return card;
}
public void setCard(String card) {
this.card = card;
}
public Double getMaxdebt() {
return maxdebt;
}
public void setMaxdebt(Double maxdebt) {
this.maxdebt = maxdebt;
}
public String printMaxDebt() {
return Formats.CURRENCY.formatValue(RoundUtils.getValue(getMaxdebt()));
}
public Date getDoB() {
return dob;
}
public void setDoB(Date dob) {
this.dob = dob;
}
public Double getDiscount() {
return discount;
}
public void setDiscount(Double discount) {
this.discount = discount;
}
public String printDiscount() {
return Formats.PERCENT.formatValue(RoundUtils.getValue(getDiscount()));
}
public Date getCurdate() {
return curdate;
}
public void setCurdate(Date curdate) {
this.curdate = curdate;
}
public String printCurDate() {
return Formats.DATE.formatValue(getCurdate());
}
/**
*
* @return customer's current value of account
*/
public Double getCurdebt() {
return curdebt;
}
public void setCurdebt(Double curdebt) {
this.curdebt = curdebt;
}
public String printCurDebt() {
return Formats.CURRENCY.formatValue(RoundUtils.getValue(getCurdebt()));
}
/**
*
* @param amount
* @param d
*/
public void updateCurDebt(Double amount, Date d) {
curdebt = curdebt == null ? amount : curdebt + amount;
curdate = (new Date());
if (RoundUtils.compare(curdebt, 0.0) > 0) {
if (curdate == null) {
// new date
curdate = d;
}
} else if (RoundUtils.compare(curdebt, 0.0) == 0) {
curdebt = null;
curdate = null;
} else { // < 0
curdate = null;
}
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
@Override
public String getEmail() {
return email;
}
@Override
public void setEmail(String email) {
this.email = email;
}
@Override
public String getPhone() {
return phone;
}
@Override
public void setPhone(String phone) {
this.phone = phone;
}
public String getPhone2() {
return phone2;
}
public void setPhone2(String phone2) {
this.phone2 = phone2;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress2() {
return address2;
}
public void setAddress2(String address2) {
this.address2 = address2;
}
@Override
public String getPostal() {
return postal;
}
@Override
public void setPostal(String postal) {
this.postal = postal;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}