<?php
/**
* En este modelo se encuentran todas las consultas realizadas en la tabla de agenda(Administrador general)
*/
class AgendaC_model extends CI_Model
{
   
   public function getEventos()
  {
    $data['Franquicias']=$this->agendaC_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias)
    $this->db->select('*');
      
    $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
    $this->db->join('categoria','Categoria_IdCategoria = IdCategoria','inner');
    $this->db->join('clientes','Clientes_IdClientes = IdClientes','inner');
    $this->db->join('cabina','Cabina_IdCabina = IdCabina','inner');
    $this->db->where('IdFranquicias',$i);
     

    $this->db->select('IdAgenda id, Cabina_IdCabina cabina, NombreCategoria title, Fecha start, Observaciones  obs,  Usuarios_IdUsuarios usu ,  HoraFin hof,  HoraInicio hoi, Fecha fecha, estatuscitas_IdEstatusCita est, Promociones_IdPromociones promociones, ServiciosFranquicias_IdServiciosFranquicias servicio, IdCategoria categoria, NombreCliente clientes');
    $this->db->from('agenda');
    $this->db->where('`estatuscitas_IdEstatusCita !=',3);
    return $this->db->get()->result();

  }

   public function BuscarPorNombreCliente($cliente){
     $id = $this->BuscarIdFranquicia();
         
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->join('categoria','Categoria_IdCategoria = IdCategoria','inner');
     $this->db->join('clientes','Clientes_IdClientes = IdClientes','inner');
     $this->db->join('cabina','Cabina_IdCabina = IdCabina','inner');
     $this->db->like('NombreCliente', $cliente,'both');
     $this->db->where('IdFranquicias',$id);


     $this->db->select('IdAgenda id, Cabina_IdCabina cabina, NombreCategoria title, Fecha start, Observaciones  obs,  Usuarios_IdUsuarios usu ,  HoraFin hof,  HoraInicio hoi, Fecha fecha, estatuscitas_IdEstatusCita est, Promociones_IdPromociones promociones, ServiciosFranquicias_IdServiciosFranquicias servicio, IdCategoria categoria, NombreCliente clientes, NombreCabina');

     $this->db->from('agenda');
     $this->db->where('agenda.Franquicias_IdFranquicias', $id);
     $this->db->where('`estatuscitas_IdEstatusCita !=',3);
     $this->db->order_by('Fecha','ASC');

     return $this->db->get()->result();

   }
   
   public function BuscarIdFranquicia(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
              return $row->IdFranquicias; }
    }


     public function getEventos1(){
      $this->db->select('*');
      $this->db->join('categoria','Categoria_IdCategoria = IdCategoria','inner');
      $this->db->join('clientes','Clientes_IdClientes = IdClientes','inner');


      $this->db->select('IdAgenda id, NombreCategoria title, Fecha start, NombreCliente NC');
    

    $this->db->from('agenda');

   

      return $this->db->get()->result();
   }


 
public function updEvento2($data){
    
    $this->db->set('Observaciones', $data['descripcion']);
    $campos = array(
      /*'Franquicias_IdFranquicias' =>( int ) $this->BuscarIdFranquicia(),*/
      /*'Clientes_IdClientes' => ( int ) $data['nombreCliente'],*/
      'Categoria_IdCategoria' =>( int ) $data['idCategoria'],
      'ServiciosFranquicias_idServiciosFranquicias' => $data['codeService'],
      /*'promociones_idPromociones' =>$data['codePromo'],*/
      'Fecha' => $data['fechaAgendada'],
      'HoraInicio' => $data['horaInicio'],
      'HoraFin' => $data['horaFin'],
      'Cabina_IdCabina' =>( int ) $data['idCabina'] ,
      'estatuscitas_IdEstatusCita' =>( int ) $data['estado'],
      'Observaciones' => $data['descripcion'],
      'Usuarios_IdUsuarios' =>( int ) $data['idUserChange'],
      /*'IdAgenda' =>( int ) $data['idEvento']  */
      );
      /*return $campos;*/

      $this->db->where('IdAgenda',( int ) $data['idEvento']);
      $this->db->update('agenda',$campos);
      
      if ($this->db->affected_rows() > 0) {
        return 1;
      }
      else {
        return 0;
      }
      
  }


  public function BuscarServiciosNombre($codigo){
    /*echo json_encode($codigo);*/
       $Serviciosgenerales   =  $this->BuscarServiciosGenerales($codigo);

      if( count($Serviciosgenerales) != 0 ){
          echo json_encode($Serviciosgenerales);
      }
      else {
        $Serviciosfranquicias =  $this->BuscarServiciosFranquicia($codigo);
          if( count($Serviciosfranquicias) != 0 ){
            echo json_encode( $Serviciosfranquicias);
          }
      }
      
      
   }

   public function BuscarServiciosFranquicia($codigo){

      $this->db->select('*');
      $this->db->from('serviciosfranquicias');
      $this->db->where('IdServiciosFranquicias',(String) $codigo);
      $query = $this->db->get()->result();

      //tomando en  cuenta q no exiten folios repetidos
      $id = $query[0]->ServiciosGenerales_IdServiciosGenerales;

      $this->db->select('*');
      $this->db->from('serviciosgenerales');
      $this->db->where('IdServiciosGenerales',$id);
      $queryResult = $this->db->get()->result();
      return $queryResult;

   }

   public function BuscarServiciosGenerales($codigo){
      $this->db->select('*');
      $this->db->from('serviciosgenerales');
      $this->db->where('Codigo_Servicios',(String) $codigo);
      return $this->db->get()->result();

   }

   public function BuscarPromocionesNombre($promocion){
      $this->db->select('*');
      $this->db->from('promociones');
      $this->db->where('FolioPromocion',$promocion);
      echo  json_encode($this->db->get()->result());
   }


  public function buscarporcabina($query)
  {// Realiza una consulta a la bd para buscar la agenda de la franquicia seleccionada
      
      $data['Franquicias']=$this->agendaC_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias)
     
     
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->join('categoria','Categoria_IdCategoria = IdCategoria','inner');
     $this->db->join('clientes','Clientes_IdClientes = IdClientes','inner');
     $this->db->join('cabina','Cabina_IdCabina = IdCabina','inner');
     $this->db->where('IdFranquicias',$i);
     $this->db->where('Cabina_IdCabina', $query);
     $this->db->where('`estatuscitas_IdEstatusCita !=',3);


     $this->db->select('IdAgenda id, Cabina_IdCabina cabina, NombreCategoria title, Fecha start, Observaciones  obs,  Usuarios_IdUsuarios usu ,  HoraFin hof,  HoraInicio hoi, Fecha fecha, estatuscitas_IdEstatusCita est, Promociones_IdPromociones promociones, ServiciosFranquicias_IdServiciosFranquicias servicio, IdCategoria categoria, NombreCliente clientes, NombreCabina');

    $this->db->from('agenda');
   return $this->db->get()->result();

   }


   // public function deleteEvento($id){
   //  $this->db->where('IdAgenda', $id);
   //  return $this->db->delete('agenda');
   // }




 public function guardar($parametro){
     $campos=array(
         
         'Clientes_IdClientes' => $parametro['Clientes_IdClientes'],
         'Categoria_IdCategoria' => $parametro['Categoria_IdCategoria'],
         'ServiciosFranquicias_IdServiciosFranquicias' => $parametro['ServiciosFranquicias_IdServiciosFranquicias'],
         'Promociones_IdPromociones' => $parametro['Promociones_IdPromociones'],
         'Fecha' => $parametro['Fecha'],
         'HoraInicio' => $parametro['HoraInicio'],
         'HoraFin' => $parametro['HoraFin'],
         'estatuscitas_IdEstatusCita' => $parametro['estatuscitas_IdEstatusCita'],
         'Cabina_IdCabina' => $parametro['Cabina_IdCabina'],
         'Observaciones' => $parametro['Observaciones'],
         'Usuarios_IdUsuarios' => $parametro['Usuarios_IdUsuarios'],
         'Franquicias_IdFranquicias' => $parametro['Franquicias_IdFranquicias']
      );
 
         

      $this->db->insert('agenda',$campos);
     

   }


 // public function BuscarServicios($servicio){
 //    $data['Franquicias']=$this->agendaA_models->BuscarFranquicia();
 //    foreach ($data['Franquicias'] as $i => $Franquicias)
 //        $this->db->select('*');
 //        $this->db->from('serviciosfranquicias');
 //        $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales=IdServiciosGenerales','inner');
 //        $this->db->where('Franquicias_IdFranquicias',$i);
 //        $this->db->like('NombreServicio',$servicio);
 //        $this->db->order_by('NombreServicio','ASC');
 //        return $this->db->get()->result();
 //         }



   public function BuscarServicios(){

  $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales = IdServiciosGenerales','inner');
  $query = $this->db->get_where('serviciosfranquicias' ,  array ( 'Franquicias_IdFranquicias'=> 3));
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdServiciosFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombreServicio, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }


//Consulta que la promociones locales/emergetes del cliente a que se le realizara la cita
    public function BuscarPromocionesLocales(){
     //$this->db->select('*');

    // $data['Zona']=$this->agendaA_models->BuscarZona();
    // foreach ($data['Zona'] as $i => $Zona) 
    // $this->db->where('Zona_IdZona',$i);
    $this->db->where("(TipoPromocion_IdTipoPromocion = '2' OR TipoPromocion_IdTipoPromocion ='4')");
    $this->db->where('Estatus','ACTIVA');
    $this->db->order_by('NombrePromocion',"ASC");
    $query=$this->db->get('promociones');
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdPromociones, ENT_QUOTES)] = htmlspecialchars($row->NombrePromocion, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
     }        
//Consulta que la promociones Fijas/Institucionales del cliente a que se le realizara la cita

public function BuscarPromocionesinstitucionales(){
    $this->db->where("(TipoPromocion_IdTipoPromocion = '1' OR TipoPromocion_IdTipoPromocion ='3')");
    $this->db->where('Estatus','ACTIVA');
    $this->db->order_by('NombrePromocion',"ASC");
    $query=$this->db->get('promociones');
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdPromociones, ENT_QUOTES)] = htmlspecialchars($row->NombrePromocion, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }


 //Consulta que busca la franquicia a la que pertenece el usuario logueado 
     public function BuscarZona(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->join('zona','Zona_IdZona=IdZona','inner');
     $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdZona, ENT_QUOTES)] = htmlspecialchars($row->NombreZona, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }



 public function BuscarCategoria(){
     $query = $this->db-> query('SELECT IdCategoria,NombreCategoria FROM categoria'); 
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdCategoria, ENT_QUOTES)] = htmlspecialchars($row->NombreCategoria, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

   // public function BuscarFranquicia(){
   //   $this->db->select('*');
   //   $this->db->from('franquicias');
   //   $query=$this->db->get();


       // if ($query->num_rows() > 0) { 
       //  foreach($query->result() as $row) 
       //   $arrDatos[htmlspecialchars($row->IdFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombreFranquicia, ENT_QUOTES); 
       //      $query->free_result(); 
       //      return $arrDatos; }
       //   }


 
     // public function BuscarUsuario(){
     // $this->db->select('*');
     // $this->db->from('usuarios');
     // $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     // $query=$this->db->get();
     //   if ($query->num_rows() > 0) { 
     //    foreach($query->result() as $row) 
     //     $arrDatos[htmlspecialchars($row->NombreUsuario, ENT_QUOTES)] = htmlspecialchars($row->NombreUsuario, ENT_QUOTES); 
     //        $query->free_result(); 
     //        return $arrDatos; }
     //     }

    public function BuscarUsuario(){
     $data['Franquicias']=$this->agendaC_model->BuscarFranquicia();
     foreach ($data['Franquicias'] as $i => $Franquicias)
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
    $this->db->where('Franquicias_IdFranquicias',$i);
    $this->db->where('Estatus', 'Activo');
    // $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     //$query = $this->db-> query('SELECT IdUsuarios,NombreUsuario FROM usuarios'); 
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdUsuarios, ENT_QUOTES)] = htmlspecialchars($row->NombreUsuario, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }


   
  public function BuscaCliente($id){
    $data['Franquicias']=$this->agendaC_model->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
       $this->db->select('*');
       $this->db->where('Franquicias_IdFranquicias',$i);
       $this->db->where('IdClientes',$id);
       $this->db->order_by('NombreCliente','ASC');
       return $this->db->get('clientes')->result();
      
    }
    
  public function BuscarCliente(){
     $query = $this->db-> query('SELECT IdClientes,NombreCliente FROM clientes'); 
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdClientes, ENT_QUOTES)] = htmlspecialchars($row->NombreCliente, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }




// public function BuscarCabina(){
//      $query = $this->db-> query('SELECT IdCabina,NombreCabina FROM cabina'); 
//        if ($query->num_rows() > 0) { 
//         foreach($query->result() as $row) 
//          $arrDatos[htmlspecialchars($row->IdCabina, ENT_QUOTES)] = htmlspecialchars($row->NombreCabina, ENT_QUOTES); 
//             $query->free_result(); 
//             return $arrDatos; }
//          }

public function BuscarEstatusCita(){
     $query = $this->db-> query('SELECT IdEstatusCita,NombreEstatusCita FROM estatuscitas'); 
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdEstatusCita, ENT_QUOTES)] = htmlspecialchars($row->NombreEstatusCita, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }



  public function BuscarPromociones(){
  $this->db->join('promociones','Promociones_IdPromociones = IdPromociones','inner');

  $query = $this->db->get_where('promociones' ,  array ( 'Franquicias_IdFranquicias'=> 2 ));

 
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdPromocionesFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombrePromocion, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }

 }


  // public function BuscarFranq(){// Realiza una consulta a la bd para buscar las franquicias que existen y poder mandar el resultado
  //    $query = $this->db-> query('SELECT IdFranquicias,NombreFranquicia FROM franquicias ORDER BY NombreFranquicia ASC'); 
  //      if ($query->num_rows() > 0) { 
  //       foreach($query->result() as $row) 
  //        $arrDatos[htmlspecialchars($row->IdFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombreFranquicia, ENT_QUOTES); 
  //           $query->free_result(); 
  //           return $arrDatos; }
  //        }

 public function buscarporfranquicia($query) {// Realiza una consulta a la bd para buscar la agenda de la franquicia seleccionada
  

    $this->db->where('Franquicias_IdFranquicias', $query);
    $query = $this->db->get('agenda');

    if ($query->num_rows() > 0){
      return $query;
    }else{
    //   echo "<script>alert('No se encontrarón los datos solicitados');</script>";
    //    redirect('agenda/cosmetologo/listacitasC', 'refresh');
    //
     }
  }

 // public function BuscarFranquicia(){// Realiza una consulta a la bd para buscar las franquicias que existen y poder mandar el resultado
 //     $query = $this->db-> query('SELECT IdFranquicias,NombreFranquicia FROM franquicias'); 
 //       if ($query->num_rows() > 0) { 
 //        foreach($query->result() as $row) 
 //         $arrDatos[htmlspecialchars($row->IdFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombreFranquicia, ENT_QUOTES); 
 //            $query->free_result(); 
 //            return $arrDatos; }
 //         }
// Realiza una consulta a la bd para buscar las franquicias que existen y poder mandar el resultado
   public function BuscarFranquicia(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombreFranquicia, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

    
     public function BuscarCabina(){
    $data['Franquicias']=$this->agendaC_model->BuscarFranquicia();
     foreach ($data['Franquicias'] as $i => $Franquicias)
    $this->db->select('*'); 
     $this->db->from('cabina');
    // $this->db->join('cabina','IdCabina=IdCabina','inner');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->where('Franquicias_IdFranquicias',$i);
     //$this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdCabina, ENT_QUOTES)] = htmlspecialchars($row->NombreCabina, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; 
         }else{

            //echo "<script>alert('No se ha encontrado niguna cabina asignada a su franquicia');</script>";
     //redirect('acceso/acceso','refresh');

      echo "<script>alert('No se ha encontrado niguna cabina asignada a su franquicia');
                 window.location.href='".base_url()."acceso/acceso';
                 </script>";
    }
}



}
