public function actionDetails($id)
 {
     $visit = Visits::model()->findByPk($id);
     $visit_sql = "SELECT d.solicitor_id,d.user_id,d.visit_id,s.first_name,s.last_name,v.visit_code, CASE WHEN v.status = 1 THEN 'Yes' ELSE 'No' END AS visit_active, v.start_date,v.end_date, SUM( d.amount ) AS amount FROM `user_donation` d LEFT JOIN visits v ON d.visit_id = v.id LEFT JOIN solicitor s ON d.solicitor_id = s.id WHERE d.visit_id = '{$id}' GROUP BY d.visit_id";
     $visits = BaseModel::executeSimpleQuery($visit_sql);
     // pre($visits,true);
     $donation = new Donation('users');
     $donation->unsetAttributes();
     $payments = new SolicitorCredit('solicitor');
     $payments->unsetAttributes();
     $this->render('donations', array('visit' => $visit->visit_code, 'visits' => $visits, 'donation' => $donation, 'payments' => $payments));
 }
	public function actionIndex()
	{
		$users = new Users('search');
		$users->unsetAttributes();

		$solicitors = new Solicitor('search');
		$solicitors->unsetAttributes();

		$donations = new Donation('search');
		$donations->unsetAttributes();

		$payments = new SolicitorCredit('search');
		$payments->unsetAttributes();

		$user = Users::model()->count();
		$solicitor = Solicitor::model()->count();

		$donation = BaseModel::getAll("Donation");
		$t_donation = 0;
		foreach($donation as $d){
			$t_donation = $t_donation + $d->amount;
		}

		$debit = BaseModel::getAll("SolicitorCredit");
		$t_debit = 0;
		foreach ($debit as $d) {
			$t_debit = $t_debit + $d->amount;
		}

		$this->render('index',array(
									'users'=>$users,
									'solicitors'=>$solicitors,
									'donations'=>$donations,
									'payments'=>$payments,
									'user' => $user,
									'solicitor' => $solicitor,
									't_donation' => $t_donation,
									't_debit' => $t_debit
									));
	}
     public function actionTransaction($id) {
        $user_id = $id;
        $user = Users::model()->findByPk($id);
        
        $sql = "SELECT id, COALESCE(SUM(credit),0) - COALESCE(SUM(debit),0) AS balance from user_trans where user_id = '" . $id . "'";
        $result = BaseModel::executeSimpleQueryFirstRow($sql);
        if(!empty($result['balance']))
        {    
            $balance = $result['balance'];
        }
        else
        {
            $balance = 0;
        }

        $c_sql = "SELECT SUM(credit) AS credited FROM user_trans WHERE credit IS NOT NULL AND user_id = '$id'";
        $c_result = BaseModel::executeSimpleQueryFirstRow($c_sql);
        if(empty($c_result['credited'])){
            $credit = 0;
        } else {
            $credit = $c_result['credited'];
        }
        $d_sql = "SELECT SUM(debit) AS debited FROM user_trans WHERE debit IS NOT NULL AND user_id = '$id'";
        $d_result = BaseModel::executeSimpleQueryFirstRow($d_sql);
        if(empty($d_result['debited'])){
            $debit = 0;
        } else {
            $debit = $d_result['debited'];
        }
        
        $donations = new Donation('users');
        $donations->unsetAttributes();

        $payments = new UserCredit('users');
        $payments->unsetAttributes();

        $logs = new Log('users');
        $logs->unsetAttributes();

        $this->render('transaction', array(
            'user' => $user,
            'balance' => $balance,
            'credit' => $credit,
            'debit' => $debit,
            'donations' => $donations,
            'payments' => $payments,
            'logs' => $logs
        ));
    }
 public function actionDonations($id)
 {
     $visit_sql = "SELECT d.user_id,d.visit_id,s.first_name,s.last_name,v.visit_code, CASE WHEN v.status = 1 THEN 'Yes' ELSE 'No' END AS visit_active, v.start_date,v.end_date, SUM( d.amount ) AS amount FROM `user_donation` d LEFT JOIN visits v ON d.visit_id = v.id LEFT JOIN solicitor s ON d.solicitor_id = s.id WHERE s.id = '{$id}' GROUP BY d.visit_id ORDER BY d.date_entered DESC";
     $visits = BaseModel::executeSimpleQuery($visit_sql);
     $c_sql = "SELECT SUM(amount) AS amount FROM solicitor_credit WHERE solicitor_id = '{$id}'";
     $c_result = BaseModel::executeSimpleQueryFirstRow($c_sql);
     if ($c_result === null) {
         $amount = 0;
     } else {
         $amount = $c_result['amount'];
     }
     $d_sql = "SELECT SUM(amount) AS amount FROM user_donation WHERE solicitor_id = '{$id}'";
     $d_result = BaseModel::executeSimpleQueryFirstRow($d_sql);
     if ($d_result === null) {
         $damount = 0;
     } else {
         $damount = $d_result['amount'];
     }
     $solicitor = Solicitor::model()->findByPk($id);
     $donation = new Donation('users');
     $donation->unsetAttributes();
     $payments = new SolicitorCredit('solicitor');
     $payments->unsetAttributes();
     $this->render('donations', array('visits' => $visits, 'donation' => $donation, 'solicitor' => $solicitor, 'amount' => $amount, 'damount' => $damount, 'payments' => $payments));
 }
 /**
  * Manages all models.
  */
 public function actionManage()
 {
     $model = new Donation('search');
     $users_lists = BaseModel::getAll('Users');
     $users = array();
     foreach ($users_lists as $user) {
         $users[$user->id] = $user->first_name . ' ' . $user->last_name . '(' . $user->username . ')';
     }
     // $users = CHtml::listData(BaseModel::getAll('Users'),'id','username');
     $lists = BaseModel::getAll('Solicitor');
     $solicitors = array();
     foreach ($lists as $list) {
         $solicitors[$list->id] = $list->first_name . ' ' . $list->last_name . '(' . $list->solicitor_code . ')';
     }
     $visits = CHtml::listData(BaseModel::getAll('Visits'), 'id', 'visit_code');
     $model->unsetAttributes();
     // clear any default values
     if (isset($_GET['Donation'])) {
         $model->attributes = $_GET['Donation'];
     }
     $this->render('admin', array('model' => $model, 'users' => $users, 'solicitors' => $solicitors, 'visits' => $visits));
 }