<?php
class PromocionesF_model extends CI_Model { 
   public function __construct() {
      parent::__construct();
   }
public function Promociones(){
  $data['Franquicias']=$this->PromocionesF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
   $data['Zona']=$this->PromocionesF_model->BuscarZona();
     foreach ($data['Zona'] as $a => $Zona)

  $this->db->select('*');
  $this->db->from('promociones');
  $this->db->join('tipopromocion','tipopromocion_IdTipoPromocion=IdTipoPromocion','inner');
  $this->db->join('categoria','categoria_IdCategoria=IdCategoria','inner');
  $this->db->where('Estatus' ,'ACTIVA');
  $this->db->where('franquicias_IdFranquicias' ,$i);  
  $this->db->or_where('franquicias_IdFranquicias', null);
  $this->db->where('Estatus' ,'ACTIVA');
  $this->db->where('Zona_IdZona',$a);
  $query=$this->db->get();
  $promociones=[];
  if ($query->num_rows() > 0) 
  { 
    foreach($query->result() as $row) 
    {
      if($row->IdTipoPromocion==2 || $row->IdTipoPromocion== 4 )
      {
         $botones='<a href="'.base_url().'promociones/franquiciatario/PromocionesF/editar/'.$row->IdPromociones.'" class="label label-primary"><span class="glyphicon glyphicon-pencil"></a></span>&nbsp;&nbsp;<a onclick= "confirmaPromocion('.$row->IdPromociones.')" class="label label-danger"><span class="glyphicon glyphicon-trash"></a></span>'; 
      }else{
         $botones='<a href="'.base_url().'promociones/franquiciatario/PromocionesF/ver/'.$row->IdPromociones.'" class="label label-primary"><span class="glyphicon glyphicon-eye-open"></a>';
      }
      $promociones[] = array(
                                $row->FolioPromocion,
                                $row->NombrePromocion,
                                $row->NombreCategoria,
                                $row->TipoPromocion,
                                $row->Precio,
                                $row->FechaInicioPromocion,
                                $row->FechaTerminoPromocion,
                                $row->Estatus,
                                $botones,
                            );
    }
  }
  echo json_encode($promociones);
}
public function BuscarFranquicia()
{// Realiza una consulta a la bd para buscar las franquicias que existen y poder mandar el resultado
    $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 BuscarCategoria(){// Realiza una consulta a la bd para buscar las categorías que existen y poder mandar el resultado
     $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 BuscarZona(){// Realiza una consulta a la bd para buscar las zonas que existen y poder mandar el resultado
//      $query = $this->db-> query('SELECT IdZona,NombreZona FROM zona'); 
//        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 BuscarZona(){// Realiza una consulta a la bd para buscar las franquicias que existen y poder mandar el resultado
     
            $data['Franquicias']=$this->PromocionesF_model->BuscarFranquicia();
            foreach ($data['Franquicias'] as $i => $Franquicias)
                $this->db->select('*');
                $this->db->from('franquicias');
                $this->db->join('zona','Zona_IdZona=IdZona','inner');
                $this->db->where('IdFranquicias',$i);
                $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 GuardarPromocion($campos)
  {
   $this->db->insert('promociones',$campos);
   $id=  $this->db->insert_id();
   $res=$this->db->affected_rows();
   if($res == 1)
   {
      $folio=$campos['FolioPromocion'].$id;
      $this->db->set('FolioPromocion', $folio);
      $this->db->where('IdPromociones', $id);
      $this->db->update('promociones');
      $actualizacion=$this->db->affected_rows();
      if($actualizacion>0)
      {
         // echo "<script>alert('Promoción guardada correctamente');</script>";
         // redirect('promociones/franquiciatario/promocionesF','refresh');
         echo "<script>alert('Promoción guardada correctamente');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
      }else{
         // echo "<script>alert('Los datos no pudierón ser guardados correctamente');</script>";
         // redirect('promociones/franquiciatario/promocionesF','refresh');
         echo "<script>alert('Los datos no pudierón ser guardados correctamente');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
               }
      
   }else{
      // echo "<script>alert('Los datos no pudierón ser guardados correctamente');</script>";
      // redirect('promociones/franquiciatario/promocionesF','refresh');
      echo "<script>alert('Los datos no pudierón ser guardados correctamente');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
   }
  }

  public function VerPromocion($id)
  {
   $this->db->select('*');
   $this->db->from('promociones');
   $this->db->join('tipopromocion','tipopromocion_IdTipoPromocion=IdTipoPromocion','inner');
   $this->db->join('categoria','categoria_IdCategoria=IdCategoria','inner');
   $this->db->where('IdPromociones' ,$id);  
   $query=$this->db->get();
   if ($query->num_rows() > 0) 
   { 
      return $query;
   }else
   {
      return false;
   }
  }
  public function GuardarEdicion($campos, $id)
  {
      $this->db->where('IdPromociones', $id);
      $this->db->update('promociones', $campos);
      $res=$this->db->affected_rows();
      if($res==1)
      {
         // echo "<script>alert('Promoción editada correctamente');</script>";
         // redirect('promociones/franquiciatario/promocionesF','refresh');
         echo "<script>alert('Promoción editada correctamente');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
      }else{
         // echo "<script>alert('No se guardaron los datos');</script>";
         // redirect('promociones/franquiciatario/promocionesF','refresh');
         echo "<script>alert('No se realizo ningún cambio');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
      }
  }
  public function Eliminar($id)
  {
      $this->db->set('Estatus', 'ELIMINADA');
      $this->db->where('IdPromociones', $id);
      $this->db->update('promociones');
      $res=$this->db->affected_rows();
      if($res==1)
      {
         // echo "<script>alert('Promoción eliminada');</script>";
         // redirect('promociones/franquiciatario/promocionesF','refresh');
          echo "<script>alert('Promoción eliminada');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
      }else{
         // echo "<script>alert('No se pudo eliminar esta promoción');</script>";
         // redirect('promociones/franquiciatario/promocionesF','refresh');
          echo "<script>alert('No se pudo eliminar esta promoción');
                 window.location.href='".base_url()."promociones/franquiciatario/promocionesF';
                 </script>";
      }
  }

  public function BuscarPromociones($fechaInicio, $fechaFin, $status, $tipo)
  {
   $data['Franquicias']=$this->PromocionesF_model->BuscarFranquicia();
   foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select("*");
      $this->db->join('tipopromocion','tipopromocion_IdTipoPromocion=IdTipoPromocion','inner');
      $this->db->join('categoria','categoria_IdCategoria=IdCategoria','inner');
      $this->db->where('franquicias_IdFranquicias',$i);
      $this->db->where('Estatus !=', "ELIMINADA");
      $this->db->where('FechaCreacion >=', $fechaInicio.' 00:00:00');
      $this->db->where('FechaCreacion <=', $fechaFin.' 23:59:59');
      if($status!="")
      {
         $this->db->where('Estatus', $status);
      }
      if($tipo!="")
      {
         $this->db->where('tipopromocion_IdTipoPromocion', $tipo);
      }
      $this->db->from('promociones');        
      $query=$this->db->get();
      $promociones=[];
      if ($query->num_rows() > 0) {         
      foreach($query->result() as $fila)
      {
         $boton="";
         if($fila->Estatus=="DESACTIVA")
         {
            $promocion="'".strtoupper($fila->NombrePromocion)."'";
            $boton='<button type="button" class="btn btn-primary editarProducto" id="botonEditar" name="botonEditar" onClick="cambiarStatus('.$fila->IdPromociones. ','. $promocion.')"><span class="glyphicon glyphicon-pencil"></span></button>';
         }
      $promociones[] = array(
                           strtoupper($fila->NombrePromocion), 
                           strtoupper($fila->NombreCategoria), 
                           strtoupper($fila->TipoPromocion), 
                           $fila->Precio, 
                           date("d-m-Y", strtotime($fila->FechaInicioPromocion)), 
                           date("d-m-Y", strtotime($fila->FechaTerminoPromocion)),
                           $fila->Estatus."\x20\x20\x20". $boton, 
                        );      
      }         
      }
      echo json_encode($promociones);
  }
  public function ActivarPromocion($id,$fechaTermino,$tiempo)
  {
   $this->db->set('Estatus', 'ACTIVA');
   $this->db->set('FechaTerminoPromocion', $fechaTermino);
   $this->db->set('DuracionPromocion', $tiempo);
   $this->db->where('IdPromociones', $id);
   $this->db->update('promociones');
   $res=$this->db->affected_rows();
   if($res==1)
   {
      echo json_encode('promoción activada correctamente');
   }
  }

  }