private string obtenerAsuntos(string sTarea, string sOrden, string sAscDesc, byte iEstado, int iTipo) { StringBuilder strBuilder = new StringBuilder(); int nT; string sIdAsunto, sDesAsunto, sFecha, sIdResponsable; nT = int.Parse(quitaPuntos(sTarea)); strBuilder.Append("<table id='tblDatos1' class='texto MA' style='WIDTH: 940px; BORDER-COLLAPSE: collapse; ' cellSpacing='0' border='0'>"); strBuilder.Append("<colgroup><col style='width:297px;' /><col style='width:190px;' /><col style='width:90px;' /><col style='width:90px;' /><col style='width:90px;' /><col style='width:90px;' /><col style='width:90px;' /></colgroup>"); strBuilder.Append("<tbody>"); SqlDataReader dr = ASUNTO_T.Catalogo(nT, "", iEstado, null, null, null, null, null, null, null, "", null, "", null, null, null, "", iTipo, byte.Parse(sOrden), byte.Parse(sAscDesc)); while (dr.Read()) { sIdAsunto = dr["t600_idasunto"].ToString(); sDesAsunto = HttpUtility.HtmlEncode(dr["t600_desasunto"].ToString()); sIdResponsable = dr["t600_responsable"].ToString(); strBuilder.Append("<tr id='" + sIdAsunto + "' idR='" + sIdResponsable + "' ondblclick='mDetAsunto(this.id)' onclick='ms(this);obtenerAcciones(" + sIdAsunto + ")' style='height:16px; padding-left:3px;' onmouseover='TTip(event)'>"); strBuilder.Append("<td><nobr class='NBR W300'>" + sDesAsunto + "</nobr></td>"); strBuilder.Append("<td><nobr class='NBR W180'>" + dr["t384_destipo"].ToString() + "</nobr></td>"); strBuilder.Append("<td>" + dr["t600_severidad"].ToString() + "</td>"); strBuilder.Append("<td>" + dr["t600_prioridad"].ToString() + "</td>"); sFecha = dr["t600_flimite"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["t600_flimite"].ToString()).ToShortDateString(); } strBuilder.Append("<td>" + sFecha + "</td>"); sFecha = dr["t600_fnotificacion"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["t600_fnotificacion"].ToString()).ToShortDateString(); } strBuilder.Append("<td>" + sFecha + "</td>"); strBuilder.Append("<td>" + dr["t600_estado"].ToString() + "</td>"); strBuilder.Append("</tr>"); } dr.Close(); dr.Dispose(); strBuilder.Append("</tbody>"); strBuilder.Append("</table>"); strTablaHtmlAsunto = strBuilder.ToString(); return("OK@#@" + strTablaHtmlAsunto); }
private string borrarAsunto(string sIdAsunto) { string sResul; try { if (sIdAsunto != "") { ASUNTO_T.Delete(tr, int.Parse(sIdAsunto)); } sResul = "OK@#@" + sIdAsunto; } catch (Exception e) { sResul = "error@#@" + e.Message; } return(sResul); }
private void ObtenerDatosAsunto(int nTarea) { StringBuilder strBuilder = new StringBuilder(); string sIdAsunto, sDesAsunto, sFecha; strBuilder.Append("<table id='tblDatos1' class='texto MA' style='WIDTH: 940px; BORDER-COLLAPSE: collapse; ' cellSpacing='0' border='0'>"); strBuilder.Append("<colgroup><col style='width:297px;' /><col style='width:190px;' /><col style='width:90px;' /><col style='width:90px;' /><col style='width:90px;' /><col style='width:90px;' /><col style='width:90px;' /></colgroup>"); strBuilder.Append("<tbody>"); SqlDataReader dr = ASUNTO_T.Catalogo(nTarea, "", null, null, null, null, null, null, null, null, "", null, "", null, null, null, "", null, 8, 0); while (dr.Read()) { sIdAsunto = dr["t600_idasunto"].ToString(); sDesAsunto = HttpUtility.HtmlEncode(dr["t600_desasunto"].ToString()); strBuilder.Append("<tr id='" + sIdAsunto + "' ondblclick='mDetAsunto(this.id)' onclick='ms(this);obtenerAcciones(" + sIdAsunto + ")' style='height:16px;' onmouseover='TTip(event)'>"); strBuilder.Append("<td STYLE='padding-left:3px;'><nobr class='NBR W300'>" + sDesAsunto + "</nobr></td>"); strBuilder.Append("<td><nobr class='NBR W180'>" + dr["t384_destipo"].ToString() + "</nobr></td>"); strBuilder.Append("<td>" + dr["t600_severidad"].ToString() + "</td>"); strBuilder.Append("<td>" + dr["t600_prioridad"].ToString() + "</td>"); sFecha = dr["t600_flimite"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["t600_flimite"].ToString()).ToShortDateString(); } strBuilder.Append("<td>" + sFecha + "</td>"); sFecha = dr["t600_fnotificacion"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["t600_fnotificacion"].ToString()).ToShortDateString(); } strBuilder.Append("<td>" + sFecha + "</td>"); strBuilder.Append("<td>" + dr["t600_estado"].ToString() + "</td>"); strBuilder.Append("</tr>"); } dr.Close(); dr.Dispose(); strBuilder.Append("</tbody>"); strBuilder.Append("</table>"); strTablaHtmlAsunto = strBuilder.ToString(); }
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 -> cod Tarea // 19 -> notificador // 20 -> responsable // 21 -> estado anterior // 22 -> desc Responsable // 23 -> desc Tipo // 24 -> desc Estado // 25 -> desc Severidad // 26 -> desc Prioridad // 27 -> cod T 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_T.Insert(tr, int.Parse(aDatosTarea[18]), 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_T.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString())); } else { bAlta = false; ASUNTO_T.Update(tr, int.Parse(aDatosTarea[18]), 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_T.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_T.Insert(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable); break; case "D": //delete ASUNTORECURSOS_T.Delete(tr, iCodAsunto, int.Parse(sIdRecurso)); break; case "U": //update ASUNTORECURSOS_T.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); }
private void ObtenerDatosAsunto() { int nTarea = 0; //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) { nTarea = nIdT; 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_T o = ASUNTO_T.Select(tr, nIdAsunto); nTarea = o.t332_idtarea; txtIdAsunto.Text = o.t600_idasunto.ToString(); txtDesAsunto.Text = o.t600_desasunto; txtDescripcion.Text = o.t600_desasuntolong; this.txtEtp.Text = o.t600_etp.ToString("N"); this.txtEtr.Text = o.t600_etr.ToString("N");//#,##0.## if (o.t600_fcreacion.Year > 1900) { txtValCre.Text = o.t600_fcreacion.ToShortDateString(); } if (o.t600_fnotificacion.Year > 1900) { txtValNotif.Text = o.t600_fnotificacion.ToShortDateString(); } if (o.t600_flimite.Year > 1900) { txtValLim.Text = o.t600_flimite.ToShortDateString(); } if (o.t600_ffin.Year > 1900) { txtValFin.Text = o.t600_ffin.ToShortDateString(); } this.txtDpto.Text = o.t600_dpto; this.txtAlerta.Text = o.t600_alerta; this.txtObs.Text = o.t600_obs; this.txtRefExt.Text = o.t600_refexterna; this.txtSistema.Text = o.t600_sistema; this.cboEstado.SelectedValue = o.t600_estado.ToString(); this.cboEstado.Text = o.Estado; this.txtEstadoAnt.Text = o.t600_estado.ToString(); this.cboPrioridad.SelectedValue = o.t600_prioridad.ToString(); this.cboPrioridad.Text = o.Prioridad; this.cboSeveridad.SelectedValue = o.t600_severidad.ToString(); this.cboSeveridad.Text = o.Severidad; this.cboTipo.SelectedValue = o.t384_idtipo.ToString(); this.cboTipo.Text = o.Tipo; this.txtNotificador.Text = o.t600_notificador; this.txtIdResponsable.Text = o.t600_responsable.ToString(); this.txtResponsable.Text = o.Responsable; this.txtRegistrador.Text = o.Registrador; } TAREAPSP oTarea = TAREAPSP.Obtener(null, nTarea); PROYECTOSUBNODO oPSN = PROYECTOSUBNODO.Obtener(null, oTarea.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; } }
private string obtenerAsuntos(string sT, 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 sb = new StringBuilder(); int i = 0, nT; string sIdAsuntoAnt, sIdAsuntoAct, sFila; nT = int.Parse(quitaPuntos(sT)); sb.Append("<table id='tblDatos1' style='width: 970px;'>"); sb.Append("<colgroup><col style='width:70px' /><col style='width:100px' /><col style='width:270px' /><col style='width:50px' />"); sb.Append("<col style='width:50px' /><col style='width:65px' /><col style='width:65px' /><col style='width:45px' />"); sb.Append("<col style='width:65px' /><col style='width:190px' /></colgroup>"); SqlDataReader dr = ASUNTO_T.Catalogo2(nT, 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); sb.Append(sFila); } else { sIdAsuntoAct = dr["t600_idasunto"].ToString(); if (sIdAsuntoAnt != sIdAsuntoAct) { sFila = ponerFilaAsunto(dr, i, true); sb.Append(sFila); i++; sFila = ponerFilaAccion(dr, i); } else { sFila = ponerFilaAccion(dr, i); } sb.Append(sFila); sIdAsuntoAnt = sIdAsuntoAct; } i++; } dr.Close(); dr.Dispose(); sb.Append("</table>"); strTablaHtmlAsunto = sb.ToString(); } catch (Exception ex) { sErrores += Errores.mostrarError("Error al obtener datos complementarios", ex); } return("OK@#@" + strTablaHtmlAsunto); }
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_T oAsto = ASUNTO_T.Select(null, int.Parse(txtIdAsunto.Text)); txtDesAsunto.Text = oAsto.t600_desasunto; this.hdnAcceso.Text = Utilidades.decodpar(Request.QueryString["p"].ToString());//Permiso nIdT = int.Parse(quitaPuntos(Request.QueryString["t"].ToString()));//nT //this.txtIdResponsable.Text = Request.QueryString["sIdResp"].ToString(); this.txtIdResponsable.Text = oAsto.t600_responsable.ToString(); //if (Request.QueryString["r"] != null && Request.QueryString["r"] != "undefined")//sIdResp //{ // if (Request.QueryString["r"] != "") // this.txtIdResponsable.Text = Utilidades.decodpar(Request.QueryString["r"].ToString()); //} this.hdnNodo.Value = TAREAPSP.GetNodo(tr, nIdT).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 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 = TAREAPSP.getEstado(null, nIdT); divDoc.InnerHtml = Utilidades.ObtenerDocumentos("AC_T", nIdAccion, this.hdnAcceso.Text, sEstado); } catch (Exception ex) { sErrores += Errores.mostrarError("Error al obtener datos complementarios", ex); } this.hdnAcceso.Text = Utilidades.decodpar(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); } }