/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.cosmodas.Inventario;

import com.cosmodas.FacadeCosmos.daoProSucLocal;
import com.cosmodas.EntCosmos.Productosucursal;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.primefaces.component.datatable.DataTable;
import org.primefaces.event.CellEditEvent;

/**
 *
 * @author obper
 */
public class bsucursales implements Serializable {

private Productosucursal procSu = new Productosucursal();
    @EJB
    daoProSucLocal dao;
  
//----------Variables---------------//    
    
    private List<Productosucursal> alles;
    private List<Productosucursal> producAll;
    private List<Productosucursal> productoSucursal;
    private int existenciaFisica ;
    private String sucursal;
    private String nombreSucursal;
    private String ProducFisico;

             @PostConstruct
    public void init() {
        productoSucursal = getPorSucProductosucursals();
                 System.out.println("ejecutado");
    }

    
    //-------------------------------------
    public List<Productosucursal> getProductoSucursal() {
        return productoSucursal;
    }

    public void setProductoSucursal(List<Productosucursal> productoSucursal) {
        this.productoSucursal = productoSucursal;
    }
       
    public String getProducFisico() {
        return ProducFisico;
    }

    public void setProducFisico(String ProducFisico) {
        this.ProducFisico = ProducFisico;
    }
     
    public String getNombreSucursal() {
        return nombreSucursal;
    }

    public void setNombreSucursal(String nombreSucursal) {
        this.nombreSucursal = nombreSucursal;
    }
    
    public String getSucursal() {
        return sucursal;
    }
    
    public void setSucursal(String sucursal) {
        this.sucursal = sucursal;
        caseSuc(sucursal);
    }

    
    public Productosucursal getProcSu() {
        return procSu;
    }

    
    public void setProcSu(Productosucursal procSu) {
        this.procSu = procSu;      
    }

    public String AcutalizarProducto(){
            dao.update(procSu);
        return "DiferienciaFisicaSalas.jsf";
    }
    
    public int getExistenciaFisica() {
        return existenciaFisica;
    }

    public void setExistenciaFisica(int existenciaFisica) {
        this.existenciaFisica = existenciaFisica;
        procSu.setProductoSucursalFisica(existenciaFisica);
    }
   
//--------------------------------------
    
    //-----funciones---//
    
    public void  caseSuc(String sucursal){
     switch(sucursal){
     
    case "01": 
         setNombreSucursal("Sala Central");
         break;
    case "03": 
         setNombreSucursal("Sala Soyapango");
         break;
    case "04":
         setNombreSucursal("Sala San Miguel");
         break;
    case "05":
         setNombreSucursal("Sala Ususlutan");
         break;
    case "06":
        setNombreSucursal("Sala Zacatecoluca");
         break;
    case "07":
        setNombreSucursal("Sala Santa Ana");
         break;
    case "08":
        setNombreSucursal("Sala Sonsonate");
         break;
    case "09":
        setNombreSucursal("Sala Chalatenango");
        break;
    default:
        setNombreSucursal("no hay sala Disponible");
        break;         
            }
    }
    
    
    public List<Productosucursal> getAlles() {
        return dao.findAll();
    }
    
    public List<Productosucursal> getPorSucProductosucursals() {
    return dao.sucursalPorCodigo(getSucursal());   
    }

 public void onCellEdit(CellEditEvent event) { 
        
        Object id = event.getRowIndex();
        Object oldValue = event.getOldValue();  
        Object newValue = event.getNewValue();
        int newInt = Integer.parseInt(newValue.toString());
        
        if( !newValue.equals(oldValue)) {  
            FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Editado", "Nuevo entrada: " + newValue);  
            FacesContext.getCurrentInstance().addMessage(null, msg);     
            DataTable s = (DataTable) event.getSource();
            Productosucursal d = (Productosucursal) s.getRowData();
            d.setProductoSucursalFisica(newInt);
            dao.update(d);
            
        }else{
        }  
    }
        
    
    
    public bsucursales() {
    }
    
}
