예제 #1
0
        private void Proceso_Grabacion()
        {
            int Total_Reg = 0;
            int c         = 1;



            BindingList <cl_estado_grabacion> ListEstadoGrabacion = new BindingList <cl_estado_grabacion>();

            try
            {
                string MensajeLog     = "Ingreso Exitoso.";
                string MensajeWarning = "";
                string listaLog       = "";
                this.rtbLog.Text = "";
                bool   flagSinError        = true;
                bool   flagNuevoActivoFijo = true;
                int    IdActivoFijo        = 0;
                string CodActivoFijo       = "";
                int    IdEmpresa           = param.IdEmpresa;
                lblMensaje.Text    = "";
                lblMensaje.Visible = false;

                gridControl_estado_grab_x_activofijo.DataSource = ListEstadoGrabacion;


                if (this.gridControlActivoFijo.DataSource != null)
                {
                    if (rgImportar.SelectedIndex == 0)
                    {
                        MensajeWarning = "Atencion esta a punto de eliminar toda la informacion actual, y reemplazarla con la nueva. Esta seguro de continuar?";
                    }
                    else
                    {
                        MensajeWarning = "Atencion esta a punto de proceder. Esta seguro de continuar?";
                    }
                    lblmsg3.Visible = true;
                    if (MessageBox.Show(MensajeWarning, "SISTEMAS", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    {
                        if (rgImportar.SelectedIndex == 0)
                        {
                            if (!_ActivoFijoBus.EliminarDB_Todos(IdEmpresa, ref MensajeError))
                            {
                                MensajeLog   = "Error al eliminar registros en bases de datos \n" + MensajeError;
                                flagSinError = false;
                            }
                        }

                        if (flagSinError == true)//si es falso es porque entro al Eliminar y tuvo error, realmente no deberia hacer nada.
                        {
                            //splashScreenManager.ShowWaitForm();

                            Total_Reg           = _ListActivoFijoInfo.Count();
                            progressBar.Maximum = Total_Reg;

                            progressBar.Minimum  = 1;
                            progressBar.Step     = 1;
                            lblNumRegistros.Text = "0 registros de " + Total_Reg;
                            c = 1;

                            foreach (Af_Activo_fijo_Info item in _ListActivoFijoInfo)
                            {
                                flagSinError  = true;
                                CodActivoFijo = item.CodActivoFijo;

                                /*
                                 * _ActivoFijoInfo = _ActivoFijoBus.Get_ActivoFijo_x_CODIGO(param.IdEmpresa, CodActivoFijo);
                                 * if (_ActivoFijoInfo.IdActivoFijo != 0)
                                 * {
                                 *  IdActivoFijo = _ActivoFijoInfo.IdActivoFijo;
                                 *  item.IdActivoFijo = IdActivoFijo;
                                 *  item.Af_Nombre = _ActivoFijoInfo.Af_Nombre;
                                 *
                                 *  flagNuevoActivoFijo = false;//el activo fijo ya esta en la base de datos
                                 *  if (!_ActivoFijoBus.ModificarDB(_ActivoFijoInfo, ref MensajeError))//para grabar nuevos datos
                                 *  {
                                 *      listaLog += "Cod: " + item.CodActivoFijo + "\t" + item.Af_Nombre + " ;" + "\n";
                                 *      flagSinError = false;
                                 *  }
                                 *
                                 * }
                                 * else*/
                                {
                                    _ActivoFijoInfo     = item;
                                    flagNuevoActivoFijo = true;//es nuevo activo fijo
                                    if (!_ActivoFijoBus.GrabarDB(_ActivoFijoInfo, ref IdActivoFijo, ref CodActivoFijo, ref MensajeError))
                                    {
                                        listaLog    += "Cod: " + item.CodActivoFijo + "\t" + item.Af_Nombre + " -" + "\n";
                                        flagSinError = false;
                                    }
                                }
                                if (flagSinError == true)
                                {
                                    ListEstadoGrabacion.Add(new cl_estado_grabacion(c, item.IdActivoFijo, item.Af_Nombre, item.CodActivoFijo, "OK", "Migrado Ok"));
                                    gridControl_estado_grab_x_activofijo.Refresh();
                                    progressBar.Value    = c;
                                    lblNumRegistros.Text = c + " registros de " + Total_Reg;
                                    progressBar.Refresh();
                                    Application.DoEvents();
                                    c++;
                                }
                            } //fin for each
                        }     //fin sin error /al Eliminar

                        if (listaLog != "")
                        {
                            MensajeLog += " pero con errores:" + "\n" + listaLog + MensajeError;
                        }
                    }//Fin del warning del messageBox al aceptar viene el else
                    else
                    {
                        MensajeLog = "No se efectuo la operación. Operacion cancelada por el usuario.";
                    }
                    lblmsg3.Visible = false;
                }//fin del grid no nulo
                else
                {
                    MensajeLog = "No existen Datos para importación.";
                }
                this.rtbLog.Text = MensajeLog;
            }
            catch (Exception ex)
            {
                //  splashScreenManager.CloseWaitForm();
                //ListEstadoGrabacion.Add(new cl_estado_grabacion(_IdActF,CodActFi,act_nom,
                // act_cat,Convert.ToDateTime(act_fec_comp),Convert.ToDateTime(act_fec_inidep),
                //  Convert.ToDateTime(act_fec_findep),act_coscomp,act_dep_acu,act_ult_dep,act_cos_net, ex.Message));
                lblMensaje.Text    = "Error al cargar " + ex.ToString();
                lblMensaje.Visible = true;
            }
        }