
package us.deans.incomeanalyser;

import java.text.DecimalFormat;

public class IncomeAnalyser_Model {

	private double hourly_rate;
	private String tax_form;
	private String filing_status;
	private String state;
	
	private double annual_gross;  // annual
	private double monthly_net; // monthly
	private double tax_rate;
	private double fed_income_tax;
	private double fed_ss_tax;
	private double fed_oasdi_tax;
	

	
	private IncomeAnalyser_Engine iaEngine;
	
	public IncomeAnalyser_Model(){
		
	}
	
	public void calculate(){
		
		iaEngine.calculate(this);
		
	}
	
	
	public void setHourlyRate(double hourly_rate){ this.hourly_rate = hourly_rate; }
	public void setTaxForm(String tax_form){ this.tax_form = tax_form; }
	public void setFilingStatus(String filing_status){ this.filing_status = filing_status; }
	public void setState(String state){	this.state = state; }
	
	public void setAnnualGross(double annual_gross){ this.annual_gross = annual_gross; }
	public void setMonthlyNet(double monthly_net) { this.monthly_net = monthly_net; }
	public void setTaxRate(double tax_rate) { this.tax_rate = tax_rate; }
	public void setFedIncomeTax(double fed_income_tax) { this.fed_income_tax = fed_income_tax; }
	public void setFedSSTax(double fed_ss_tax) { this.fed_ss_tax = fed_ss_tax; }
	public void setFedOASDITax(double fed_oasdi_tax) { this.fed_oasdi_tax = fed_oasdi_tax; }
	
	public void setIaEngine(IncomeAnalyser_Engine iaEngine){ this.iaEngine = iaEngine; }
	
	public double getHourlyRate(){ return this.hourly_rate; }
	public String getTaxForm(){ return this.tax_form; }
	public String getFilingStatus(){ return this.filing_status; }
	public String getState(){ return this.state; }
	
	public double getAnnualGross() { return this.annual_gross; }
	public double getMonthlyNet() { return this.monthly_net; }
	public double getTaxRate() { return this.tax_rate; }
	public double getFedIncomeTax() { return this.fed_income_tax; }
	public double getFedSSTax() { return this.fed_ss_tax; }
	public double getFedOASDITax() { return this.fed_oasdi_tax; }
	
	public String getStrAnnualGross(){
		DecimalFormat df = new DecimalFormat("#,###.00");
		return df.format(this.annual_gross);
	}
	
	public String getStrHourlyRate(){
		DecimalFormat df = new DecimalFormat("##");
		return df.format(this.hourly_rate);
	}
	
	public String getStrFedIncomeTax(){
		DecimalFormat df = new DecimalFormat("#,###.00");
		return df.format(this.fed_income_tax);
	}
	
	public String getStrFedSSTax(){
		DecimalFormat df = new DecimalFormat("#,###.00");
		return df.format(this.fed_ss_tax);
	}
	
	public String getStrFedOADSITax(){
		DecimalFormat df = new DecimalFormat("#,###.00");
		return df.format(this.fed_oasdi_tax);
	}
	
	public String getStrTaxRate(){
		DecimalFormat df = new DecimalFormat("##.00");
		return df.format(this.tax_rate);
	}
	
	public String getStrMonthlyNet(){
		DecimalFormat df = new DecimalFormat("#,###.00");
		return df.format(this.monthly_net);
	}
	

	
}
