protected void Page_Load(object sender, EventArgs e) { ltrMensajeHeader.Text = ""; cnt_general.Visible = false; if (Request["EncuestaNro"] == null) { Response.Redirect("EncuestaList.aspx"); } else { filterEncuesta.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterEncuesta.EncuestaNro = int.Parse("0" + Request["EncuestaNro"]); DataTable dtEncuesta = busEncuesta.Search(filterEncuesta); if (dtEncuesta != null && dtEncuesta.Rows.Count > 0) { cnt_general.Visible = true; EncuestaNro = int.Parse("0" + Request["EncuestaNro"]); if (!IsPostBack) { DataToControls(dtEncuesta.Rows[0]); } ltrNroEncuesta.Text = EncuestaNro.ToString(); } else { mensaje.Text = "<span style='color:green;font-size:12px;'>ATENCION: No hemos encontrado el Nro de Encuesta!!!</span>"; } } filterTipoDeAlimentos.OrderBy = "OrdenDeVisualizacion"; filterTipoDieta.OrderBy = "TipoDeDieta"; }
/// <summary> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ItemCommand_lvGeneric(object sender, ListViewCommandEventArgs e) { try { Int32 TipoDeDietaId = int.Parse("0" + e.CommandArgument.ToString()); if (e.CommandName.ToString().ToUpper() == "ELIMINAR") { //-- Si existe la relacion de al menos un registro, //-- NO SE PUEDE ELIMINAR EL TIPO DE ALIMENTO //-------------------------------------------------- filterAli.OpeTipoDeDietaId = Helpers.Operators.Operadores_Int.Igual; filterAli.TipoDeDietaId = TipoDeDietaId; DataTable dtControl = busAli.Search(filterAli); if (dtControl != null && dtControl.Rows.Count > 0) { ltrMessage.Text = "<span style='color:red;'>No es posible eliminar el Tipo de Dieta ya que tiene Encuestas asignadas!</span>"; ltrMessage.Visible = true; return; } //-- Elimino el Tipo de Alimento //-------------------------------------------------- key.TipoDeDietaId = TipoDeDietaId; bus.Delete(key); lvGeneric.DataBind(); ltrMessage.Text = "<span style='color:red;'>El Tipo de Dieta fue Eliminado correctamente!</span>"; ltrMessage.Visible = true; } } catch (Exception ex) { Logger.LogExceptionStatic(ex); } }
protected void Page_Load(object sender, EventArgs e) { //-- Se puede exportar //-- 1 - UNA SOLA ENCUENTAS //-- 2 - TODAS LAS ENCUESTAS //--------------------------------------------- if (Request.QueryString.Count == 0) { //-- Exporto TODAS //------------------------ exportAll = true; } else if (Request["EncuestaNro"] == null || Request["Listado"] == null) { //-- Exporto UNA UNICA //------------------------ exportAll = false; mensaje.Text = "<span style='color:red;font-size:12px;'>ATENCION: Paso de parámetros incorrectos!!!</span>"; return; } //-- Si estoy exportando una verifico que el usuario //-- logueado sea el DUEÑO. //-------------------------------------------------------- if (exportAll == false) { Int32.TryParse(Request["EncuestaNro"].ToString(), out encuestaNro); Int32.TryParse(Request["listado"].ToString(), out listado); //-- Verifico que el UserId sea el dueño de la ENCUESTA //-------------------------------------------------------- filterEncuesta.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filterEncuesta.UserId = MyUsers.GetLoggedUserId(); filterEncuesta.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterEncuesta.EncuestaNro = encuestaNro; DataTable dtEncuesta = busEncuesta.Search(filterEncuesta); if ((dtEncuesta != null && dtEncuesta.Rows.Count == 0) || listado == 0) { mensaje.Text = "<span style='color:red;font-size:12px;'>ATENCION: No hemos encontrado el Nro de Encuesta!!!</span>"; return; } if (listado != 1 && listado != 2 && listado != 3) { mensaje.Text = "<span style='color:red;font-size:12px;'>ATENCION: Tipo de Reporte no válido. Contáctese con el Administrador!!!</span>"; return; } } if (listado == 1) { try { #region Listado 1 Listado_AlimentosPorEncuestasBus bus = new Listado_AlimentosPorEncuestasBus(); Listado_AlimentosPorEncuestasEntityFilter filter = new Listado_AlimentosPorEncuestasEntityFilter(); filter.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filter.EncuestaNro = encuestaNro; filter.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filter.UserId = MyUsers.GetLoggedUserId(); filter.OrderBy = "nombre"; DataTable dtAlimentos = bus.Search(filter); if (dtAlimentos != null && dtAlimentos.Rows.Count > 0) { ExportToExcel(dtAlimentos, 1); } #endregion } catch (Exception ex) { Logger.LogExceptionStatic(ex); } } else if (listado == 2) { try { #region Listado 2 Listado_NutrientesPorEncuestasBus busNutrientes = new Listado_NutrientesPorEncuestasBus(); Listado_NutrientesPorEncuestasEntityFilter filterNutrientes = new Listado_NutrientesPorEncuestasEntityFilter(); filterNutrientes.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterNutrientes.EncuestaNro = encuestaNro; filterNutrientes.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filterNutrientes.UserId = MyUsers.GetLoggedUserId(); filterNutrientes.OrderBy = "EncuestaNro, Nombre"; DataTable dtAlimentos = busNutrientes.Search(filterNutrientes); if (dtAlimentos != null && dtAlimentos.Rows.Count > 0) { ExportToExcel(dtAlimentos, 2); } #endregion } catch (Exception ex) { Logger.LogExceptionStatic(ex); } } else if (listado == 3) { try { #region Listado 3 Listado_NutrientesPorAlimentosBus busNutrientesPorAli = new Listado_NutrientesPorAlimentosBus(); Listado_NutrientesPorAlimentosEntityFilter filterNutrientesPorAli = new Listado_NutrientesPorAlimentosEntityFilter(); filterNutrientesPorAli.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterNutrientesPorAli.EncuestaNro = encuestaNro; filterNutrientesPorAli.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filterNutrientesPorAli.UserId = MyUsers.GetLoggedUserId(); filterNutrientesPorAli.OrderBy = "EncuestaNro, Alimento, Nutriente"; DataTable dtAlimentos = busNutrientesPorAli.Search(filterNutrientesPorAli); if (dtAlimentos != null && dtAlimentos.Rows.Count > 0) { ExportToExcel(dtAlimentos, 3); } #endregion } catch (Exception ex) { if (w != null) { w.Close(); } Logger.LogExceptionStatic(ex); } } }
protected void Page_Load(object sender, EventArgs e) { //-- Se puede exportar //-- 1 - UNA SOLA ENCUENTAS //-- 2 - TODAS LAS ENCUESTAS => EncuestaNro = 0 //------------------------------------------------ if (Request["EncuestaNro"] == null || Request["Listado"] == null) { mensaje.Text = "<span style='color:red;font-size:12px;'>ATENCION: No hemos encontrado el Nro de Encuesta!!!</span>"; return; } Int32.TryParse(Request["EncuestaNro"].ToString(), out encuestaNro); Int32.TryParse(Request["listado"].ToString(), out listado); bool isAdministrator = false; string[] aRolesUser = Roles.GetRolesForUser(MyUsers.GetLoggedUserName()); foreach (string role in aRolesUser) { if (role.ToUpper() == "ADMINISTRADOR") { isAdministrator = true; } } //-- Si estoy exportando una verifico que el usuario //-- logueado sea el DUEÑO. //-------------------------------------------------------- if (encuestaNro > 0) { if (isAdministrator == false) { //-- Verifico que el UserId sea el dueño de la ENCUESTA //-------------------------------------------------------- filterEncuesta.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filterEncuesta.UserId = MyUsers.GetLoggedUserId(); filterEncuesta.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterEncuesta.EncuestaNro = encuestaNro; DataTable dtEncuesta = busEncuesta.Search(filterEncuesta); if ((dtEncuesta != null && dtEncuesta.Rows.Count == 0) || listado == 0) { mensaje.Text = "<span style='color:red;font-size:12px;'>ATENCION: No hemos encontrado el Nro de Encuesta!!!</span>"; return; } } } if (listado != 1 && listado != 2 && listado != 3) { mensaje.Text = "<span style='color:red;font-size:12px;'>ATENCION: Tipo de Reporte no válido. Contáctese con el Administrador!!!</span>"; return; } FileStream MyFileStream; string nameFileEncuesta = string.Format("Encuesta-{0}.xls", encuestaNro.ToString().Trim()); string fileName = string.Format("{0}.xls", Guid.NewGuid()); string applicationPath = Server.MapPath(Request.ApplicationPath); if (!applicationPath.EndsWith(@"\")) { applicationPath = applicationPath.Trim() + @"\"; } string fullNameFile = string.Format("{0}Excels\\{1}", applicationPath, fileName); //string fullNameFile = string.Format("{1}Excels\\{1}", applicationPath, fileName); if (listado == 1) { try { #region Listado 1 Listado_AlimentosPorEncuestasBus bus = new Listado_AlimentosPorEncuestasBus(); Listado_AlimentosPorEncuestasEntityFilter filter = new Listado_AlimentosPorEncuestasEntityFilter(); if (encuestaNro > 0) { filter.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filter.EncuestaNro = encuestaNro; } if (!isAdministrator) { filter.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filter.UserId = MyUsers.GetLoggedUserId(); } filter.OrderBy = "EncuestaNro, Nombre"; filter.OpeCantidad = Helpers.Operators.Operadores_Numeric.Igual; filter.Cantidad = 1; DataTable dtAlimentos = bus.Search(filter); if (dtAlimentos != null && dtAlimentos.Rows.Count > 0) { FileStream fs = new FileStream(fullNameFile, FileMode.Create, FileAccess.ReadWrite); w = new StreamWriter(fs); EscribeCabeceraAlimento(dtAlimentos.Rows[0]); int index = 1; foreach (DataRow dr in dtAlimentos.Rows) { if (index == 1) { index = 2; } else { index = 1; } EscribeLineaAlimento(dr, index); } EscribePiePagina(); w.Close(); } #endregion } catch (Exception ex) { mensaje.Text = string.Format("<div style='padding:10px;background-color:Red;color:white;font-family:Arial;font-size:12px;'><b>{0}</b></div>", ex.Message); mensaje.Visible = true; if (w != null) { w.Close(); } Logger.LogExceptionStatic(ex); } } else if (listado == 2) { try { #region Listado 2 Listado_NutrientesPorEncuestasBus busNutrientes = new Listado_NutrientesPorEncuestasBus(); Listado_NutrientesPorEncuestasEntityFilter filterNutrientes = new Listado_NutrientesPorEncuestasEntityFilter(); if (encuestaNro > 0) { filterNutrientes.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterNutrientes.EncuestaNro = encuestaNro; } if (!isAdministrator) { filterNutrientes.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filterNutrientes.UserId = MyUsers.GetLoggedUserId(); } filterNutrientes.OrderBy = "EncuestaNro, Nombre"; DataTable dtAlimentos = busNutrientes.Search(filterNutrientes); if (dtAlimentos != null && dtAlimentos.Rows.Count > 0) { FileStream fs = new FileStream(fullNameFile, FileMode.Create, FileAccess.ReadWrite); w = new StreamWriter(fs); EscribeCabeceraNutriente(dtAlimentos.Rows[0]); int index = 1; foreach (DataRow dr in dtAlimentos.Rows) { if (index == 1) { index = 2; } else { index = 1; } EscribeLineaNutriente(dr, index); } EscribePiePagina(); w.Close(); } #endregion } catch (Exception ex) { mensaje.Text = string.Format("<div style='padding:10px;background-color:Red;color:white;font-family:Arial;font-size:12px;'><b>{0}</b></div>", ex.Message); mensaje.Visible = true; if (w != null) { w.Close(); } Logger.LogExceptionStatic(ex); } } else if (listado == 3) { try { #region Listado 3 Listado_NutrientesPorAlimentosBus busNutrientesPorAli = new Listado_NutrientesPorAlimentosBus(); Listado_NutrientesPorAlimentosEntityFilter filterNutrientesPorAli = new Listado_NutrientesPorAlimentosEntityFilter(); if (encuestaNro > 0) { filterNutrientesPorAli.OpeEncuestaNro = Helpers.Operators.Operadores_Int.Igual; filterNutrientesPorAli.EncuestaNro = encuestaNro; } if (!isAdministrator) { filterNutrientesPorAli.OpeUserId = Helpers.Operators.Operadores_UniqueIdentifier.Igual; filterNutrientesPorAli.UserId = MyUsers.GetLoggedUserId(); } filterNutrientesPorAli.OrderBy = "EncuestaNro, Alimento, Nutriente"; DataTable dtAlimentos = busNutrientesPorAli.Search(filterNutrientesPorAli); if (dtAlimentos != null && dtAlimentos.Rows.Count > 0) { FileStream fs = new FileStream(fullNameFile, FileMode.Create, FileAccess.ReadWrite); w = new StreamWriter(fs); EscribeCabeceraNutrientePorAli(dtAlimentos.Rows[0]); int index = 1; foreach (DataRow dr in dtAlimentos.Rows) { if (index == 1) { index = 2; } else { index = 1; } EscribeLineaNutrientePorAli(dr, index); } EscribePiePagina(); w.Close(); } #endregion } catch (Exception ex) { mensaje.Text = string.Format("<div style='padding:10px;background-color:Red;color:white;font-family:Arial;font-size:12px;'><b>{0}</b></div>", ex.Message); mensaje.Visible = true; if (w != null) { w.Close(); } Logger.LogExceptionStatic(ex); } } MyFileStream = new FileStream(fullNameFile, FileMode.Open); long FileSize = MyFileStream.Length; byte[] Buffer = new byte[(int)FileSize]; MyFileStream.Read(Buffer, 0, (int)MyFileStream.Length); MyFileStream.Close(); Response.Clear(); Response.Buffer = false; Response.AppendHeader("Content-Type", "application/ms-excel"); Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", nameFileEncuesta)); Response.AppendHeader("Content-Transfer-Encoding", "binary"); Response.BinaryWrite(Buffer); Response.End(); File.Delete(fullNameFile); }