Ejemplo n.º 1
0
    private string Procesar()
    {
        string sResul = "";

        try
        {
            #region Obtenión de dataset con proyectosubnodo y creación de HASTABLE
            oProyectoSubNodo = null;
            DataSet ds = CONSUCONTACORO.GetDatosParaValidacion();

            htProyectoSubNodo = new Hashtable();
            foreach (DataRow dsProyectoSubNodo in ds.Tables[0].Rows)//Recorro tabla de proyectos-subnodos
            {
                htProyectoSubNodo.Add(dsProyectoSubNodo["t301_idproyecto"].ToString() + @"/" + dsProyectoSubNodo["t303_idnodo"].ToString(),
                                      new ProyectoSubNodo((int)dsProyectoSubNodo["t301_idproyecto"],
                                                          (int)dsProyectoSubNodo["t305_idproyectosubnodo"],
                                                          (int)dsProyectoSubNodo["t303_idnodo"],
                                                          dsProyectoSubNodo["t305_cualidad"].ToString()
                                                          )
                                      );
            }

            ds.Dispose();
            #endregion

            #region Abro transaccion
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccion(oConn);
            }
            catch (Exception ex)
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
                return(sResul);
            }
            #endregion

            string sEstadoMes  = "";
            int    nSegMesProy = 0;

            CONSUCONTA.DeleteByAnno(tr, nAnno);

            DataSet ds2 = CONSUCONTACORO.GetCatalogo(tr);
            foreach (DataRow oFila in ds2.Tables[0].Rows)
            {
                oProyectoSubNodo = (ProyectoSubNodo)htProyectoSubNodo[oFila["t301_idproyecto"].ToString() + "/" + oFila["t303_idnodo"].ToString()];
                if (oProyectoSubNodo != null)
                {
                    if (oFila["t478_descripcion"].ToString() != "" && int.Parse(oFila["t325_anomes"].ToString().Substring(0, 4)) == nAnno)
                    {
                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]);
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]);
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0);
                        }
                        CONSUCONTA.Insert(tr, nSegMesProy, (int)oFila["t315_idproveedor"], (int)oFila["t478_nconsumo"], (decimal)oFila["t478_importe"], (int)oFila["t329_idclaseeco"], (int)oFila["t313_idempresa"], (int)oFila["t478_ndocumento"], oFila["t478_descripcion"].ToString());
                    }
                }
                //else
                //{
                //    string sMsg = "No existe un proyectosubnodo correspondiente al proyecto " + dr["t301_idproyecto"].ToString() + " y al " + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + " " + dr["t303_idnodo"].ToString() + ".";
                //    dr.Close();
                //    dr.Dispose();
                //    throw new Exception(sMsg);
                //}
            }
            ds2.Dispose();

            sResul = "OK@#@";
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar los datos", ex);
            Conexion.CerrarTransaccion(tr);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Master.TituloPagina      = "Movimientos de contabilidad";
        Master.bFuncionesLocales = true;

        if (!Page.IsCallback)
        {
            lblCDP.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.NODO));
            lblCSN1P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO1));
            lblCSN2P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO2));
            lblCSN3P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO3));
            lblCSN4P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO4));

            if (!Utilidades.EstructuraActiva("SN4"))
            {
                fstCSN4P.Style.Add("visibility", "hidden");
            }
            if (!Utilidades.EstructuraActiva("SN3"))
            {
                fstCSN3P.Style.Add("visibility", "hidden");
            }
            if (!Utilidades.EstructuraActiva("SN2"))
            {
                fstCSN2P.Style.Add("visibility", "hidden");
            }
            if (!Utilidades.EstructuraActiva("SN1"))
            {
                fstCSN1P.Style.Add("visibility", "hidden");
            }

            lblMonedaImportes.InnerText = Session["DENOMINACION_VDC"].ToString();
            //if (User.IsInRole("DIS") || ConfigurationManager.AppSettings["MOSTRAR_SOLODIS"] == "0")
            divMonedaImportes.Style.Add("visibility", "visible");

            nAnoMax = CONSUCONTA.ObtenerMesMaximo(null);
            if (nAnoMax != 0)
            {
                hdnDesde.Text      = (int.Parse(nAnoMax.ToString().Substring(0, 4)) * 100 + 1).ToString();
                lblAnno1.InnerText = nAnoMax.ToString().Substring(0, 4);
                hdnHasta.Text      = (int.Parse(nAnoMax.ToString().Substring(0, 4)) * 100 + int.Parse(nAnoMax.ToString().Substring(4, 2))).ToString();
                lblAnno2.InnerText = nAnoMax.ToString().Substring(0, 4);
                int      nMes = int.Parse(nAnoMax.ToString().Substring(4, 2));
                ListItem oLI;
                for (int i = 0; i < nMes; i++)
                {
                    oLI = new ListItem(mes[i], (i + 1).ToString());
                    cboHasta.Items.Add(oLI);
                }
                cboHasta.Value = int.Parse(nAnoMax.ToString().Substring(4, 2)).ToString();
            }
            else
            {
                //hdnDesde.Text = (DateTime.Now.Year * 100 + 1).ToString();
                //txtDesde.Text = mes[0] + " " + DateTime.Now.Year.ToString();
                //hdnHasta.Text = (DateTime.Now.Year * 100 + DateTime.Now.Month).ToString();
                //txtHasta.Text = mes[DateTime.Now.Month - 1] + " " + DateTime.Now.Year.ToString();
                hdnDesde.Text = (DateTime.Now.Year * 100 + 1).ToString();
                hdnHasta.Text = (DateTime.Now.Year * 100 + 1).ToString();
            }
            string[] aCriterios = Regex.Split(cargarCriterios(int.Parse(hdnDesde.Text), int.Parse(hdnHasta.Text)), "@#@");
            if (aCriterios[0] == "OK")
            {
                sCriterios = "var js_cri = new Array();\n" + aCriterios[1];
            }
            else
            {
                Master.sErrores = aCriterios[1];
            }

            if (Utilidades.EstructuraActiva("SN4"))
            {
                nEstructuraMinima = 1;
            }
            else if (Utilidades.EstructuraActiva("SN3"))
            {
                nEstructuraMinima = 2;
            }
            else if (Utilidades.EstructuraActiva("SN2"))
            {
                nEstructuraMinima = 3;
            }
            else if (Utilidades.EstructuraActiva("SN1"))
            {
                nEstructuraMinima = 4;
            }

            strTablaHtml = "<tr id='*' class='FA'><td>&lt; Todos &gt;</td></tr>";

            string[] aDatosPref = Regex.Split(getPreferencia(""), "@#@");
            #region Lectura de preferencia

            if (bHayPreferencia && aDatosPref[0] == "OK")
            {
                sHayPreferencia = "true";
                cboConceptoEje.SelectedValue = aDatosPref[2];
                cboCategoria.SelectedValue   = aDatosPref[3];
                cboCualidad.SelectedValue    = aDatosPref[4];
                if (aDatosPref[5] == "1")
                {
                    rdbOperador.Items[0].Selected = true;
                }
                else
                {
                    rdbOperador.Items[1].Selected = true;
                }
                chkSubcontratacion.Checked = (aDatosPref[6] == "1") ? true : false;
                chkCompras.Checked         = (aDatosPref[7] == "1") ? true : false;
                if (aDatosPref[8] == "1")
                {
                    rdbFormato.Items[0].Selected = true;
                }
                else
                {
                    rdbFormato.Items[1].Selected = true;
                }

                //nUtilidadPeriodo = int.Parse(aDatosPref[8]);
                //hdnDesde.Text = aDatosPref[9];
                //txtDesde.Text = aDatosPref[10];
                //hdnHasta.Text = aDatosPref[11];
                //txtHasta.Text = aDatosPref[12];
                sSubnodos = aDatosPref[9];
                //rdbFormato.SelectedValue = aDatosPref[5];
                //
                //hdnProducPref.Text = aDatosPref[43];
            }
            else if (aDatosPref[0] == "Error")
            {
                Master.sErrores += Errores.mostrarError(aDatosPref[1]);
            }
            #endregion

            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";

            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }