function getAmountSumByUserIdAndEntryNameIdAndStartDateAndEndDate($id, $entry_name_id, $start_date = NULL, $end_date = NULL, $exclude_id = NULL, $where = NULL, $order = NULL)
    {
        if ($id == '') {
            return FALSE;
        }
        if ($entry_name_id == '') {
            return FALSE;
        }
        if ($start_date == '') {
            $start_date = 0;
        }
        if ($end_date == '') {
            $end_date = TTDate::getTime();
        }
        $pplf = new PayPeriodListFactory();
        $pslf = new PayStubListFactory();
        $ph = array('start_date' => $this->db->BindTimeStamp($start_date), 'end_date' => $this->db->BindTimeStamp($end_date), 'user_id' => $id, 'exclude_id' => (int) $exclude_id);
        $query = '
					select 	sum(amount) as amount, sum(units) as units
					from	' . $this->getTable() . ' as a,
							' . $pslf->getTable() . ' as b
					where	a.pay_stub_id = b.id
						AND b.pay_period_id in (select id from ' . $pplf->getTable() . ' as y
													where y.pay_period_schedule_id = ( select pay_period_schedule_id from ' . $pplf->getTable() . ' as z where z.id = b.pay_period_id ) AND y.start_date >= ? AND y.start_date < ? and y.deleted =0)
						AND b.user_id = ?
						AND a.id != ?
						AND	a.pay_stub_entry_name_id in (' . $this->getListSQL($entry_name_id, $ph) . ')
						AND a.deleted = 0
						AND b.deleted=0
				';
        $query .= $this->getWhereSQL($where);
        $query .= $this->getSortSQL($order);
        Debug::Text('Query: ' . $query, __FILE__, __LINE__, __METHOD__, 10);
        $row = $this->db->GetRow($query, $ph);
        if ($row['amount'] === NULL) {
            $row['amount'] = 0;
        }
        if ($row['units'] === NULL) {
            $row['units'] = 0;
        }
        Debug::text('Over All Sum for ' . $entry_name_id . ': Amount ' . $row['amount'] . ' Units: ' . $row['units'], __FILE__, __LINE__, __METHOD__, 10);
        return $row;
    }