<?php
	/**
	 * AiccOrgUserManager.php
	 *
	 * Description	: A Simple Getter/Setter Bin Class
	 *
	 * Developed By : Suresh Shinde
	 *
	 * Developed On : 07 June, 2010
	 *
	 * Liscence 	: GPL
	 *
	 * Created On 	: 16/11/2011 01:34:50
	 *
	 * Created By 	: Mrunal Malusare
	 *
	 */

	/**
	 * Include BIN (Getters & Setters) Class
	 */
	require_once(dirname(__FILE__)."/AiccOrgUser.php");

	/**
	 * Include Exception Class
	 */
	require_once(dirname(__FILE__)."/AiccOrgUserException.php");

	/**
	 * Start of class AiccOrgUserManager
	 */
	class AiccOrgUserManager
	{
		/**
		 * Add AiccOrgUser
		 */
		function addAiccOrgUser ($AiccOrgUser)
		{
			try
			{
				$conn	= new ConnectionPool();

				 $sql	=
					"INSERT INTO tcv_aicc_org_user
					 (
						aicc_user_id,
						org_user_id,
						aicc_org_id,
						username,
						fname,
						lname,
						email,
						birthday,
						identifier,
						test_condition,
						gender,
						eye_tested,
						other_text,
						age,
						status,
						create_date,
						created_by,
						update_date,
						updated_by
					 )
					 VALUES
					 (
						'".addslashes($AiccOrgUser->getAiccUserId())."',
						'".addslashes($AiccOrgUser->getOrgUserId())."',
						'".addslashes($AiccOrgUser->getAiccOrgId())."',
						'".addslashes($AiccOrgUser->getUsername())."',
						'".addslashes($AiccOrgUser->getFname())."',
						'".addslashes($AiccOrgUser->getLname())."',
						'".addslashes($AiccOrgUser->getEmail())."',
						'".addslashes($AiccOrgUser->getBirthday())."',
						'".addslashes($AiccOrgUser->getIdentifier())."',
						'".addslashes($AiccOrgUser->getTestCondition())."',
						'".addslashes($AiccOrgUser->getGender())."',						
						'".addslashes($AiccOrgUser->getEyeTested())."',
						'".addslashes($AiccOrgUser->getOtherText())."',
						'".addslashes($AiccOrgUser->getAge())."',
						'".addslashes($AiccOrgUser->getStatus())."',
						'".addslashes($AiccOrgUser->getCreateDate())."',
						'".addslashes($AiccOrgUser->getCreatedBy())."',
						'".addslashes($AiccOrgUser->getUpdateDate())."',
						'".addslashes($AiccOrgUser->getUpdatedBy())."'
					 )
					";
echo $sql; exit;
				if(!$conn->db_query($sql))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
				}
				else
				{
					return $conn->db_last_insert_id();
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}


		/**
		 * Update AiccOrgUser
		 */
		function updateAiccOrgUser ($AiccOrgUser)
		{
			try
			{
				$conn	= new ConnectionPool();

				$sql	=
					"UPDATE tcv_aicc_org_user
					 SET
						org_user_id = '".addslashes($AiccOrgUser->getOrgUserId())."',
						aicc_org_id = '".addslashes($AiccOrgUser->getAiccOrgId())."',
						username = '".addslashes($AiccOrgUser->getUsername())."',
						fname = '".addslashes($AiccOrgUser->getFname())."',
						lname = '".addslashes($AiccOrgUser->getLname())."',
						email = '".addslashes($AiccOrgUser->getEmail())."',
						birthday = '".addslashes($AiccOrgUser->getBirthday())."',
						identifier = '".addslashes($AiccOrgUser->getIdentifier())."',
						test_condition = '".addslashes($AiccOrgUser->getTestCondition())."',
						gender = '".addslashes($AiccOrgUser->getGender())."',
						age = '".addslashes($AiccOrgUser->getAge())."',
						eye_tested = '".addslashes($AiccOrgUser->getEyeTested())."',
						other_text = '".addslashes($AiccOrgUser->getOtherText())."',
						status = '".addslashes($AiccOrgUser->getStatus())."',
						create_date = '".addslashes($AiccOrgUser->getCreateDate())."',
						created_by = '".addslashes($AiccOrgUser->getCreatedBy())."',
						update_date = '".addslashes($AiccOrgUser->getUpdateDate())."',
						updated_by = '".addslashes($AiccOrgUser->getUpdatedBy())."'
   					 WHERE aicc_user_id = '".$AiccOrgUser->getAiccUserId()."'
					";

				if(!$conn->db_query($sql))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}


		/**
		 * Delete AiccOrgUser
		 */
		function deleteAiccOrgUser ($AiccUserId)
		{
			try
			{
				$conn	= new ConnectionPool();

				$sql	=
					"DELETE FROM tcv_aicc_org_user
   					 WHERE aicc_user_id = $AiccUserId
					";

				if(!$conn->db_query($sql))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}
		
		
		/**
		 * Created by : Mrunal M on 1 Dec 11
		 * Description : Get Single AICC User details
		 */
		function getSingleAiccUserWhere ($where_clause)
		{
			try
			{
				$conn	= new ConnectionPool();

				$sql	=
					"SELECT *
					 FROM tcv_aicc_org_user
					 WHERE $where_clause
					";
				
				$result	= $conn->db_query($sql);

				if((!$result) || ($conn->db_num_rows($result) == 0))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
					return array();
				}
				else
				{
					$row = $conn->db_fetch_object($result);

					$arr = new AiccOrgUser();

					$arr->setAiccUserId(stripslashes($row->aicc_user_id));
					$arr->setOrgUserId(stripslashes($row->org_user_id));
					$arr->setAiccOrgId(stripslashes($row->aicc_org_id));
					$arr->setUsername(stripslashes($row->username));
					$arr->setFname(stripslashes($row->fname));
					$arr->setLname(stripslashes($row->lname));
					$arr->setEmail(stripslashes($row->email));
					$arr->setBirthday(stripslashes($row->birthday));
					$arr->setIdentifier(stripslashes($row->identifier));
					$arr->setTestCondition(stripslashes($row->test_condition));
					$arr->setGender(stripslashes($row->gender));
					$arr->setAge(stripslashes($row->age));
					$arr->setEyeTested(stripslashes($row->eye_tested));
					$arr->setOtherText(stripslashes($row->other_text));
					$arr->setStatus(stripslashes($row->status));
					$arr->setCreateDate(stripslashes($row->create_date));
					$arr->setCreatedBy(stripslashes($row->created_by));
					$arr->setUpdateDate(stripslashes($row->update_date));
					$arr->setUpdatedBy(stripslashes($row->updated_by));

					return $arr;
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}

		/**
		 * Get Single AiccOrgUser
		 */
		function getSingleAiccOrgUser ($aicc_user_id)
		{
			try
			{
				$conn	= new ConnectionPool();

				$sql	=
					"SELECT *
					 FROM tcv_aicc_org_user
					 WHERE aicc_user_id = $aicc_user_id
					";

				$result	= $conn->db_query($sql);

				if((!$result) || ($conn->db_num_rows($result) == 0))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
					return array();
				}
				else
				{
					$row = $conn->db_fetch_object($result);

					$arr = new AiccOrgUser();

					$arr->setAiccUserId(stripslashes($row->aicc_user_id));
					$arr->setOrgUserId(stripslashes($row->org_user_id));
					$arr->setAiccOrgId(stripslashes($row->aicc_org_id));
					$arr->setUsername(stripslashes($row->username));
					$arr->setFname(stripslashes($row->fname));
					$arr->setLname(stripslashes($row->lname));
					$arr->setEmail(stripslashes($row->email));
					$arr->setBirthday(stripslashes($row->birthday));
					$arr->setIdentifier(stripslashes($row->identifier));
					$arr->setTestCondition(stripslashes($row->test_condition));
					$arr->setGender(stripslashes($row->gender));
					$arr->setAge(stripslashes($row->age));
					$arr->setEyeTested(stripslashes($row->eye_tested));
					$arr->setOtherText(stripslashes($row->other_text));
					$arr->setStatus(stripslashes($row->status));
					$arr->setCreateDate(stripslashes($row->create_date));
					$arr->setCreatedBy(stripslashes($row->created_by));
					$arr->setUpdateDate(stripslashes($row->update_date));
					$arr->setUpdatedBy(stripslashes($row->updated_by));

					return $arr;
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}


		/**
		 * Get All AiccOrgUser
		 */
		function getAllAiccOrgUser ($where_clause = NULL)
		{
			try
			{
				$conn 	= new ConnectionPool();

				$sql 	=
							"	SELECT *
								FROM tcv_aicc_org_user";

				if($where_clause != NULL)
					$sql .= " WHERE ".$where_clause;

				$result	= $conn->db_query($sql);

				if((!$result) || ($conn->db_num_rows($result) == 0))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
					return array();
				}
				else
				{
					for($count = 0; $row = $conn->db_fetch_object($result); $count ++)
					{
						$arr[$count] = new AiccOrgUser();

						$arr[$count]->setAiccUserId(stripslashes($row->aicc_user_id));
						$arr[$count]->setOrgUserId(stripslashes($row->org_user_id));
						$arr[$count]->setAiccOrgId(stripslashes($row->aicc_org_id));
						$arr[$count]->setUsername(stripslashes($row->username));
						$arr[$count]->setFname(stripslashes($row->fname));
						$arr[$count]->setLname(stripslashes($row->lname));
						$arr[$count]->setEmail(stripslashes($row->email));
						$arr[$count]->setBirthday(stripslashes($row->birthday));
						$arr[$count]->setIdentifier(stripslashes($row->identifier));
						$arr[$count]->setTestCondition(stripslashes($row->test_condition));
						$arr[$count]->setGender(stripslashes($row->gender));
						$arr[$count]->setAge(stripslashes($row->age));
						$arr[$count]->setEyeTested(stripslashes($row->eye_tested));
						$arr[$count]->setOtherText(stripslashes($row->other_text));
						$arr[$count]->setStatus(stripslashes($row->status));
						$arr[$count]->setCreateDate(stripslashes($row->create_date));
						$arr[$count]->setCreatedBy(stripslashes($row->created_by));
						$arr[$count]->setUpdateDate(stripslashes($row->update_date));
						$arr[$count]->setUpdatedBy(stripslashes($row->updated_by));
					}

					return $arr;
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}


		/**
		 * Get All AiccOrgUser Count
		 */
		function getAllAiccOrgUserCount ($where_clause = NULL)
		{
			try
			{
				$conn 	= new ConnectionPool();

				$sql 	=
					"SELECT count(*) AS count
					 FROM tcv_aicc_org_user
					";

				if($where_clause != NULL)
					$sql .= " WHERE ".$where_clause;

				$result	= $conn->db_query($sql);

				if((!$result) || ($conn->db_num_rows($result) == 0))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
					return array();
				}
				else
				{
					$row	= $conn->db_fetch_object($result);

					return $row->count;
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}
		
		/**
		 * Update AiccOrgUser's UUID
		 * Added on 26th nov 12
		 */
		function updateAiccOrgUserUuid ($AiccOrgUser)
		{
			try
			{
				$conn	= new ConnectionPool();

				$sql	=
					"UPDATE tcv_aicc_org_user
					 SET						
						uuid = '".addslashes($AiccOrgUser->getUuid())."'
   					 WHERE aicc_user_id = '".$AiccOrgUser->getAiccUserId()."'
					";

				if(!$conn->db_query($sql))
				{
					throw new AiccOrgUserException(mysql_errno($conn->dbLink),mysql_error($conn->dbLink));
				}
			}
			catch(Exception $e)
			{
				throw $e;
			}
		}

	}
	/**
	 * End of class AiccOrgUserManager
	 */
?>
