Ejemplo n.º 1
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            txtArchivoOld.Attributes.Add("readonly", "readonly");
            txtAutor.Attributes.Add("readonly", "readonly");
            Session["bSubido"] = false;

            //if (Session["CATEG_SUPER"].ToString() == "A") strAutor = "<label name='lblAutor' class='enlace' onclick='obtenerAutor()'>Autor</label>";

            try
            {
                if (!Page.IsPostBack)
                {
                    hdnsTipo.Text   = Request.QueryString["sTipo"].ToString();
                    hdnnItem.Text   = Request.QueryString["nItem"].ToString();
                    hdnsAccion.Text = Request.QueryString["sAccion"].ToString();

                    hdnModoLectura.Text = Session["MODOLECTURA"].ToString();

                    if (hdnsAccion.Text == "I")
                    {
                        txtNumEmpleado.Text = Session["IDFICEPI"].ToString();
                        txtAutor.Text       = Session["NOMBRE"].ToString();
                    }
                    else if (hdnsAccion.Text == "U")
                    {
                        switch (hdnsTipo.Text)
                        {
                        case "A":
                            DOCAREA oDocA = DOCAREA.Select(null, int.Parse(Request.QueryString["nIDDOC"].ToString()), false);
                            hdnnIDDOC.Text      = oDocA.t083_iddocut.ToString();
                            txtDescripcion.Text = oDocA.t083_descripcion;
                            txtLink.Text        = oDocA.t083_weblink;
                            txtArchivoOld.Text  = oDocA.t083_nombrearchivo;

                            if (oDocA.t083_privado)
                            {
                                chkPrivado.Checked = true;
                            }
                            else
                            {
                                chkPrivado.Checked = false;
                            }
                            if (oDocA.t083_modolectura)
                            {
                                chkLectura.Checked = true;
                            }
                            else
                            {
                                chkLectura.Checked = false;
                            }

                            txtNumEmpleado.Text = oDocA.t083_autor.ToString();
                            txtAutor.Text       = oDocA.DesAutor + "   (" + oDocA.t083_fecha.ToString() + ")";
                            txtAutorModif.Text  = oDocA.DesAutorModif + "   (" + oDocA.t083_fechamodif.ToString() + ")";

                            //Si el usuario no es ni el autor ni es administrador, se deshabilitan las características.
                            //if (oDocT.t063_autor.ToString() != Session["NUM_EMPLEADO_ENTRADA"].ToString() && Session["CATEG_SUPER"].ToString() != "A")
                            //{
                            //    chkPrivado.Enabled = false;
                            //    chkLectura.Enabled = false;
                            //    chkGestion.Enabled = false;
                            //}
                            break;

                        case "D":
                            DOCDEFICIENCIA oDocD = DOCDEFICIENCIA.Select(null, int.Parse(Request.QueryString["nIDDOC"].ToString()), false);
                            hdnnIDDOC.Text      = oDocD.t084_iddocut.ToString();
                            txtDescripcion.Text = oDocD.t084_descripcion;
                            txtLink.Text        = oDocD.t084_weblink;
                            txtArchivoOld.Text  = oDocD.t084_nombrearchivo;

                            if (oDocD.t084_privado)
                            {
                                chkPrivado.Checked = true;
                            }
                            else
                            {
                                chkPrivado.Checked = false;
                            }
                            if (oDocD.t084_modolectura)
                            {
                                chkLectura.Checked = true;
                            }
                            else
                            {
                                chkLectura.Checked = false;
                            }

                            txtNumEmpleado.Text = oDocD.t084_autor.ToString();
                            txtAutor.Text       = oDocD.DesAutor + "   (" + oDocD.t084_fecha.ToString() + ")";
                            txtAutorModif.Text  = oDocD.DesAutorModif + "   (" + oDocD.t084_fechamodif.ToString() + ")";
                            break;

                        case "PT":
                            /*DOCUPT oDocPT = DOCUPT.Select(null, int.Parse(Request.QueryString["nIDDOC"].ToString()), false);
                             * hdnnIDDOC.Text = oDocPT.t062_iddocupt.ToString();
                             * txtDescripcion.Text = oDocPT.t062_descripcion;
                             * txtLink.Text = oDocPT.t062_weblink;
                             * txtArchivoOld.Text = oDocPT.t062_nombrearchivo;
                             *
                             * if (oDocPT.t062_privado) chkPrivado.Checked = true;
                             * else chkPrivado.Checked = false;
                             * if (oDocPT.t062_modolectura) chkLectura.Checked = true;
                             * else chkLectura.Checked = false;
                             * if (oDocPT.t062_tipogestion) chkGestion.Checked = true;
                             * else chkGestion.Checked = false;
                             *
                             * txtNumEmpleado.Text = oDocPT.t062_autor.ToString();
                             * txtAutor.Text = oDocPT.DesAutor + "   (" + oDocPT.t062_fecha.ToString() + ")";
                             * txtAutorModif.Text = oDocPT.DesAutorModif + "   (" + oDocPT.t062_fechamodif.ToString() + ")";
                             *
                             * //Si el usuario no es ni el autor ni es administrador, se deshabilitan las características.
                             * if (oDocPT.t062_autor.ToString() != Session["NUM_EMPLEADO_ENTRADA"].ToString() && Session["CATEG_SUPER"].ToString() != "A")
                             * {
                             *  chkPrivado.Enabled = false;
                             *  chkLectura.Enabled = false;
                             *  chkGestion.Enabled = false;
                             * }
                             */
                            break;

                        case "PE":
                            /*DOCUPE oDocPE = DOCUPE.Select(null, int.Parse(Request.QueryString["nIDDOC"].ToString()), false);
                             * hdnnIDDOC.Text = oDocPE.t068_iddocupe.ToString();
                             * txtDescripcion.Text = oDocPE.t068_descripcion;
                             * txtLink.Text = oDocPE.t068_weblink;
                             * txtArchivoOld.Text = oDocPE.t068_nombrearchivo;
                             *
                             * if (oDocPE.t068_privado) chkPrivado.Checked = true;
                             * else chkPrivado.Checked = false;
                             * if (oDocPE.t068_modolectura) chkLectura.Checked = true;
                             * else chkLectura.Checked = false;
                             * if (oDocPE.t068_tipogestion) chkGestion.Checked = true;
                             * else chkGestion.Checked = false;
                             *
                             * txtNumEmpleado.Text = oDocPE.t068_autor.ToString();
                             * txtAutor.Text = oDocPE.DesAutor + "   (" + oDocPE.t068_fecha.ToString() + ")";
                             * txtAutorModif.Text = oDocPE.DesAutorModif + "   (" + oDocPE.t068_fechamodif.ToString() + ")";
                             *
                             * //Si el usuario no es ni el autor ni es administrador, se deshabilitan las características.
                             * if (oDocPE.t068_autor.ToString() != Session["NUM_EMPLEADO_ENTRADA"].ToString() && Session["CATEG_SUPER"].ToString() != "A")
                             * {
                             *  chkPrivado.Enabled = false;
                             *  chkLectura.Enabled = false;
                             *  chkGestion.Enabled = false;
                             * }
                             */
                            break;
                        }
                    }
                }
                else
                {
                    Session["bSubido"] = true;
                    Grabar();
                    EsPostBack = "true";
                }
            }
            catch (System.OutOfMemoryException)
            {
                //Si el archivo a subir es demasiado grande, se produce un error por falta de memoria.
                //La ventana de la barra de progreso ya avisa al usuario de esta situación y cierra esta ventana.
            }
            catch (ConservaException cex)
            {
                this.hdnError.Value = Utilidades.MsgErrorConserva("W", cex);
            }
            catch (Exception ex)
            {
                this.hdnError.Value = "Error: " + ex.Message + (char)10;
                if (ex.InnerException != null)
                {
                    this.hdnError.Value += "Detalle error: " + ex.InnerException.Message;
                }
            }
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        string sTipo          = Request.QueryString["sTipo"].ToString();
        int    nIDDOC         = int.Parse(Request.QueryString["nIDDOC"].ToString());
        string sNombreArchivo = "";
        long?  t2_iddocumento = null;

        byte[] ArchivoBinario = null;

        Response.ClearContent();
        Response.ClearHeaders();
        Response.Buffer      = true;
        Response.ContentType = "application/octet-stream";
        try
        {
            switch (sTipo)
            {
            case "A":     // AREA
                DOCAREA oDocA = DOCAREA.Select(null, nIDDOC, true);
                sNombreArchivo = oDocA.t083_nombrearchivo;
                t2_iddocumento = oDocA.t2_iddocumento;
                break;

            case "D":     // DEFICIENCIA
                DOCDEFICIENCIA oDocD = DOCDEFICIENCIA.Select(null, nIDDOC, true);
                sNombreArchivo = oDocD.t084_nombrearchivo;
                t2_iddocumento = oDocD.t2_iddocumento;
                break;
            }

            if (t2_iddocumento != null)
            {
                ArchivoBinario = IB.Conserva.ConservaHelper.ObtenerDocumento((long)t2_iddocumento).content;
            }
            Response.AddHeader("content-disposition", String.Format("attachment;filename={0}", sNombreArchivo));
            //Response.AddHeader("Content-Disposition", "attachment; filename=\"" + sNombreArchivo + "\"");
            Response.BinaryWrite(ArchivoBinario);

            //if (Response.IsClientConnected) Response.Flush();
            //Response.Close();
            Response.End();
        }
        catch (ConservaException cex)
        {
            this.hdnError.Value = Utilidades.MsgErrorConserva("R", cex);
        }
        //catch (System.Web.HttpException hexc)
        //{
        //}
        catch (Exception ex)
        {
            this.hdnError.Value = "No se ha podido obtener el archivo." + (char)10 + (char)10 + " Error: " + ex.Message + (char)10;
            if (ex.InnerException != null)
            {
                this.hdnError.Value += "Detalle error: " + ex.InnerException.Message;
            }
        }
        //Response.Flush();
        finally
        {
            if (this.hdnError.Value == "")
            {
                Response.Close();
                //Response.End();
            }
        }
    }