public bool ActualizarTablasCatalogos(String tableName, int planta, int proceso)
        {
            bool bError = true;

            try
            {
                List <DataSet> lds = new List <DataSet>();

                // Obtener fecha de ultima actualizacion de catalogos.
                DateTime dtFechaUltAct = this.co.ObtenerFechaUltimaActualizacion(0, proceso);


                DataSet ds = null;
                try
                {
                    // Obtener datos del servicio WCF.
                    HHsvc.SCPP_HH proxy = DA.ConfigDataAccess.ObtenerServiceProxy();
                    ds = proxy.ActualizarCatalogos(tableName,
                                                   planta, true,
                                                   proceso, true,
                                                   dtFechaUltAct, true);
                }
                catch
                {
                    throw new Exception("Error de Conexion de red");
                }
                lds.Add(ds);
                // Actualizar los datos locales.
                bError = this.CargarDatosALocal(lds);
            }
            catch (Exception ex)
            {
                bError = false;
                HHsvc.SCPP_HH proxy = DA.ConfigDataAccess.ObtenerServiceProxy();
                proxy.InsertaError("Table:tableName", ex.Message);
            }
            return(bError);
        }
        public bool ActualizarTablasTransaccionales(String tableName, int planta, int proceso)
        {
            bool bError = true;

            try
            {
                List <DataSet> lds = new List <DataSet>();

                // Obtener fecha de ultima actualizacion de catalogos.
                DateTime dtFechaUltAct = this.co.ObtenerFechaUltimaActualizacion(proceso, 0);

                DataSet ds  = null;
                DataSet ds2 = null;
                proceso = proceso == 1 ? 1 : co.ObtenerProcesoAnterior(proceso);
                DateTime dtFechaDepuracionHistoria = co.ObtenerFechaDepuracionHistoria(planta, proceso);
                co.BorrarInfoTablaTransaccional(tableName, dtFechaDepuracionHistoria);
                co.BorrarInfoTablaTransaccional("pieza_transaccion", dtFechaDepuracionHistoria);
                co.BorrarInfoTablaTransaccional("config_handheld", dtFechaDepuracionHistoria);
                co.BorrarInfoTablaTransaccional("pieza_reemplazo", dtFechaDepuracionHistoria);
                try
                {
                    // Obtener datos del servicio WCF.
                    HHsvc.SCPP_HH proxy = DA.ConfigDataAccess.ObtenerServiceProxy();
                    ds = proxy.ActualizarCatalogos(tableName,
                                                   planta, true,
                                                   proceso, true,
                                                   dtFechaUltAct, true);

                    //Extraer pendiente
                    if (proceso == 1 && tableName == "pieza")
                    {
                        try
                        {
                            DataTable dt = co.ObtenerPendientesRevision(tableName);
                            if (dt != null && dt.Rows.Count > 0)
                            {
                                ds2 = proxy.ActualizarCatalogosPorPiezas(dt, tableName, proceso, true);

                                if (ds2 != null && ds2.Tables.Count > 0)
                                {
                                    string sPrefijo  = "";
                                    string sNomTabla = "";
                                    foreach (DataTable dt2 in ds2.Tables)
                                    {
                                        sPrefijo  = dt2.TableName.Substring(0, 3).ToUpper();
                                        sNomTabla = dt2.TableName.Substring(3);

                                        if (sPrefijo == "UPD")
                                        {
                                            this.ActualizarInformacion(dt2, sNomTabla);
                                        }
                                    }
                                }
                            }
                        }
                        catch { }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Error de Conexion de red");
                }
                lds.Add(ds);

                // Actualizar los datos locales.
                bError = this.CargarDatosALocal(lds);
            }
            catch (Exception ex)
            {
                bError = false;
                HHsvc.SCPP_HH proxy = DA.ConfigDataAccess.ObtenerServiceProxy();
                proxy.InsertaError("Table:tableName", ex.Message);
            }
            return(bError);
        }