/*
 * 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 adgsyncms.service;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTextArea;
import javax.swing.JLabel;

/**
 *
 * @author amartinez
 */
public class ADGSyncMS {

    public ADGSyncMS() {

    }

    public void sincronizar(JTextArea edtMensaje, JLabel lblTransaccion) {

        Productos producto = new Productos();
        producto.jtext1 = edtMensaje;
        producto.lblTransaccion = lblTransaccion;
        producto.BuscarProductosCajas();

        Ofertas oferta = new Ofertas();
        oferta.jtext1 = edtMensaje;
        oferta.lblTransaccion = lblTransaccion;
        oferta.BuscarOfertasCajas();

        Clientes cliente = new Clientes();
        cliente.jtext1 = edtMensaje;
        cliente.lblTransaccion = lblTransaccion;
        cliente.BuscarClientesCajas();


        Entidades entidad = new Entidades();
        entidad.jtext1 = edtMensaje;
        entidad.lblTransaccion = lblTransaccion;
        entidad.ActualizarSupervisores();
        entidad.ActualizarCentrosCostos();
        entidad.ActualizarCajeros();
        //entidad.ActualizarCajas();
        entidad.ActualizarSetGeneral();
        entidad.ActualizarCiaSetup();
        entidad.ActualizarConfiguracionTarPref();
        entidad.ActualizarTiposTarPref();
        entidad.ActualizarTarjetasPref();
        entidad.ActualizarClasifImpuestos();
        entidad.ActualizarDepartamentos();
        entidad.ActualizarSubDepartamentos();
        entidad.ActualizarFamilias();
        entidad.ActualizarTiposProductos();
        entidad.ActualizarTiposClientes();
        entidad.ActualizarTiposCxc();
        entidad.ActualizarCategoriaClientes();
        entidad.ActualizarUnidades();
        entidad.ActualizarKit();
        entidad.ActualizarGiftCard();
        entidad.ActualizarCajasPos();
        entidad.ActualizarFormatosImpresionPos();
        entidad.ActualizarVouchersProveedores();
        //entidad.ActualizarNCFCajas();
        entidad.ActualizarAlmacenes();

        if ( producto.b_result == false || cliente.b_result == false || oferta.b_result == false) {
            Email eml = new Email();
            eml.setMensaje(edtMensaje.getText());
            eml.setSubject("Error en la sincronizacion");
            if (!eml.To.isEmpty()) {
                eml.EnviarCorreo();
            }
            FileLogger log = new FileLogger();
            try {
                log.SaveLog(edtMensaje.getText());
            } catch (IOException ex) {
                Logger.getLogger(ADGSyncMS.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

    }

}
