예제 #1
0
 private void FormGastosFijos_Load(object sender, EventArgs e)
 {
     try
     {
         btnGenerar.Visible = false;
         btnGenerar.Visible = DTMenu.Select("Formulario_AEjecutar = 'ELRCuentasPorPagar.FormGastosFijosGenerar'").Count() > 0;
     }
     catch (Exception)
     {
     }
 }
        public override int GrabarDatos()
        {
            //return base.GrabarDatos();
            int          resultado = 0, conteo = 0;
            DialogResult resp;
            List <DataDB_ELR_NET.Parametro> myParms = new List <DataDB_ELR_NET.Parametro>();
            string  valorUnico = "0";
            string  nombreSP   = "";
            bool    esAplicar  = false;
            DataRow fila0;
            int     fechaDesde = 0, fechaHasta = 0;
            string  SSQL = "";
            int     nErrores = 0;
            int     tipoId = 0, conteo1, conteo2;

            try
            {
                fechaDesde = objUtil.DateToInt(dtpFechaDesde.Value);
                fechaHasta = objUtil.DateToInt(dtpFechaHasta.Value);
                temporalID = objUtil.GetTemporalID();


                if (dtgOpciones.RowCount <= 0)
                {
                    return(0);
                }

                resp = objUtil.MostrarMensajePregunta("Esta Seguro que Desea Generar Movimientos?");
                if (resp != DialogResult.Yes)
                {
                    return(0);
                }

                //Buscamos el total de asientos contables
                conteo1 = objDB.GetConteoAsientos();

                for (int i = 0; i < dtgOpciones.RowCount; i++)
                {
                    if (nErrores == 0)
                    {
                        valorUnico = dtgOpciones["Unico", i].Value.ToString();
                        esAplicar  = (bool)dtgOpciones["EsAplicar", i].Value;

                        if (esAplicar)
                        {
                            this.Cursor = Cursors.WaitCursor;
                            conteo++;

                            fila0    = DTDetalle.Select("Unico = " + valorUnico)[0];
                            nombreSP = objUtil.GetAsString("Nombre_SP", fila0);
                            tipoId   = objUtil.GetAsInt("Tipo_Id", fila0);

                            myParms = new List <DataDB_ELR_NET.Parametro>();
                            myParms.Add(new DataDB_ELR_NET.Parametro("PFechaDesde", fechaDesde));
                            myParms.Add(new DataDB_ELR_NET.Parametro("PFechaHasta", fechaHasta));
                            myParms.Add(new DataDB_ELR_NET.Parametro("empresaId", EMPRESA_ID));
                            myParms.Add(new DataDB_ELR_NET.Parametro("autor", nombreUsuario));
                            myParms.Add(new DataDB_ELR_NET.Parametro("IdentificadorTemp", temporalID));
                            myParms.Add(new DataDB_ELR_NET.Parametro("TipoId", tipoId));

                            objDB.iniciarTransaccion();
                            resultado = objDB.EjecutarSP(nombreSP, myParms);
                            if (resultado < 0)
                            {
                                nErrores++;
                                MostrarErrorTemporal();
                                objDB.cancelarTransaccion();
                                break;
                            }
                            else
                            {
                                this.Cursor = Cursors.Default;
                                objDB.confirmarTransaccion();
                            }
                        }
                    }
                }

                if ((resultado >= 0) && (conteo > 0))
                {
                    lOK = true;
                    //Buscamos el total de asientos contables
                    conteo2 = objDB.GetConteoAsientos();

                    objUtil.MostrarMensajeInformacion("SE HAN GENERADOS " + (conteo2 - conteo1).ToString("N0") + " ASIENTOS DE FORMA SATISFACTORIA");
                    if (DTMenu.Select("Formulario_AEjecutar = 'ELRContaGeneral.FormContaMovimientos'").Count() > 0)
                    {
                        ejecutaForm("ELRContaGeneral.FormContaMovimientos");
                    }

                    if (cerrarAlGrabar)
                    {
                        Close();
                    }
                }
            }
            catch (Exception ex)
            {
                objDB.cancelarTransaccion();
                objUtil.MostrarMensajeError(ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }

            return(resultado);
        }