private string obtenerAsuntos(string sPT, string sOrden, string sAscDesc, byte iEstado, int iTipo)
    {
        StringBuilder sb = new StringBuilder();
        int           nPT;
        string        sIdAsunto, sDesAsunto, sFecha, sIdResponsable;

        nPT = int.Parse(quitaPuntos(sPT));

        sb.Append("<table id='tblDatos1' class='texto MA' style='width:940px; text-align:left;'>");
        sb.Append("<colgroup><col style='width:300px;' /><col style='width:190px;' /><col style='width:87px;' /><col style='width:90px;' /><col style='width:88px;' /><col style='width:90px;' /><col style='width:95px;' /></colgroup>");
        sb.Append("<tbody>");
        SqlDataReader dr = ASUNTO_PT.Catalogo(nPT, "", iEstado, null, null, null, null, null, null, null, "", null, "", null, null,
                                              null, "", iTipo, byte.Parse(sOrden), byte.Parse(sAscDesc));

        while (dr.Read())
        {
            sIdAsunto      = dr["t409_idasunto"].ToString();
            sDesAsunto     = HttpUtility.HtmlEncode(dr["t409_desasunto"].ToString());
            sIdResponsable = dr["t409_responsable"].ToString();
            sb.Append("<tr id='" + sIdAsunto + "' idR='" + sIdResponsable + "'");
            sb.Append(" ondblclick='mDetAsunto(this.id)'");
            sb.Append(" onclick='ms(this); obtenerAcciones(" + sIdAsunto + ")'");
            sb.Append(" style='height:16px;' onmouseover='TTip(event)'>");
            sb.Append("<td><nobr class='NBR W300' style='padding-left:3px;'>" + sDesAsunto + "</nobr></td>");
            sb.Append("<td><nobr class='NBR W180'>" + dr["t384_destipo"].ToString() + "</nobr></td>");
            sb.Append("<td>" + dr["t409_severidad"].ToString() + "</td>");
            sb.Append("<td>" + dr["t409_prioridad"].ToString() + "</td>");
            sFecha = dr["t409_flimite"].ToString();
            if (sFecha != "")
            {
                sFecha = DateTime.Parse(dr["t409_flimite"].ToString()).ToShortDateString();
            }
            sb.Append("<td>" + sFecha + "</td>");
            sFecha = dr["t409_fnotificacion"].ToString();
            if (sFecha != "")
            {
                sFecha = DateTime.Parse(dr["t409_fnotificacion"].ToString()).ToShortDateString();
            }
            sb.Append("<td>" + sFecha + "</td>");
            sb.Append("<td>" + dr["t409_estado"].ToString() + "</td>");

            sb.Append("</tr>");
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</tbody>");
        sb.Append("</table>");
        strTablaHtmlAsunto = sb.ToString();
        return("OK@#@" + strTablaHtmlAsunto);
    }
    private string borrarAsunto(string sIdAsunto)
    {
        string sResul;

        try
        {
            if (sIdAsunto != "")
            {
                ASUNTO_PT.Delete(tr, int.Parse(sIdAsunto));
            }
            sResul = "OK@#@" + sIdAsunto;
        }
        catch (Exception e)
        {
            sResul = "error@#@" + e.Message;
        }
        return(sResul);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            if (Session["IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }
            //if (!(bool)Session["FORANEOS"])
            //{
            //    this.imgForaneo.Visible = false;
            //    this.lblForaneo.Visible = false;
            //}
            sErrores         = "";
            sLectura         = "false";
            sNodo            = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
            nIdAccion        = int.Parse(Utilidades.decodpar(Request.QueryString["a"].ToString())); //nIdAccion
            txtIdAsunto.Text = Utilidades.decodpar(Request.QueryString["as"].ToString());           //idAsunto
            //txtDesAsunto.Text = Utilidades.unescape(Request.QueryString["desAsunto"].ToString());
            ASUNTO_PT oAsto = ASUNTO_PT.Select(null, int.Parse(txtIdAsunto.Text));
            txtDesAsunto.Text   = oAsto.t409_desasunto;
            this.hdnAcceso.Text = Utilidades.decodpar(Request.QueryString["p"].ToString());//Permiso
            nIdPE = int.Parse(quitaPuntos(Request.QueryString["nPE"].ToString()));
            this.hdnDesPE.Text = Request.QueryString["desPE"].ToString();
            nIdPT = int.Parse(quitaPuntos(Utilidades.decodpar(Request.QueryString["nPT"].ToString())));
            this.hdnDesPT.Text         = Request.QueryString["desPT"].ToString();
            this.txtIdResponsable.Text = oAsto.t409_responsable.ToString();
            if (Request.QueryString["sIdResp"] != null && Request.QueryString["sIdResp"] != "undefined")
            {
                if (Request.QueryString["sIdResp"] != "")
                {
                    this.txtIdResponsable.Text = Utilidades.decodpar(Request.QueryString["r"].ToString());//sIdResp
                }
            }
            this.hdnNodo.Value = ProyTec.GetNodo(tr, nIdPT).ToString();
            try
            {
                Utilidades.SetEventosFecha(this.txtValLim);
                Utilidades.SetEventosFecha(this.txtValFin);

                ObtenerDatosAccion();
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener los datos de la acción", ex);
            }
            try
            {
                //Datos de las personas asignadas a la acción
                string   strTabla  = ObtenerRecursos(nIdAccion.ToString(), this.hdnNodo.Value);
                string[] aRecursos = Regex.Split(strTabla, "@#@");
                if (aRecursos[0] == "OK")
                {
                    divR.InnerHtml = aRecursos[1];
                }

                //Datos de las tareas asignadas a la acción
                strTabla = ObtenerTareas(nIdAccion.ToString());
                string[] aTareas = Regex.Split(strTabla, "@#@");
                if (aTareas[0] == "OK")
                {
                    divH.InnerHtml = aTareas[1];
                }

                //Datos de los documentos asociados a la acción
                //strTabla = ObtenerDocumentos(nIdAccion.ToString());
                //string[] aTabla = Regex.Split(strTabla, "@#@");
                //if (aTabla[0] == "OK") divDoc.InnerHtml = aTabla[1];
                string sEstado = PROYECTO.getEstado(null, nIdPE);
                divDoc.InnerHtml = Utilidades.ObtenerDocumentos("AC_PT", nIdAccion, this.hdnAcceso.Text, sEstado);
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener datos complementarios", ex);
            }

            this.hdnAcceso.Text = Request.QueryString["p"].ToString();//Permiso
            if (this.hdnAcceso.Text == "R")
            {
                ModoLectura.Poner(this.Controls);
                sLectura = "true";
            }
            //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);
        }
    }
Beispiel #4
0
    protected string Grabar(string strDatosTarea, string slIntegrantes)
    {
        string sResul = "", sAccionBD, sIdRecurso;
        int    iCodAsunto;
        byte   iEstadoAnt, iEstadoAct;
        //DateTime? dFfp = null;
        //DateTime? dFLi = null;
        //DateTime? dFno = null;
        double dEtp, dEtr;

        bool bNotificable = false, bEnviarAlerta = true, bAlta = false;

        #region Abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(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
        try
        {
            #region Datos asunto
            string[] aDatosTarea = Regex.Split(strDatosTarea, "##");
            // 0 -> id asunto (si -1 es un alta)
            // 1 -> descripcion corta
            // 2 -> descripcion larga
            // 3 -> referencia externa
            // 4 -> f/notificación
            // 5 -> f/fin
            // 6 -> f/limite
            // 7 -> alerta
            // 8 -> departamento
            // 9 -> tipo
            // 10-> estado
            // 11-> severidad
            // 12-> prioridad
            // 13-> sistema
            // 14-> esfuerzo planificado
            // 15-> esfuerzo real
            // 16 -> observaciones
            // 17 -> cod une (vacío)
            // 18 -> nº proyecto
            // 19 -> notificador
            // 20 -> responsable
            // 21 -> estado anterior
            // 22 -> desc Responsable
            // 23 -> desc Tipo
            // 24 -> desc Estado
            // 25 -> desc Severidad
            // 26 -> desc Prioridad
            // 27 -> Des PE
            // 28 -> cod PT
            // 29 -> Des PT
            if (aDatosTarea[0] == "")
            {
                iCodAsunto = -1;
            }
            else
            {
                iCodAsunto = int.Parse(aDatosTarea[0]);
            }
            //if (aDatosTarea[4] != "") dFno = DateTime.Parse(aDatosTarea[4]);
            //if (aDatosTarea[5] != "") dFfp = DateTime.Parse(aDatosTarea[5]);
            //if (aDatosTarea[6] != "") dFLi = DateTime.Parse(aDatosTarea[6]);
            DateTime dFno = DateTime.Parse(aDatosTarea[4]);
            DateTime dFfp = DateTime.Parse((aDatosTarea[5] == "") ? "01/01/1900" : aDatosTarea[5]);
            DateTime dFLi = DateTime.Parse((aDatosTarea[6] == "") ? "01/01/1900" : aDatosTarea[6]);
            if (aDatosTarea[21] == "")
            {
                iEstadoAnt = byte.Parse(aDatosTarea[10]);
            }
            else
            {
                iEstadoAnt = byte.Parse(aDatosTarea[21]);
            }
            iEstadoAct = byte.Parse(aDatosTarea[10]);
            if (aDatosTarea[14] != "")
            {
                dEtp = double.Parse(aDatosTarea[14]);
            }
            else
            {
                dEtp = 0;
            }
            if (aDatosTarea[15] != "")
            {
                dEtr = double.Parse(aDatosTarea[15]);
            }
            else
            {
                dEtr = 0;
            }
            if (iCodAsunto == -1)
            {
                bAlta      = true;
                iCodAsunto = ASUNTO_PT.Insert(tr, int.Parse(aDatosTarea[28]),
                                              Utilidades.unescape(aDatosTarea[7]), Utilidades.unescape(aDatosTarea[1]),
                                              Utilidades.unescape(aDatosTarea[2]), Utilidades.unescape(aDatosTarea[8]),
                                              iEstadoAct, dEtp, dEtr, dFfp, dFLi, dFno,
                                              Utilidades.unescape(aDatosTarea[19]), Utilidades.unescape(aDatosTarea[16]),
                                              byte.Parse(aDatosTarea[12]), Utilidades.unescape(aDatosTarea[3]),
                                              int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()),
                                              int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()),
                                              byte.Parse(aDatosTarea[11]), Utilidades.unescape(aDatosTarea[13]),
                                              int.Parse(aDatosTarea[9]));
                ASUNTOESTADO_PT.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
            }
            else
            {
                bAlta = false;
                ASUNTO_PT.Update(tr, int.Parse(aDatosTarea[28]), Utilidades.unescape(aDatosTarea[7]),
                                 Utilidades.unescape(aDatosTarea[1]), Utilidades.unescape(aDatosTarea[2]),
                                 Utilidades.unescape(aDatosTarea[8]), iEstadoAct, dEtp, dEtr, dFfp, dFLi, dFno,
                                 iCodAsunto, Utilidades.unescape(aDatosTarea[19]), Utilidades.unescape(aDatosTarea[16]),
                                 byte.Parse(aDatosTarea[12]), Utilidades.unescape(aDatosTarea[3]),
                                 int.Parse(aDatosTarea[20]), byte.Parse(aDatosTarea[11]), Utilidades.unescape(aDatosTarea[13]),
                                 int.Parse(aDatosTarea[9]));
                if (iEstadoAnt != iEstadoAct)
                {
                    ASUNTOESTADO_PT.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
                }
            }
            #endregion
            #region Datos integrantes
            if (slIntegrantes == "")
            {//Tenemos lista vacía. No hacemos nada
            }
            else
            {//Con la cadena generamos una lista y la recorremos para grabar cada elemento
                string[] aPersonas = Regex.Split(slIntegrantes, @"///");

                for (int i = 0; i < aPersonas.Length - 1; i++)
                {
                    if (aPersonas[i] != "")
                    {
                        string[] aIntegrante = Regex.Split(aPersonas[i], @"##");
                        sAccionBD  = aIntegrante[0];
                        sIdRecurso = aIntegrante[1];
                        if (aIntegrante[2] == "1")
                        {
                            bNotificable = true;
                        }
                        else
                        {
                            bNotificable = false;
                        }
                        switch (sAccionBD)
                        {
                        case "I":
                            ASUNTORECURSOS_PT.Insert(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable);
                            break;

                        case "D":
                            //delete
                            ASUNTORECURSOS_PT.Delete(tr, iCodAsunto, int.Parse(sIdRecurso));
                            break;

                        case "U":
                            //update
                            ASUNTORECURSOS_PT.Update(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable);
                            break;
                        }
                    }
                }//for
            }
            #endregion
            #region Enviar correos
            if (bEnviarAlerta)
            {
                //if (bAlta) sCad = "I";
                //else sCad = "U";
                EnviarCorreoAlerta(iCodAsunto.ToString(), strDatosTarea, slIntegrantes, bAlta);
            }
            #endregion
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + iCodAsunto.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del asunto", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Beispiel #5
0
    private void ObtenerDatosAsunto()
    {
        //Relleno el combo de tipo de asunto
        this.cboTipo.DataValueField = "t384_idtipo";
        this.cboTipo.DataTextField  = "t384_destipo";
        this.cboTipo.DataSource     = TIPOASUNTO.Catalogo("", null, null, 3, 0);
        this.cboTipo.DataBind();

        if (nIdAsunto == -1)
        {
            txtValCre.Text             = DateTime.Now.ToShortDateString();
            txtValNotif.Text           = DateTime.Now.ToShortDateString();
            this.txtIdResponsable.Text = Session["NUM_EMPLEADO_ENTRADA"].ToString();
            this.txtResponsable.Text   = Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString();
            this.txtRegistrador.Text   = Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString();
        }
        else
        {
            ASUNTO_PT o = ASUNTO_PT.Select(tr, nIdAsunto);
            txtIdAsunto.Text    = o.t409_idasunto.ToString();
            txtDesAsunto.Text   = o.t409_desasunto;
            txtDescripcion.Text = o.t409_desasuntolong;
            this.txtEtp.Text    = o.t409_etp.ToString("N");
            this.txtEtr.Text    = o.t409_etr.ToString("N");
            if (o.t409_fcreacion.Year > 1900)
            {
                txtValCre.Text = o.t409_fcreacion.ToShortDateString();
            }
            if (o.t409_fnotificacion.Year > 1900)
            {
                txtValNotif.Text = o.t409_fnotificacion.ToShortDateString();
            }
            if (o.t409_flimite.Year > 1900)
            {
                txtValLim.Text = o.t409_flimite.ToShortDateString();
            }
            if (o.t409_ffin.Year > 1900)
            {
                txtValFin.Text = o.t409_ffin.ToShortDateString();
            }
            this.txtDpto.Text               = o.t409_dpto;
            this.txtAlerta.Text             = o.t409_alerta;
            this.txtObs.Text                = o.t409_obs;
            this.txtRefExt.Text             = o.t409_refexterna;
            this.txtSistema.Text            = o.t409_sistema;
            this.cboEstado.SelectedValue    = o.t409_estado.ToString();
            this.cboEstado.Text             = o.Estado;
            this.txtEstadoAnt.Text          = o.t409_estado.ToString();
            this.cboPrioridad.SelectedValue = o.t409_prioridad.ToString();
            this.cboPrioridad.Text          = o.Prioridad;
            this.cboSeveridad.SelectedValue = o.t409_severidad.ToString();
            this.cboSeveridad.Text          = o.Severidad;
            this.cboTipo.SelectedValue      = o.t384_idtipo.ToString();
            this.cboTipo.Text               = o.Tipo;
            this.txtNotificador.Text        = o.t409_notificador;
            this.txtIdResponsable.Text      = o.t409_responsable.ToString();
            this.txtResponsable.Text        = o.Responsable;
            this.txtRegistrador.Text        = o.Registrador;
        }

        ProyTec         oPT  = ProyTec.Obtener(nIdPT);
        PROYECTOSUBNODO oPSN = PROYECTOSUBNODO.Obtener(null, oPT.t305_idproyectosubnodo);

        if (oPSN.t305_opd)
        {
            lblNumero.Style.Add("display", "none");
            txtIdAsunto.Style.Add("display", "none");
            lblCreacion.Style.Add("visibility", "hidden");
            txtValCre.Style.Add("visibility", "hidden");
            tsPestanas.Items[1].Disabled = true;
        }
    }
Beispiel #6
0
    private string obtenerAsuntos(string sPT, string sOrden, string sAscDesc, byte iEstado, int iTipo,
                                  byte iSeveridad, byte iPrioridad,
                                  string notifD, string notifH,
                                  string limD, string limH,
                                  string finD, string finH,
                                  string sAcciones, string desAsunto)
    {
        try
        {
            StringBuilder strBuilder = new StringBuilder();
            int           i = 0, nPT;
            string        sIdAsuntoAnt, sIdAsuntoAct, sFila;

            nPT = int.Parse(quitaPuntos(sPT));

            strBuilder.Append("<table id='tblDatos1' style='width: 970px;'>");
            strBuilder.Append("<colgroup><col style='width:70px' /><col style='width:100px' /><col style='width:270px' /><col style='width:50px' />");
            strBuilder.Append("<col style='width:50px' /><col style='width:65px' /><col style='width:65px' /><col style='width:45px' />");
            strBuilder.Append("<col style='width:65px' /><col style='width:190px' /></colgroup>");

            SqlDataReader dr = ASUNTO_PT.Catalogo2(nPT, desAsunto, iEstado, finD, finH, limD, limH, notifD, notifH, iPrioridad,
                                                   iSeveridad, iTipo, byte.Parse(sOrden), byte.Parse(sAscDesc), sAcciones);
            sIdAsuntoAnt = "-1";
            while (dr.Read())
            {
                if (sAcciones == "N")
                {
                    sFila = ponerFilaAsunto(dr, i, false);
                    strBuilder.Append(sFila);
                }
                else
                {
                    sIdAsuntoAct = dr["t409_idasunto"].ToString();
                    if (sIdAsuntoAnt != sIdAsuntoAct)
                    {
                        sFila = ponerFilaAsunto(dr, i, true);
                        strBuilder.Append(sFila);
                        i++;
                        sFila = ponerFilaAccion(dr, i);
                    }
                    else
                    {
                        sFila = ponerFilaAccion(dr, i);
                    }
                    strBuilder.Append(sFila);
                    sIdAsuntoAnt = sIdAsuntoAct;
                }
                i++;
            }
            dr.Close();
            dr.Dispose();

            strBuilder.Append("</table>");
            strTablaHtmlAsunto = strBuilder.ToString();
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener datos complementarios", ex);
        }
        return("OK@#@" + strTablaHtmlAsunto);
    }