//private string ObtenerDocumentos(string sIdTarea) //{ // StringBuilder sb = new StringBuilder(); // bool bModificable; // SqlDataReader dr = DOCUT.Catalogo(null, int.Parse(sIdTarea), "", "", "", null, null, null, true, null, 3, 0); // sb.Append("<div style='background-image:url(../../../Images/imgFT20.gif); width:0%; height:0%'>"); // sb.Append("<table id='tblDocumentos' class='texto' style='WIDTH: 800px; BORDER-COLLAPSE: collapse; ' cellSpacing='0' border='0'>"); // sb.Append("<colgroup><col style='width:265px;padding-left:5px;' /><col width='215px' /><col width='225px' /><col width='100px' /></colgroup>"); // sb.Append("<tbody>"); // while (dr.Read()) // { //Si el archivo NO es sólo lectura, o si el usuario es el autor del archivo, o es administrador, se permite modificar. // if ((dr["t314_idusuario_autor"].ToString() == Session["NUM_EMPLEADO_ENTRADA"].ToString() || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "A") // || (!(bool)dr["t363_privado"] && !(bool)dr["t363_modolectura"])) // bModificable = true; // else // bModificable = false; // sb.Append("<tr id='" + dr["t363_iddocut"].ToString() + "' onclick='mmse(this);' sTipo='T' sAutor='" + dr["t314_idusuario_autor"].ToString() + "' onmouseover='TTip()' style='height:20px;'>"); // //Si el archivo NO es sólo lectura, o si el usuario es el autor del archivo, o es administrador, se permite modificar. // if (bModificable) // sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id, 'IAP')\"><nobr class='NBR' style='width:255px'>" + dr["t363_descripcion"].ToString() + "</nobr></td>"); // else // sb.Append("<td class='MANO'><nobr class='NBR' style='width:255px'>" + dr["t363_descripcion"].ToString() + "</nobr></td>"); // if (dr["t363_nombrearchivo"].ToString() == "") // { // if (bModificable) // sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\"></td>"); // else // sb.Append("<td class='MANO'></td>"); // } // else // { // string sNomArchivo = dr["t363_nombrearchivo"].ToString() + Utilidades.TamanoArchivo((int)dr["bytes"]); // //Si el archivo no es privado, o es privado y la persona que entra es el autor, o es administrador, se permite descargar. // if ((!(bool)dr["t363_privado"]) || ((bool)dr["t363_privado"] && dr["t314_idusuario_autor"].ToString() == Session["NUM_EMPLEADO_ENTRADA"].ToString()) || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "A") // sb.Append("<td><img src=\"../../../images/imgDescarga.gif\" width='16px' height='16px' onclick=\"descargar(this.parentNode.parentNode.getAttribute('sTipo'), this.parentNode.parentNode.id);\" style='vertical-align:bottom;' title=\"Descargar " + sNomArchivo + "\">"); // else // sb.Append("<td><img src=\"../../../images/imgSeparador.gif\" width='16px' height='16px' style='vertical-align:bottom;'>"); // if (bModificable) // sb.Append(" <nobr class='NBR MA' style='width:205px;' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\">" + sNomArchivo + "</nobr></td>"); // else // sb.Append(" <nobr class='NBR MANO' style='width:205px;'>" + sNomArchivo + "</nobr></td>"); // } // if (dr["t363_weblink"].ToString() == "") // { // if (bModificable) // sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\"></td>"); // else // sb.Append("<td class='MANO'></td>"); // } // else // { // string sHTTP = ""; // if (dr["t363_weblink"].ToString().IndexOf("http") == -1) sHTTP = "http://"; // sb.Append("<td><a href='" + sHTTP + dr["t363_weblink"].ToString() + "'><nobr class='NBR' style='width:215px'>" + dr["t363_weblink"].ToString() + "</nobr></a></td>"); // } // if (bModificable) // sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\"><nobr class='NBR' style='width:140px;'>" + dr["autor"].ToString() + "</nobr></td></tr>"); // else // sb.Append("<td class='MANO'><nobr class='NBR' style='width:140px;'>" + dr["autor"].ToString() + "</nobr></td></tr>"); // } // dr.Close(); // dr.Dispose(); // sb.Append("</tbody>"); // sb.Append("</table>"); // sb.Append("</div>"); // return "OK@#@" + sb.ToString(); //} protected string Grabar(string strDatos) { string sResul = ""; aListCorreo = new ArrayList(); #region Abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(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 { string[] aValores = Regex.Split(strDatos, "##"); ///aValores[0] = IdTarea ///aValores[1] = nETE ///aValores[2] = sFFE ///aValores[3] = sObservaciones ///aValores[4] = nFinalizado; ///aValores[5] = nFinalizadoAntes; ///aValores[6] = nPT; ///aValores[7] = Desc Tarea; ///aValores[8] = sNotas; ///aValores[9] = txtNotas1; ///aValores[10] = txtNotas2; ///aValores[11] = txtNotas3; ///aValores[12] = txtNotas4; ///aValores[13] = sComentarioOriginal; ///aValores[14] = nETEOriginal; ///aValores[15] = sFFEOriginal; double nETE = 0; DateTime?sFFE = null; if (aValores[1] != "") { nETE = double.Parse(aValores[1]); } if (aValores[2] != "") { sFFE = DateTime.Parse(aValores[2]); } TareaRecurso.ActualizarEstimacion(tr, int.Parse(Session["NUM_EMPLEADO_IAP"].ToString()), int.Parse(aValores[0]), sFFE, nETE, Utilidades.unescape(aValores[3]), (aValores[4] == "1")?true:false); if (aValores[5] == "0" && aValores[4] == "1") { //Si antes la tarea no estaba finalizada y ahora sí, //Mail al (a los) RTPT indicando que se ha finalizado //y continuar con la grabación // TareaFinalizada(tr, int.Parse(aValores[0]), int.Parse(aValores[6])); } if (aValores[3] != aValores[13] || aValores[1] != aValores[14] || aValores[2] != aValores[15]) { //Si se han modificado los comentarios del técnico al gerente //Mail al (a los) RTPT // EstimacionModificada(tr, int.Parse(aValores[0]), int.Parse(aValores[6])); } if (aValores[8] == "1") { TAREAPSP.ActualizarNotas(tr, int.Parse(aValores[0]), Utilidades.unescape(aValores[9]), Utilidades.unescape(aValores[10]), Utilidades.unescape(aValores[11]), Utilidades.unescape(aValores[12])); } Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos de la tarea", ex); } finally { Conexion.Cerrar(oConn); } try { if (aListCorreo.Count > 0) { Correo.EnviarCorreos(aListCorreo); } } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al enviar el mail a los responsables técnicos de proyectos técnicos", ex); } return(sResul); }