private void ObtenerDatosAccion() { if (nIdAccion == -1) { } else { ACCION_PT o = ACCION_PT.Select(tr, nIdAccion); txtIdAccion.Text = o.t410_idaccion.ToString(); txtDesAccion.Text = o.t410_desaccion; txtDescripcion.Text = o.t410_desaccionlong; if (o.t410_flimite.Year > 1900) { txtValLim.Text = o.t410_flimite.ToShortDateString(); } //Obtengo la mayor de las fechas de vigencia de sus tareas if (o.t410_ffin.Year > 1900) { txtValFin.Text = o.t410_ffin.ToShortDateString(); } this.cboAvance.SelectedValue = o.t410_avance.ToString(); this.cboAvance.Text = o.t410_avance.ToString(); this.txtDpto.Text = o.t410_dpto; this.txtAlerta.Text = o.t410_alerta; this.txtObs.Text = o.t410_obs; } }
private string obtenerAcciones(string sIdAsunto, string sOrden, string sAscDesc) { StringBuilder sB = new StringBuilder(); int nIdAsunto; string sIdAccion, sFecha, sIdResponsable; if (sIdAsunto == "") { return("error@#@Se ha intentado recoger las acciones de un asunto sin código"); } nIdAsunto = int.Parse(sIdAsunto); sB.Append("<table id='tblDatos2' class='texto MA' style='width:600px; text-align:left;'>"); sB.Append("<colgroup><col style='width:380px;' /><col style='width:65px;' /><col style='width:70px;' /><col style='width:85px;' /></colgroup>"); //sB.Append("<tbody>"); //sDesAsunto = HttpUtility.HtmlEncode(sDesAsunto); SqlDataReader dr = ACCION_PT.Catalogo(null, nIdAsunto, null, "", null, null, null, byte.Parse(sOrden), byte.Parse(sAscDesc)); while (dr.Read()) { sIdAccion = dr["t410_idaccion"].ToString(); sIdResponsable = dr["t409_responsable"].ToString(); sB.Append("<tr id='" + sIdAccion + "' style='height:16px;' onclick='ms(this);' ondblclick='mDetAccion(this.id," + sIdAsunto + "," + sIdResponsable + ")' onmouseover='TTip(event)'>"); sB.Append("<td style='padding-left:3px;'><nobr class='NBR' style='width:370px;'>" + HttpUtility.HtmlEncode(dr["t410_desaccion"].ToString()) + "</nobr></td>"); sFecha = dr["t410_flimite"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["t410_flimite"].ToString()).ToShortDateString(); } sB.Append("<td>" + sFecha + "</td>"); sB.Append("<td style='text-align:right; padding-right:10px;'>" + dr["t410_avance"].ToString() + "</td>"); sFecha = dr["t410_ffin"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["t410_ffin"].ToString()).ToShortDateString(); } sB.Append("<td>" + sFecha + "</td></tr>"); } dr.Close(); dr.Dispose(); //sB.Append("</tbody>"); sB.Append("</table>"); strTablaHtmlAccion = sB.ToString(); return("OK@#@" + strTablaHtmlAccion); }
private string borrarAccion(string sIdAccion) { string sResul; try { if (sIdAccion != "") { ACCION_PT.Delete(tr, int.Parse(sIdAccion)); } sResul = "OK@#@" + sIdAccion; } catch (Exception e) { sResul = "error@#@" + e.Message; } return(sResul); }
protected string Grabar(string strDatosTarea, string slIntegrantes, string sTareas) { string sResul = "", sAccionBD, sIdRecurso, sCad, sTipoLinea, sCodTarea, oRec, sIdResponsable; int iCodAccion, iCodAsunto; byte iAvance; DateTime?dFfp = null; DateTime?dFLi = null; bool bNotificable = false, bEnviarAlerta = false, bAlta = false; try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } try { #region Datos accion string[] aDatosTarea = Regex.Split(strDatosTarea, "##"); // 0 -> id accion (si -1 es un alta) // 1 -> avance // 2 -> descripcion corta // 3 -> descripcion larga // 4 -> departamento // 5 -> f/fin // 6 -> f/limite // 7 -> alerta // 8 -> observaciones // 9 -> asunto // 10 -> des asunto // 11 -> num PE // 12 -> des PE // 13 -> enviar alerta (S/N) // 14 -> Id responsable del asunto // 15 -> num PT // 16 -> des PT //if (aDatosTarea[13] == "S") bEnviarAlerta = true; bEnviarAlerta = true; if (aDatosTarea[0] == "") { iCodAccion = -1; } else { iCodAccion = int.Parse(aDatosTarea[0]); } iCodAsunto = int.Parse(aDatosTarea[9]); if (aDatosTarea[1] == "") { iAvance = 0; } else { iAvance = byte.Parse(aDatosTarea[1]); } if (aDatosTarea[5] != "") { dFfp = DateTime.Parse(aDatosTarea[5]); } if (aDatosTarea[6] != "") { dFLi = DateTime.Parse(aDatosTarea[6]); } if (iCodAccion == -1) { bAlta = true; } if (bAlta) { DateTime dtNow = System.DateTime.Now; iCodAccion = ACCION_PT.Insert(tr, dtNow, iCodAsunto, Utilidades.unescape(aDatosTarea[7]), iAvance, Utilidades.unescape(aDatosTarea[2]), Utilidades.unescape(aDatosTarea[3]), Utilidades.unescape(aDatosTarea[4]), dFfp, dFLi, Utilidades.unescape(aDatosTarea[8])); } else { ACCION_PT.Update(tr, Utilidades.unescape(aDatosTarea[7]), iAvance, Utilidades.unescape(aDatosTarea[2]), Utilidades.unescape(aDatosTarea[3]), Utilidades.unescape(aDatosTarea[4]), dFfp, dFLi, iCodAccion, Utilidades.unescape(aDatosTarea[8])); } #endregion #region Datos integrantes //OfiTec.BorrarIntegrantes(iCodCR); 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; } oRec = iCodAccion.ToString() + "##" + sIdRecurso + "##"; oRec += Utilidades.unescape(aDatosTarea[2]) + "##"; //descripcion corta oRec += aDatosTarea[11] + "##" + Utilidades.unescape(aDatosTarea[12]) + "##"; //cod y des PE oRec += aDatosTarea[9] + "##" + Utilidades.unescape(aDatosTarea[10]) + "##"; //cod y des Asunto oRec += dFLi.ToString() + "##" + dFfp.ToString() + "##"; switch (sAccionBD) { case "I": ACCIONRECURSOS_PT.Insert(tr, int.Parse(sIdRecurso), iCodAccion, bNotificable); //if (bNotificable) EnviarCorreoRecurso("I", oRec); break; case "D": //delete ACCIONRECURSOS_PT.Delete(tr, iCodAccion, int.Parse(sIdRecurso)); //if (bNotificable) EnviarCorreoRecurso("D", oRec); break; case "U": //update ACCIONRECURSOS_PT.Update(tr, int.Parse(sIdRecurso), iCodAccion, bNotificable); //if (bNotificable) EnviarCorreoRecurso("U", oRec); break; } } }//for } #endregion #region tareas //Grabamos las tareas asociadas a la acción if (sTareas != "") { string[] aTareas = Regex.Split(sTareas, @"##"); for (int i = 0; i < aTareas.Length - 1; i++) { sCad = aTareas[i]; sTipoLinea = sCad.Substring(0, 1); sCodTarea = quitaPuntos(sCad.Substring(1)); if (sTipoLinea == "D") {//Borrar accion-tarea ACCIONTAREAS_PT.Delete(tr, iCodAccion, int.Parse(sCodTarea)); } else { if (sTipoLinea == "I") {//Insertar accion-tarea ACCIONTAREAS_PT.Insert(tr, int.Parse(sCodTarea), iCodAccion); } } } } #endregion #region Enviar correos if (bEnviarAlerta) { oRec = iCodAccion.ToString() + "##"; oRec += Utilidades.unescape(aDatosTarea[2]) + "##"; //descripcion corta oRec += aDatosTarea[11] + "##" + Utilidades.unescape(aDatosTarea[12]) + "##"; //cod y des PE oRec += aDatosTarea[9] + "##" + Utilidades.unescape(aDatosTarea[10]) + "##"; //cod y des Asunto oRec += dFLi.ToString() + "##" + dFfp.ToString() + "##"; oRec += aDatosTarea[1] + "##"; //avance oRec += Utilidades.unescape(aDatosTarea[3]) + "##"; //descripcion larga accion oRec += Utilidades.unescape(aDatosTarea[8]) + "##"; //observaciones oRec += Utilidades.unescape(aDatosTarea[4]) + "##"; //Dpto oRec += aDatosTarea[15] + "##" + Utilidades.unescape(aDatosTarea[16]) + "##"; //cod y des PT if (bAlta) { sCad = "I"; } else { sCad = "U"; } sIdResponsable = aDatosTarea[14]; EnviarCorreoAlerta(sCad, oRec, Utilidades.unescape(aDatosTarea[7]), slIntegrantes, sIdResponsable, bAlta); } #endregion Conexion.CommitTransaccion(tr); sResul = "OK@#@" + iCodAccion.ToString(); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos de la acción", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private void listaTareas(int iNumPT) { StringBuilder strBuilder = new StringBuilder(); double fAvance, fETPL, fETPR, fConsumo; string sCad, sFecha; strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 400px;'>"); strBuilder.Append("<colgroup><col style='width:60px' /><col style='width:340px;' /></colgroup>"); strBuilder.Append("<tbody>"); SqlDataReader dr = ACCION_PT.CatalogoTareasPT(iNumPT); while (dr.Read()) { #region Genera el texto del tooltip extendido StringBuilder sbTitle = new StringBuilder(); sbTitle.Append("<b>Proy. Eco.</b>: "); sbTitle.Append(dr["nom_proyecto"].ToString().Replace((char)34, (char)39)); sbTitle.Append("<br><b>Proy. Téc.</b>: "); sbTitle.Append(dr["t331_despt"].ToString().Replace((char)34, (char)39)); if (dr["t334_desfase"].ToString() != "") { sbTitle.Append("<br><b>Fase</b>: "); sbTitle.Append(dr["t334_desfase"].ToString().Replace((char)34, (char)39)); } if (dr["t335_desactividad"].ToString() != "") { sbTitle.Append("<br><b>Actividad</b>: "); sbTitle.Append(dr["t335_desactividad"].ToString().Replace((char)34, (char)39)); } sbTitle.Append("<br><b>Tarea</b>: "); sbTitle.Append(dr["desTarea"].ToString().Replace((char)34, (char)39)); #endregion #region Genero la fila strBuilder.Append("<tr id='" + dr["codTarea"].ToString() + "' onclick='mm(event)' ondblclick='aceptar()' style='height:16px;' onmouseover='TTip(event);'"); strBuilder.Append(" title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle'> Estructura] body=["); strBuilder.Append(sbTitle); strBuilder.Append("]\""); sCad = dr["ETPL"].ToString(); if (sCad == "") { fETPL = 0; } else { fETPL = double.Parse(sCad); } strBuilder.Append(" ETPL='" + fETPL.ToString("N") + "'"); sCad = dr["FIPL"].ToString(); if (sCad != "") { sFecha = DateTime.Parse(sCad).ToShortDateString(); //if (sFecha == "01/01/1900") sFecha = ""; } else { sFecha = ""; } strBuilder.Append(" FIPL='" + sFecha + "'"); sCad = dr["FFPL"].ToString(); if (sCad != "") { sFecha = DateTime.Parse(sCad).ToShortDateString(); //if (sFecha == "01/01/1900") sFecha = ""; } else { sFecha = ""; } strBuilder.Append(" FFPL='" + sFecha + "'"); sCad = dr["ETPR"].ToString(); if (sCad == "") { fETPR = 0; } else { fETPR = double.Parse(sCad); } strBuilder.Append(" ETPR='" + fETPR.ToString("N") + "'"); sCad = dr["FFPR"].ToString(); if (sCad != "") { sFecha = DateTime.Parse(sCad).ToShortDateString(); //if (sFecha == "01/01/1900") sFecha = ""; } else { sFecha = ""; } strBuilder.Append(" FFPR='" + sFecha + "'"); sCad = dr["Consumo"].ToString(); if (sCad == "") { fConsumo = 0; } else { fConsumo = double.Parse(sCad); } strBuilder.Append(" CONSUMO='" + fConsumo.ToString("N") + "'"); if (fConsumo == 0) { fAvance = 0; } else { fAvance = (fETPR * 100) / fConsumo; } strBuilder.Append(" AVANCE='" + fAvance.ToString("N") + "'"); strBuilder.Append(">"); #endregion strBuilder.Append("<td style='text-align:right'>"); strBuilder.Append(int.Parse(dr["codTarea"].ToString()).ToString("#,###")); strBuilder.Append("</td><td style='padding-left:5px;'><nobr class='NBR'>"); strBuilder.Append(dr["desTarea"].ToString()); strBuilder.Append("</nobr></td>"); } dr.Close(); dr.Dispose(); strBuilder.Append("</tbody>"); strBuilder.Append("</table>"); strTablaHtml = strBuilder.ToString(); }