Proyectos de Subversion LeadersLinked - Services

Rev

Rev 167 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 167 Rev 175
Línea 104... Línea 104...
104
    public function fetchAllByCompanyIdAndSearchCorporateEmail($company_id, $search)
104
    public function fetchAllByCompanyIdAndSearchCorporateEmail($company_id, $search)
105
    {
105
    {
106
        $select = $this->sql->select();
106
        $select = $this->sql->select();
107
        $select->from(self::_TABLE);
107
        $select->from(self::_TABLE);
108
        $select->where->equalTo('company_id', $company_id);
108
        $select->where->equalTo('company_id', $company_id);
109
        $select->where->like('corporate_email', '%' . corporate_email . '%');
109
        $select->where->like('corporate_email', '%' . $search . '%');
110
        $select->order('first_name, last_name');
110
        $select->order('first_name, last_name');
Línea 111... Línea 111...
111
        
111
        
Línea 112... Línea 112...
112
        
112
        
113
        $prototype = new DiscoveryContact();
113
        $prototype = new DiscoveryContact();
Línea -... Línea 114...
-
 
114
        
-
 
115
        return $this->executeFetchAllObject($select, $prototype);
-
 
116
    }
-
 
117
    
-
 
118
    
-
 
119
    
-
 
120
    /**
-
 
121
     *
-
 
122
     * @param int $company_id
-
 
123
     * @param string $search
-
 
124
     * @param int $page
-
 
125
     * @param int[] $contact_ids
-
 
126
     * @return Paginator
-
 
127
     */
-
 
128
    public function fetchAllByCompanyIdAndSearchCorporateEmailPaginationSelect2WithOutContactIds($company_id, $search, $page, $contact_ids = [])
-
 
129
    {
-
 
130
        $select = $this->sql->select();
-
 
131
        $select->from(self::_TABLE);
-
 
132
        $select->where->equalTo('company_id', $company_id);
-
 
133
        $select->where->like('corporate_email', '%' . $search . '%');
-
 
134
        
-
 
135
        if($contact_ids) {
-
 
136
            $select->where->notIn('id', $contact_ids);
-
 
137
        }
-
 
138
        
-
 
139
        $select->order('first_name, last_name');
-
 
140
        
-
 
141
        $prototype = new DiscoveryContact();
-
 
142
        $hydrator   = new ObjectPropertyHydrator();
-
 
143
        $resultset  = new HydratingResultSet($hydrator, $prototype);
-
 
144
        
-
 
145
        $adapter = new DbSelect($select, $this->sql, $resultset);
-
 
146
        $paginator = new Paginator($adapter);
-
 
147
        $paginator->setItemCountPerPage(10);
-
 
148
        $paginator->setCurrentPageNumber($page);
-
 
149
        
-
 
150
        
-
 
151
        return $paginator;
114
        
152
    }
115
        return $this->executeFetchAllObject($select, $prototype);
153
    
116
    }
154
    
117
    
155
    
118
    /**
156
    /**
Línea 165... Línea 203...
165
        $hydrator   = new ObjectPropertyHydrator();
203
        $hydrator   = new ObjectPropertyHydrator();
166
        $resultset  = new HydratingResultSet($hydrator, $prototype);
204
        $resultset  = new HydratingResultSet($hydrator, $prototype);
Línea 167... Línea 205...
167
        
205
        
168
        $adapter = new DbSelect($select, $this->sql, $resultset);
206
        $adapter = new DbSelect($select, $this->sql, $resultset);
-
 
207
        $paginator = new Paginator($adapter);
-
 
208
        $paginator->setItemCountPerPage($records_per_page);
-
 
209
        $paginator->setCurrentPageNumber($page);
-
 
210
        
-
 
211
        
-
 
212
        return $paginator;
-
 
213
    }
-
 
214
    
-
 
215
    
-
 
216
    /**
-
 
217
     *
-
 
218
     * @param string $search
-
 
219
     * @param int $company_id
-
 
220
     * @param int $page
-
 
221
     * @param int $records_per_page
-
 
222
     * @param string $order_field
-
 
223
     * @param string $order_direction
-
 
224
     * @param int $contact_ids
-
 
225
     * @return Paginator
-
 
226
     */
-
 
227
    public function fetchAllDataTableForCompanyIdWithOutContactIds($search, $company_id,  $page = 1, $records_per_page = 10, $order_field= 'last_name', $order_direction = 'ASC', $contact_ids = [])
-
 
228
    {
-
 
229
        $prototype = new DiscoveryContact();
-
 
230
        $select = $this->sql->select(self::_TABLE);
-
 
231
        $select->where->equalTo('company_id', $company_id);
-
 
232
        
-
 
233
        
-
 
234
        if($search) {
-
 
235
            $select->where->nest()->like('uuid', '%' . $search . '%')
-
 
236
            ->or->like('first_name', '%' . $search . '%')
-
 
237
            ->or->like('last_name', '%' . $search . '%')
-
 
238
            ->or->like('corporate_email', '%' . $search . '%')
-
 
239
            ->or->like('company', '%' . $search . '%')
-
 
240
            ->or->like('position', '%' . $search . '%')
-
 
241
            ->or->like('country', '%' . $search . '%')
-
 
242
            ->unnest();
-
 
243
        }
-
 
244
       
-
 
245
        if($contact_ids) {
-
 
246
            $select->where->notIn('id', $contact_ids);
-
 
247
        }
-
 
248
        
-
 
249
        
-
 
250
        $select->order($order_field . ' ' . $order_direction);
-
 
251
        
-
 
252
       
-
 
253
       
-
 
254
        
-
 
255
        $hydrator   = new ObjectPropertyHydrator();
-
 
256
        $resultset  = new HydratingResultSet($hydrator, $prototype);
-
 
257
        
-
 
258
        $adapter = new DbSelect($select, $this->sql, $resultset);
169
        $paginator = new Paginator($adapter);
259
        $paginator = new Paginator($adapter);
170
        $paginator->setItemCountPerPage($records_per_page);
260
        $paginator->setItemCountPerPage($records_per_page);
Línea 171... Línea 261...
171
        $paginator->setCurrentPageNumber($page);
261
        $paginator->setCurrentPageNumber($page);