Ejemplo n.º 1
0
    private void PageDataBind()
    {
        // hacemos el databinding de los controles que muestran la consulta al usuario

        // ------------------------------------------------------------------------------------------------
        // hacemos el databinding de los dos combos

        this.CiasContab_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue = User.Identity.Name;
        this.Monedas_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue    = User.Identity.Name;

        CiasContab_DropDownList.DataBind();
        Monedas_DropDownList.DataBind();

        // intentamos usar como parametros del LinqDataSource el primer item en los combos Monedas y CiasContab

        if (this.CiasContab_DropDownList.Items.Count > 0)
        {
            CiasContab_DropDownList.SelectedIndex = 0;
        }

        if (this.Monedas_DropDownList.Items.Count > 0)
        {
            Monedas_DropDownList.SelectedIndex = 0;
        }

        // establecemos los valores de los parámetros en el LinqDataSource

        ConsultaPresupuesto_SqlDataSource.SelectParameters["CiaContab"].DefaultValue     = CiasContab_DropDownList.SelectedValue.ToString();
        ConsultaPresupuesto_SqlDataSource.SelectParameters["Moneda"].DefaultValue        = Monedas_DropDownList.SelectedValue.ToString();
        ConsultaPresupuesto_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue = User.Identity.Name;

        this.ConsultaPresupuesto_ListView.DataBind();
    }
    private void RefreshAndBindInfo()
    {
        if (!User.Identity.IsAuthenticated)
        {
            FormsAuthentication.SignOut();
            return;
        }


        if (Session["FiltroForma"] == null)
        {
            ErrMessage_Span.InnerHtml = "Aparentemente, Ud. no ha indicado un filtro aún.<br />Por favor indique y " +
                                        "aplique un filtro antes de intentar mostrar el resultado de la consulta.";
            ErrMessage_Span.Style["display"] = "block";

            return;
        }

        dbContabDataContext dbContab = new dbContabDataContext();

        // --------------------------------------------------------------------------------------------
        // determinamos el mes y año fiscales, para usarlos como criterio para buscar el saldo en la tabla
        // SaldosContables. En esta table, los saldos están para el mes fiscal y no para el mes calendario.
        // Los meses solo varían cuando el año fiscal no es igual al año calendario

        // --------------------------------------------------------------------------------------------
        // eliminamos el contenido de la tabla temporal

        try
        {
            dbContab.ExecuteCommand("Delete From tTempWebReport_PresupuestoConsultaMontosEstimados Where NombreUsuario = {0}", Membership.GetUser().UserName);
        }
        catch (Exception ex)
        {
            dbContab.Dispose();

            ErrMessage_Span.InnerHtml = "Ha ocurrido un error al intentar ejecutar una operación de acceso a la base de datos.<br />" +
                                        "El mensaje específico de error es: " + ex.Message + "<br />";
            ErrMessage_Span.Style["display"] = "block";

            return;
        }

        // usamos el criterio que indico el usuario para leer los códigos de presupuesto y sus montos
        // estimados y registrar esta información en una tabla 'temporal' (tTempWebReport...)

        var query = dbContab.ExecuteQuery <Presupuesto_Monto>(
            "Select * From Presupuesto_Montos Where " +
            Session["FiltroForma"].ToString());

        List <tTempWebReport_PresupuestoConsultaMontosEstimado> TemporalRecords_List =
            new List <tTempWebReport_PresupuestoConsultaMontosEstimado>();
        tTempWebReport_PresupuestoConsultaMontosEstimado TemporalRecord;

        foreach (Presupuesto_Monto record in query)
        {
            TemporalRecord = new tTempWebReport_PresupuestoConsultaMontosEstimado();

            TemporalRecord.Moneda            = record.Moneda;
            TemporalRecord.CiaContab         = record.CiaContab;
            TemporalRecord.AnoFiscal         = record.Ano;
            TemporalRecord.CodigoPresupuesto = record.CodigoPresupuesto;

            TemporalRecord.Mes01_Est = record.Mes01_Est;
            TemporalRecord.Mes02_Est = record.Mes02_Est;
            TemporalRecord.Mes03_Est = record.Mes03_Est;
            TemporalRecord.Mes04_Est = record.Mes04_Est;
            TemporalRecord.Mes05_Est = record.Mes05_Est;
            TemporalRecord.Mes06_Est = record.Mes06_Est;
            TemporalRecord.Mes07_Est = record.Mes07_Est;
            TemporalRecord.Mes08_Est = record.Mes08_Est;
            TemporalRecord.Mes09_Est = record.Mes09_Est;
            TemporalRecord.Mes10_Est = record.Mes10_Est;
            TemporalRecord.Mes11_Est = record.Mes11_Est;
            TemporalRecord.Mes12_Est = record.Mes12_Est;

            TemporalRecord.NombreUsuario = Membership.GetUser().UserName;

            TemporalRecords_List.Add(TemporalRecord);
        }

        try
        {
            dbContab.tTempWebReport_PresupuestoConsultaMontosEstimados.InsertAllOnSubmit(TemporalRecords_List);
            dbContab.SubmitChanges();
        }

        catch (Exception ex)
        {
            dbContab.Dispose();

            ErrMessage_Span.InnerHtml        = "Ha ocurrido un error al intentar ejecutar una operación de acceso a la base de datos. <br /> El mensaje específico de error es: " + ex.Message + "<br /><br />";
            ErrMessage_Span.Style["display"] = "block";
            return;
        }

        this.CiasContab_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue = Membership.GetUser().UserName;
        this.Monedas_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue    = Membership.GetUser().UserName;
        this.Anos_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue       = Membership.GetUser().UserName;

        CiasContab_DropDownList.DataBind();
        Monedas_DropDownList.DataBind();
        Anos_DropDownList.DataBind();

        // intentamos usar como parametros del LinqDataSource el primer item en los combos Monedas y CiasContab

        if (this.CiasContab_DropDownList.Items.Count > 0)
        {
            CiasContab_DropDownList.SelectedIndex = 0;
        }

        if (this.Monedas_DropDownList.Items.Count > 0)
        {
            Monedas_DropDownList.SelectedIndex = 0;
        }

        if (this.Anos_DropDownList.Items.Count > 0)
        {
            Anos_DropDownList.SelectedIndex = 0;
        }

        // establecemos los valores de los parámetros en el LinqDataSource


        MontosEstimados_SqlDataSource.SelectParameters["CiaContab"].DefaultValue = "-999";
        MontosEstimados_SqlDataSource.SelectParameters["Moneda"].DefaultValue    = "-99";
        MontosEstimados_SqlDataSource.SelectParameters["AnoFiscal"].DefaultValue = "-99";

        if (CiasContab_DropDownList.SelectedValue != null &&
            CiasContab_DropDownList.SelectedValue.ToString() != "")
        {
            MontosEstimados_SqlDataSource.SelectParameters["CiaContab"].DefaultValue =
                CiasContab_DropDownList.SelectedValue.ToString();
        }

        if (Monedas_DropDownList.SelectedValue != null &&
            Monedas_DropDownList.SelectedValue.ToString() != "")
        {
            MontosEstimados_SqlDataSource.SelectParameters["Moneda"].DefaultValue =
                Monedas_DropDownList.SelectedValue.ToString();
        }

        if (Anos_DropDownList.SelectedValue != null &&
            Anos_DropDownList.SelectedValue.ToString() != "")
        {
            MontosEstimados_SqlDataSource.SelectParameters["AnoFiscal"].DefaultValue =
                Anos_DropDownList.SelectedValue.ToString();
        }

        MontosEstimados_SqlDataSource.SelectParameters["NombreUsuario"].DefaultValue = Membership.GetUser().UserName;

        MontosEstimados_ListView.DataBind();

        dbContab.Dispose();
    }
Ejemplo n.º 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!User.Identity.IsAuthenticated)
        {
            FormsAuthentication.SignOut();
            return;
        }

        Master.Page.Title = "Presupuesto - Registro de montos de presupuesto estimados";

        Message_Span.InnerHtml        = "";
        Message_Span.Style["display"] = "none";

        ErrMessage_Span.InnerHtml        = "";
        ErrMessage_Span.Style["display"] = "none";

        GeneralMessage_Span.InnerHtml        = "";
        GeneralMessage_Span.Style["display"] = "none";

        GeneralError_Span.InnerHtml        = "";
        GeneralError_Span.Style["display"] = "none";

        if (!Page.IsPostBack)
        {
            HtmlGenericControl MyHtmlH2;

            MyHtmlH2 = (HtmlGenericControl)Master.FindControl("PageTitle_TableCell");
            if (!(MyHtmlH2 == null))
            {
                MyHtmlH2.InnerHtml = "Presupuesto - Consulta y actualización de montos estimados";
            }

            Monedas_DropDownList.DataBind();
            CiasContab_DropDownList.DataBind();
            Anos_DropDownList.DataBind();

            this.PresupuestoMontos_ListView.DataBind();
        }
        else
        {
            if (RebindPage_HiddenField.Value == "1")
            {
                // cuando este hidden field es 1 es porque el thread que ejecuta el proceso terminó. Entonces
                // hacemos el binding de los controles; leemos el xml file que grabó el proceso y mostramos un
                // mensaje al usuario

                RebindPage_HiddenField.Value = "0";

                // hacemos el databind en los combos y el listview para que el usuario no tenga que cerrar y abrir
                // la página para que los registros recién agregados sean mostrados

                try
                {
                    Monedas_DropDownList.DataBind();
                    CiasContab_DropDownList.DataBind();
                    Anos_DropDownList.DataBind();

                    // nótese como seleccionamos el primer registro de cada combo; así, cuando se haga el
                    // DataBind del ListView se mostrara el contenido que corresponde a los valores que
                    //  efectivamente se ven en los combos

                    Monedas_DropDownList.SelectedIndex    = 0;
                    CiasContab_DropDownList.SelectedIndex = 0;
                    Anos_DropDownList.SelectedIndex       = 0;
                }
                catch (Exception ex)
                {
                }

                // hacemos el databind del ListView
                this.PresupuestoMontos_ListView.DataBind();

                // nótese como, al menos en forma temporal, comentamos lo que tiene que ver con el proceso de ejecución en
                // un thread separado, para lograr un meter (progress) en la página ...

                //    try
                //    {
                //        // -----------------------------------------------------------------------------------------
                //        // leemos el xml file que contiene los resultados de la ejecución del proceso

                //        String fileName = String.Concat(Page.GetType().Name, "-", User.Identity.Name);
                //        String filePath = Server.MapPath("~/keepstatefiles/" + fileName + ".xml");

                //        XElement xml = XElement.Load(filePath);

                //        int nRegistrosAgregadosAnoAnterior =
                //            int.Parse(
                //            xml.Element("Values").Element("RegistrosAgregadosAnoAnterior").Value);

                //         int nRegistrosActualizadosAnoAnterior =
                //            int.Parse(
                //            xml.Element("Values").Element("RegistrosActualizadosAnoAnterior").Value);

                //        int nRegistrosAgregadosAnoActual =
                //            int.Parse(
                //            xml.Element("Values").Element("RegistrosAgregadosAnoActual").Value);

                //        xml = null;

                //        Message_Span.InnerHtml = "Ok, hemos agregado " + nRegistrosAgregadosAnoAnterior.ToString() + " registros usando los montos estimados " +
                //            "definidos para el año anterior al indicado (" + Ano_TextBox.Text + ").<br />" +

                //            "Se han actualizado, pues ya existían, " + nRegistrosActualizadosAnoAnterior.ToString() + " registros usando los montos estimados " +
                //            "definidos para el año anterior al indicado (" + Ano_TextBox.Text + ").<br />" +

                //            "Además, hemos agregado " + nRegistrosAgregadosAnoActual.ToString() + " registros directamente desde la tabla de códigos de " +
                //            "presupuesto (no se habían definido para el año anterior).";

                //        Message_Span.Style["display"] = "block";

                //    }
                //    catch (Exception ex)
                //    {
                //        Message_Span.InnerHtml = "Hemos obtenido un error al intentar ejecutar el proceso.<br /> " +
                //        "El mesaje espécifico de error es: " + ex.Message;

                //        Message_Span.Style["display"] = "block";
                //    }
            }
        }
    }