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(); }
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"; // } } } }