/**
  * Method to do selects.
  *
  * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
  * @param      Connection $con
  * @return     array Array of selected Objects
  * @throws     PropelException Any exceptions caught during processing will be
  *       rethrown wrapped into a PropelException.
  */
 public static function doSelect(Criteria $criteria, $con = null)
 {
     return AppAssignSelfServiceValuePeer::populateObjects(AppAssignSelfServiceValuePeer::doSelectRS($criteria, $con));
 }
    public function getSelfServiceCasesByEvaluate($userUid)

    {

        try {

            G::LoadClass("groups");



            $arrayAppAssignSelfServiceValueData = array();



            //Get APP_UIDs

            $group = new Groups();



            $arrayUid   = $group->getActiveGroupsForAnUser($userUid); //Set UIDs of Groups (Groups of User)

            $arrayUid[] = $userUid;                                   //Set UID of User



            $criteria = new Criteria("workflow");



            $criteria->setDistinct();

            $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::APP_UID);

            $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::DEL_INDEX);

            $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::TAS_UID);



            $arrayCondition = array();

            $arrayCondition[] = array(AppAssignSelfServiceValuePeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::EQUAL);

            $arrayCondition[] = array(AppAssignSelfServiceValuePeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX, Criteria::EQUAL);

            $arrayCondition[] = array(AppAssignSelfServiceValuePeer::TAS_UID, AppDelegationPeer::TAS_UID, Criteria::EQUAL);

            $criteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN);



            $criteria->add(AppDelegationPeer::USR_UID, "", Criteria::EQUAL);

            $criteria->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN", Criteria::EQUAL);



            $criterionAux = null;



            foreach ($arrayUid as $value) {

                if (is_null($criterionAux)) {

                    $criterionAux = $criteria->getNewCriterion(AppAssignSelfServiceValuePeer::GRP_UID, "%$value%", Criteria::LIKE);

                } else {

                    $criterionAux = $criteria->getNewCriterion(AppAssignSelfServiceValuePeer::GRP_UID, "%$value%", Criteria::LIKE)->addOr($criterionAux);

                }

            }



            $criteria->add($criterionAux);



            $rsCriteria = AppAssignSelfServiceValuePeer::doSelectRS($criteria);

            $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);



            while ($rsCriteria->next()) {

                $row = $rsCriteria->getRow();



                $arrayAppAssignSelfServiceValueData[] = array(

                    "APP_UID" => $row["APP_UID"],

                    "DEL_INDEX" => $row["DEL_INDEX"],

                    "TAS_UID" => $row["TAS_UID"]

                );

            }



            //Return

            return $arrayAppAssignSelfServiceValueData;

        } catch (Exception $e) {

            throw $e;

        }

    }
    public function getSelfServiceCasesByEvaluate($userUid)

    {

        try {

            G::LoadClass("groups");



            $arrayApplicationUid = array();



            //Get APP_UIDs

            $group = new Groups();



            $arrayGroup = $group->getActiveGroupsForAnUser($userUid); //Get Groups of User



            if (count($arrayGroup) > 0) {

                $criteria = new Criteria("workflow");



                $criteria->setDistinct();

                $criteria->addSelectColumn(AppAssignSelfServiceValuePeer::APP_UID);



                $arrayCondition = array();

                $arrayCondition[] = array(AppAssignSelfServiceValuePeer::APP_UID, AppDelegationPeer::APP_UID, Criteria::EQUAL);

                $arrayCondition[] = array(AppAssignSelfServiceValuePeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX, Criteria::EQUAL);

                $arrayCondition[] = array(AppAssignSelfServiceValuePeer::TAS_UID, AppDelegationPeer::TAS_UID, Criteria::EQUAL);

                $criteria->addJoinMC($arrayCondition, Criteria::LEFT_JOIN);



                $criteria->add(AppDelegationPeer::USR_UID, "", Criteria::EQUAL);

                $criteria->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN", Criteria::EQUAL);

                $criteria->add(AppAssignSelfServiceValuePeer::GRP_UID, $arrayGroup, Criteria::IN);



                $rsCriteria = AppAssignSelfServiceValuePeer::doSelectRS($criteria);

                $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);



                while ($rsCriteria->next()) {

                    $row = $rsCriteria->getRow();



                    $arrayApplicationUid[] = $row["APP_UID"];

                }

            }



            //Return

            return $arrayApplicationUid;

        } catch (Exception $e) {

            throw $e;

        }

    }