private void ObtenerDatosHito() { try { HITOPSP o = HITOPSP.Obtener(sTipoHito, nIdHito); txtIdHito.Text = o.idhito.ToString(); txtDesHito.Text = o.deshito; txtDescripcion.Text = o.deshitolong; cboModo.Text = o.modo; cboEstado.Text = o.estado.ToString(); txtAgrHito.Text = flAgregacion(sTipoHito, o.margen); hdnOrden.Text = o.orden.ToString(); if (o.hitoPE) { chkPE.Checked = true; cboModo.Text = "0"; } else { chkPE.Checked = false; } //if (o.hitoPE) cboModo.Text = "3"; //else cboModo.Text = o.modo; if (o.alerta) { chkAlerta.Checked = true; } if (o.ciclico) { chkCiclico.Checked = true; } if (sTipoHito == "HF") { if (o.fecha.Year > 1900) { txtValFecha.Text = o.fecha.ToShortDateString(); } } else { txtValFecha.Text = ""; } //o.cod_une = nIdCR; o.num_proyecto = nIdPE; //Estado del proyecto económico this.hdnEstProy.Value = o.t301_estado; //Modo de acceso this.hdnModoAcceso.Value = PROYECTOSUBNODO.getAcceso(null, o.t305_idproyectosubnodo, int.Parse(Session["UsuarioActual"].ToString())); } catch (Exception ex) { sErrores += Errores.mostrarError("Error al obtener los datos del hito", ex); } }
private string ObtenerOtrosHitos(int nIdPE, int iCodHito) { //Relacion de hitos asignados al proyecto economico string sResul = ""; StringBuilder sbuilder = new StringBuilder(); try { SqlDataReader dr = HITOPSP.CatalogoHitos(nIdPE); sbuilder.Append("<table id='tblHitos' class='texto' style='width:450px;'>"); sbuilder.Append("<colgroup><col style='width:400px;' /><col style='width:50px' /></colgroup>"); sbuilder.Append("<tbody>"); while (dr.Read()) { //if (dr["idhito"].ToString() == nIdHito.ToString()) continue; if (dr["idhito"].ToString() == iCodHito.ToString()) { continue; } sbuilder.Append("<tr id='" + dr["idhito"].ToString() + "' style='height:16px'>"); sbuilder.Append("<td style='padding-left:5px;'>" + dr["deshito"].ToString() + "</td>"); string sCad = dr["estado"].ToString(); string sEstado = ""; switch (sCad) { case "L": sEstado = "Latente"; break; case "C": sEstado = "Cumplido"; break; case "N": sEstado = "Notificado"; break; //case "F": sEstado = "Finalizado"; break; case "F": sEstado = "Inactivo"; break; } sbuilder.Append("<td>" + sEstado + "</td></tr>"); } dr.Close(); dr.Dispose(); sbuilder.Append("</tbody>"); sbuilder.Append("</table>"); strTablaHitos = sbuilder.ToString(); sResul = strTablaHitos; } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de hitos del proyecto económico.", ex); } return(sResul); }
private void listaTareas(int iNumPE) { StringBuilder strBuilder = new StringBuilder(); double fAvance, fETPL, fETPR, fConsumo; string sCad, sFecha; strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 396px;'>"); strBuilder.Append("<colgroup><col style='width:50px'/><col style='width:346px'/></colgroup>"); strBuilder.Append("<tbody>"); SqlDataReader dr = HITOPSP.CatalogoTareasPE(iNumPE); while (dr.Read()) { strBuilder.Append("<tr style='height:16px;' "); 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)); strBuilder.Append("id='"); strBuilder.Append(dr["codTarea"].ToString()); strBuilder.Append("' onclick='mm(event)' ondblclick='aceptar()' onmouseover='TTip(event);' 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(); } else { sFecha = ""; } strBuilder.Append(" FIPL='" + sFecha + "'"); sCad = dr["FFPL"].ToString(); if (sCad != "") { sFecha = DateTime.Parse(sCad).ToShortDateString(); } 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(); } 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(">"); strBuilder.Append("<td style='text-align:right'>"); strBuilder.Append(int.Parse(dr["codTarea"].ToString()).ToString("#,###")); strBuilder.Append("</td><td style='padding-left:5px;'><nobr style='width:346px;' class='NBR'>"); strBuilder.Append(dr["desTarea"].ToString()); strBuilder.Append("</nobr></td>"); } dr.Close(); dr.Dispose(); strBuilder.Append("</tbody>"); strBuilder.Append("</table>"); strTablaHtml = strBuilder.ToString(); }
protected string ObtenerTodasTareas(string sPE) { //Relacion de tareas asignadas del proyecto económico string sResul = "", sCad, sFecha, sCodTarea; double fPrev = 0, fCons = 0, fAvance = 0; bool bAvanceAutomatico; StringBuilder sbuilder = new StringBuilder(); try { sbuilder.Append("<table id='tblTareas' class='texto MANO' style='width: 800px;'>"); //............................ idTarea........... Desc Tarea..........ETPL.......................................separador............FIPL....................FFPL..............ETPR......................................separador...........FFPR................CONSUMO.....................................AVANCE sbuilder.Append("<colgroup><col style='width:40px;' /><col style='width:340px;' /><col style='width:50px;'/><col style='width:10px' /><col style='width:60px' /><col style='width:60px' /><col style='width:50px' /><col style='width:10px' /><col style='width:60px' /><col style='width:50px'/><col style='width:50px' /></colgroup>"); sbuilder.Append("<tbody>"); if (sTipoHito != "HF") { SqlDataReader dr = HITOPSP.CatalogoTareasPE(int.Parse(sPE)); //Tarea 50 Desc 350 ETPL 40+10 FIPL 60 FFPL 60 ETPR 40+10 FFPR 60 CONSUMO 50 AVANCE 50 int i = 0; while (dr.Read()) { sCodTarea = dr["codTarea"].ToString(); sbuilder.Append("<tr id='" + sCodTarea + "' est='I' onclick='mm(event)' style='height:16px;'>"); sbuilder.Append("<td>" + int.Parse(sCodTarea).ToString() + "</td>"); sbuilder.Append("<td>" + dr["desTarea"].ToString() + "</td>"); if (dr["ETPL"] != DBNull.Value) { sbuilder.Append("<td style='text-align:right'>" + double.Parse(dr["ETPL"].ToString()).ToString("N") + "</td>"); } else { sbuilder.Append("<td style='text-align:right'></td>"); } sbuilder.Append("<td> </td>"); sFecha = dr["FIPL"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["FIPL"].ToString()).ToShortDateString(); } sbuilder.Append("<td>" + sFecha + "</td>"); sFecha = dr["FFPL"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["FFPL"].ToString()).ToShortDateString(); } sbuilder.Append("<td>" + sFecha + "</td>"); if (dr["ETPR"] != DBNull.Value) { sbuilder.Append("<td style='text-align:right'>" + double.Parse(dr["ETPR"].ToString()).ToString("N") + "</td>"); } else { sbuilder.Append("<td style='text-align:right'></td>"); } sbuilder.Append("<td> </td>"); sFecha = dr["FFPR"].ToString(); if (sFecha != "") { sFecha = DateTime.Parse(dr["FFPR"].ToString()).ToShortDateString(); } sbuilder.Append("<td>" + sFecha + "</td>"); sbuilder.Append("<td style='text-align:right'>" + double.Parse(dr["consumo"].ToString()).ToString("N") + "</td>"); //%Avance bAvanceAutomatico = (bool)dr["t332_avanceauto"]; if (!bAvanceAutomatico) { fAvance = double.Parse(dr["t332_AVANCE"].ToString()); } else { fPrev = double.Parse(dr["ETPR"].ToString()); fCons = double.Parse(dr["Consumo"].ToString()); if (fPrev == 0) { fAvance = 0; } else { fAvance = (fCons * 100) / fPrev; } } sCad = fAvance.ToString("N"); sbuilder.Append("<td style='text-align:right'>" + sCad + "</td></tr>"); i++; } dr.Close(); dr.Dispose(); } sbuilder.Append("</tbody>"); sbuilder.Append("</table>"); strTablaTareas = sbuilder.ToString(); sResul = "OK@#@" + strTablaTareas; } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de tareas.", ex); } return(sResul); }
protected string Grabar(string strDatosHito, string sDatosBorrado, string sTareas) { string sResul = "", sTipoHito, sDesHito, sDesHitoLong, sFecha, sEstado, sAlerta, sCiclico, sAccion, sTipoLinea, sCad, sCodTarea, sHitoPE; string[] aDatosHito; int iCodHito, iCodPE, iMargen, iCodHitoOriginal; short iOrden;//iCodCR bool bAlerta = false, bCiclico = false, bHitoPE; DateTime dtFecha = DateTime.Now; 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 { aDatosHito = Regex.Split(strDatosHito, "##"); iCodHito = int.Parse(aDatosHito[1]); //iCodCR = short.Parse(aDatosHito[2]); iCodPE = int.Parse(aDatosHito[3]); sDesHito = Utilidades.unescape(aDatosHito[4]); sDesHitoLong = Utilidades.unescape(aDatosHito[5]); sFecha = aDatosHito[6]; if (sFecha != "") { dtFecha = DateTime.Parse(sFecha); } iOrden = short.Parse(aDatosHito[11]); //Al grabar un hito puede ocurrir que se haya cambiado el tipo de hito lo que implica que antes de grabar //hay que borrar de una tabla e insertar en otra if (sDatosBorrado != "") { #region Borrado string[] aDatosBorrado = Regex.Split(sDatosBorrado, "##"); sAccion = aDatosBorrado[0]; if (sAccion == "borrar") { sTipoHito = aDatosBorrado[1]; iCodHito = int.Parse(aDatosBorrado[2]); iCodHitoOriginal = int.Parse(aDatosBorrado[2]); //Se realiza primero la inserción del nuevo hito y por último el borrado //del viejo, para traspasar la documentación que pudiera tener. //Inserta el hito en la nueva tabla switch (sTipoHito) { case "HF": //iCodHito = EstrProy.InsertarHito(tr, sDesHito, 0, iOrden); iCodHito = EstrProy.InsertarHito(tr, sDesHito, 1, iOrden, iCodPE); break; case "HT": case "HM": //iCodHito = EstrProy.InsertarHitoPE(tr, iCodCR, iCodPE, sDesHito, sFecha, iOrden); iCodHito = EstrProy.InsertarHitoPE(tr, iCodPE, sDesHito, sFecha, iOrden, sDesHitoLong); break; } SqlDataReader dr; //Selecciono los documentos de un tipo de hito, para luego insertarlos en el otro tipo de hitos. if (sTipoHito == "HF") { dr = DOCUHE.Catalogo3(iCodHitoOriginal); } else { dr = DOCUH.Catalogo3(iCodHitoOriginal); } int nResul; while (dr.Read()) { long?idCS = null;//Id del documento en el Content-Server if (dr["t2_iddocumento"].ToString() != "") { idCS = long.Parse(dr["t2_iddocumento"].ToString()); } if (sTipoHito == "HF") { nResul = DOCUH.Insert(tr, iCodHito, dr["t367_descripcion"].ToString(), dr["t367_weblink"].ToString(), dr["t367_nombrearchivo"].ToString(), idCS, (bool)dr["t367_privado"], (bool)dr["t367_modolectura"], (bool)dr["t367_tipogestion"], int.Parse(Session["UsuarioActual"].ToString())); } else { nResul = DOCUHE.Insert(tr, iCodHito, dr["t366_descripcion"].ToString(), dr["t366_weblink"].ToString(), dr["t366_nombrearchivo"].ToString(), idCS, (bool)dr["t366_privado"], (bool)dr["t366_modolectura"], (bool)dr["t366_tipogestion"], int.Parse(Session["UsuarioActual"].ToString())); } } dr.Close(); dr.Dispose(); //Borro el hito de la tabla en la que estaba HITOPSP.Delete(tr, sTipoHito, iCodHitoOriginal); } #endregion } sTipoHito = aDatosHito[0]; sEstado = aDatosHito[7]; sHitoPE = aDatosHito[8]; if (sHitoPE == "T") { bHitoPE = true; } else { bHitoPE = false; } sAlerta = aDatosHito[9]; sCiclico = aDatosHito[10]; if ((sTipoHito == "HT") || (sTipoHito == "HM")) { iMargen = -1; } else { iMargen = 0; } if (sAlerta == "1") { bAlerta = true; } if (sCiclico == "1") { bCiclico = true; } HITOPSP.Update(tr, sTipoHito, iCodHito, sDesHito, sDesHitoLong, sEstado, iMargen, iOrden, bAlerta, bCiclico, iCodPE, dtFecha, bHitoPE); //Grabamos las tareas asociadas al hito (Si es hito de PE no porque ya lo hace el trigger) //if (sTareas != "" && !bHitoPE) 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 hito-tarea HITOPSP.DeleteTarea(tr, iCodHito, int.Parse(sCodTarea)); } else { if (sTipoLinea == "I") {//Insertar hito-tarea HITOPSP.InsertTarea(tr, iCodHito, int.Parse(sCodTarea)); } } } } Conexion.CommitTransaccion(tr); //sResul = "OK@#@" + DateTime.Now.ToString() + "@#@" + Session["UsuarioActual"].ToString() + "@#@" + Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString(); sResul = "OK@#@" + iCodHito.ToString() + "@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del hito", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }