コード例 #1
0
        private void btAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                Button btObj = this.btAceptar;//(Button)sender;

                this.encabezado.Mensaje = "Recopilando informacion";

                btObj.Enabled           = false;
                this.btCancelar.Enabled = false;
                Refresh();

                HHsvc.SCPP_HH proxy = DA.ConfigDataAccess.ObtenerServiceProxy();
                //iCodPlanta = isProcess ? iCodPlanta : Convert.ToInt32(cbxPlanta.SelectedValue);
                //iCodProceso = isProcess ? iCodProceso : Convert.ToInt32(cbxProceso.SelectedValue);

                DataTable dtTablasActualizar = new DataTable();

                // Carga de tablas Por Proceso
                if (!this.esCatalogo)
                {
                    dtTablasActualizar = proxy.TablasProcesoHH(iCodPlanta, true,
                                                               1, true,
                                                               iCodPantalla, true);
                }
                else
                {
                    dtTablasActualizar = proxy.TablasProcesoHH(0, true,
                                                               0, true,
                                                               iCodPantalla, true);
                }

                int cantRows = 0;
                if (dtTablasActualizar != null)
                {
                    cantRows = dtTablasActualizar.Rows.Count;
                }
                int contTables = 1;

                pbrProcesando.Minimum = 0;
                pbrProcesando.Maximum = cantRows;

                Boolean errorInserciones = false;
                String  sRes             = String.Empty;
                //Carga de Informacion Para los Catalogos
                foreach (DataRow dr in dtTablasActualizar.Rows)
                {
                    try
                    {
                        String table = dr[0].ToString();
                        this.encabezado.Mensaje = "Actualizando tabla: " + table.Replace("_", " ") + " " + contTables + "/" + cantRows;
                        Refresh();
                        Boolean error = esCatalogo ? oDA.ActualizarTablasCatalogos(table, iCodPlanta, iCodProceso) :
                                        oDA.ActualizarTablasTransaccionales(table, iCodPlanta, iCodProceso);
                        pbrProcesando.Value = contTables++;
                        if (error)
                        {
                            errorInserciones = error;
                        }
                    }
                    catch (Exception er)
                    {
                        errorInserciones = true;
                        proxy.InsertaError("Tabla:" + dr[0].ToString(), er.Message);
                    }
                }


                // Actualizar fecha de ultima actualizacion de catalogos.
                //if (!errorInserciones)
                DateTime dtFecha = DateTime.Now;
                bool     bFecha  = false;
                proxy.ObtenerFechaServidor(out dtFecha, out bFecha);


                if (esCatalogo)
                {
                    this.oDA0.EstablecerFechaUltimaActualizacion(0, iCodProceso, dtFecha);
                }
                else
                {
                    this.oDA0.EstablecerFechaUltimaActualizacion(iCodProceso, 0, dtFecha);
                }
            }
            catch (Exception ex)
            {
                String m = iCodPantalla != -1 ? this.encabezado.Mensaje : "";
                this.encabezado.Mensaje = String.Empty;
                Refresh();
                this.btCancelar.Enabled = true;
                MessageBox.Show(ex.Message + "---" + m, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            }
            tSync.Enabled = false;
            tSync.Dispose();
            this.Close();
        }