private void CargarDatosItem() { SUBNODO oSubNodo = SUBNODO.Obtener(null, nIDItem); txtID.Text = oSubNodo.t304_idsubnodo.ToString(); txtDenominacion.Text = oSubNodo.t304_denominacion; hdnIDResponsable.Text = oSubNodo.t314_idusuario_responsable.ToString(); txtDesResponsable.Text = oSubNodo.DesResponsable; if ((bool)oSubNodo.t304_estado) { chkActivo.Checked = true; } else { chkActivo.Checked = false; } txtOrden.Text = oSubNodo.t304_orden.ToString(); hdnManiobra.Text = oSubNodo.t304_maniobra.ToString(); if (hdnManiobra.Text != "0") { //txtDenominacion.ReadOnly = true; //txtDenominacion.Attributes.Add("onKeyUp", ""); //chkActivo.Attributes.Add("disabled", "true"); //imgManiobra.Style.Add("visibility", "visible"); imgManiobra.ToolTip = Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + " de maniobra creada por el sistema. No permite la modificación de la denominación ni del estado."; } hdnIDEmpresa.Text = oSubNodo.t313_idempresa.ToString(); txtDesEmpresa.Text = oSubNodo.t313_denominacion; // txtDesResponsable.Text = oSubNodo.t313_denominacion; }
private string Eliminar(int nNivel, int nIDItem) { try { switch (nNivel) { case 1: SUPERNODO4.Delete(null, nIDItem); break; case 2: SUPERNODO3.Delete(null, nIDItem); break; case 3: SUPERNODO2.Delete(null, nIDItem); break; case 4: SUPERNODO1.Delete(null, nIDItem); break; case 5: NODO.Delete(null, nIDItem); break; case 6: SUBNODO.Delete(null, nIDItem); break; } return("OK@#@"); } catch (Exception ex) { //return "Error@#@" + Errores.mostrarError("Error al obtener la estructura organizativa", ex); if (Errores.EsErrorIntegridad(ex)) { return("Error@#@Operación rechazada.\n\n" + Errores.mostrarError("Error al obtener la estructura organizativa", ex)); //ex.Message; } else { return("Error@#@" + Errores.mostrarError("Error al obtener la estructura organizativa", ex)); } } }
protected void ObtenerSubnodos(string sIDNodo, string sGestorSubNodo, int nOpcion) { StringBuilder sb = new StringBuilder(); SqlDataReader dr = null; try { switch (nOpcion) { case 1: dr = SUBNODO.CatalogoFigura(null, int.Parse(sIDNodo), (nResponsablePSN == null) ? (int)Session["UsuarioActual"] : (int)nResponsablePSN, int.Parse(sGestorSubNodo)); break; case 2: if (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()) { dr = SUBNODO.CatalogoPorNodo(null, int.Parse(sIDNodo), 0); //Mostrar todos todos los subnodos } else { dr = SUBNODO.ObtenerSegunVisionProyectos(null, int.Parse(sIDNodo), (int)Session["UsuarioActual"]); } break; case 3: dr = SUBNODO.CatalogoPorNodo(null, int.Parse(sIDNodo), 0); //Mostrar todos todos los subnodos break; case 4: dr = SUBNODO.CatalogoPorNodo(null, int.Parse(sIDNodo), 1); //No mostrar los subnodos de maniobra break; case 5: dr = SUBNODO.CatalogoPorNodo(null, int.Parse(sIDNodo), 2); // No mostrar los subnodos de maniobra tipo 1 'Proyectos a reasignar' break; } sb.Append("<table id='tblDatos' class='texto MA' style='WIDTH: 350px;'>"); sb.Append("<colgroup><col style='width:347px;' /></colgroup>"); sb.Append("<tbody>"); while (dr.Read()) { sb.Append("<tr id='" + dr["t304_idsubnodo"].ToString() + "' ondblclick='aceptarClick(this.rowIndex)' style='height:16px;'>"); sb.Append("<td style='padding-left:3px;'>" + dr["t304_denominacion"].ToString() + "</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); strTablaHTML = sb.ToString(); } catch (Exception ex) { sErrores = Errores.mostrarError("Error al obtener la relación de nodos.", ex); } }
private string cargarSubnodos() { try { StringBuilder sb = new StringBuilder(); SqlDataReader dr = SUBNODO.CatalogoParaReasignacion((int)Session["UsuarioActual"]); string sTootTip = ""; sb.Append("<table id='tblSubnodos' class='texto MANO' style='width:800px;'>"); sb.Append("<colgroup><col style='width:400px;' /><col style='width:400px;' /></colgroup>"); sb.Append("<tbody>"); while (dr.Read()) { sTootTip = ""; if (Utilidades.EstructuraActiva("SN4")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN3")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN2")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["DES_SN2"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN1")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["DES_SN1"].ToString(); } sb.Append("<tr id='" + dr["t304_idsubnodo"].ToString() + "' nodo='" + dr["t303_idnodo"].ToString() + "' onclick='mm(event);' "); sb.Append("style='height:20px;noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle'> Estructura] body=[" + sTootTip + "] hideselects=[off]\">"); sb.Append("<td style='padding-left:3px;'>" + dr["t303_denominacion"].ToString() + "</td>"); sb.Append("<td style='border-right: solid 1px #569BBD; padding-left:3px;'>" + dr["t304_denominacion"].ToString() + "</td>"); //sb.Append("<tr style='height:20px;' >"); //sb.Append("<td>" + dr["t303_denominacion"].ToString() + "</td>"); //sb.Append("<td>" + dr["t304_denominacion"].ToString() + "</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al cargar los subnodos", ex)); } }
private string Eliminar(int nIDItem) { try { SUBNODO.Delete(null, nIDItem); return("OK@#@"); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al eliminar el subnodo", ex)); } }
private string cargarSubnodos(string sID) { try { System.Text.StringBuilder sb = new System.Text.StringBuilder(); SqlDataReader dr = SUBNODO.CatalogoPorNodo(null, short.Parse(sID), 0); //Mostrar todos todos los subnodos while (dr.Read()) { sb.Append(dr["t304_idsubnodo"].ToString() + "##" + dr["t304_denominacion"].ToString() + "///"); } dr.Close(); dr.Dispose(); return("OK@#@" + sb.ToString());; } catch (Exception ex) { return("N@#@" + Errores.mostrarError("Error al obtener los subnodos", ex)); } }
private string Procesar(string strDatos) { string sResul = ""; int idPSN = 0, responsable_origen = 0, responsable_destino = 0, subnodo_origen = 0, subnodo_destino = 0; try { REASIGNACIONPSN.DeleteAll(null, (int)Session["UsuarioActual"]); string[] aDatos = Regex.Split(strDatos, "///"); foreach (string oProyecto in aDatos) { try { if (oProyecto == "") { continue; } string[] aProyecto = Regex.Split(oProyecto, "##"); ///aProyecto[0] = idPSN ///aProyecto[1] = responsable_origen ///aProyecto[2] = responsable_destino ///aProyecto[3] = subnodo_origen ///aProyecto[4] = subnodo_destino ///aProyecto[5] = procesado idPSN = int.Parse(aProyecto[0]); responsable_origen = int.Parse(aProyecto[1]); responsable_destino = int.Parse(aProyecto[2]); subnodo_origen = int.Parse(aProyecto[3]); subnodo_destino = int.Parse(aProyecto[4]); REASIGNACIONPSN.Insertar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, ""); if (aProyecto[5] == "1" || (aProyecto[1] == aProyecto[2] && aProyecto[3] == aProyecto[4])) { REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, ""); continue; } #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 PROYECTOSUBNODO oPSN = PROYECTOSUBNODO.Obtener(tr, int.Parse(aProyecto[0])); SUBNODO oSubnodo = SUBNODO.Obtener(tr, int.Parse(aProyecto[4])); if (oPSN.t303_idnodo != oSubnodo.t303_idnodo) { throw (new NullReferenceException("El " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del proyecto y el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del " + Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + " destino no coinciden, por lo que no se puede realizar la reasignación.")); } PROYECTOSUBNODO.UpdateReasignacion(tr, idPSN, responsable_destino, subnodo_destino); //update proceso OK REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, ""); Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); //update proceso KO REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, ex.Message); sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex); } finally { Conexion.Cerrar(oConn); } }// fin foreach sResul = "OK"; } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex); } return(sResul); }
private string getPreferencia(string sIdPrefUsuario) { StringBuilder sb = new StringBuilder(); int idPrefUsuario = 0, nConceptoEje = 0; int nOpcion = 1; try { SqlDataReader dr = PREFERENCIAUSUARIO.Obtener(null, (sIdPrefUsuario == "") ? null : (int?)int.Parse(sIdPrefUsuario), (int)Session["IDFICEPI_PC_ACTUAL"], 13); if (dr.Read()) { bHayPreferencia = true; sb.Append(dr["t462_idPrefUsuario"].ToString() + "@#@"); //1 sb.Append(dr["Estado"].ToString() + "@#@"); //2 sb.Append(dr["categoria"].ToString() + "@#@"); //3 sb.Append(dr["cualidad"].ToString() + "@#@"); //4 sb.Append(dr["CerrarAuto"].ToString() + "@#@"); //5 sb.Append(dr["ActuAuto"].ToString() + "@#@"); //6 sb.Append(dr["OperadorLogico"].ToString() + "@#@"); //7 sb.Append(dr["OpcionPeriodo"].ToString() + "@#@"); //8 idPrefUsuario = int.Parse(dr["t462_idPrefUsuario"].ToString()); nUtilidadPeriodo = int.Parse(dr["OpcionPeriodo"].ToString()); } dr.Close(); //dr.Dispose(); #region Fechas switch (nUtilidadPeriodo) { case 1: sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@"); //9 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 1) + "@#@"); //10 sb.Append((DateTime.Now.Year * 100 + 12).ToString() + "@#@"); //11 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 12) + "@#@"); //12 break; case 2: sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@"); //9 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //10 sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@"); //11 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //12 break; case 3: sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@"); //9 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 1) + "@#@"); //10 sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@"); //11 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //12 break; case 4: sb.Append("199001" + "@#@"); //9 sb.Append(Fechas.AnnomesAFechaDescLarga(199001) + "@#@"); //10 sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@"); //11 sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //12 break; case 5: sb.Append("199001" + "@#@"); //9 sb.Append(Fechas.AnnomesAFechaDescLarga(199001) + "@#@"); //10 sb.Append("207812" + "@#@"); //11 sb.Append(Fechas.AnnomesAFechaDescLarga(207812) + "@#@"); //12 break; default: sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@"); //9 sb.Append(mes[0] + " " + DateTime.Now.Year.ToString() + "@#@"); //10 sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@"); //11 sb.Append(mes[DateTime.Now.Month - 1] + " " + DateTime.Now.Year.ToString() + "@#@"); //12 break; } #endregion #region HTML, IDs int nNivelMinimo = 0; bool bAmbito = false; string[] aID = null; dr = PREFUSUMULTIVALOR.Obtener(null, idPrefUsuario); while (dr.Read()) { switch (int.Parse(dr["t441_concepto"].ToString())) { case 1: if (!bAmbito) { bAmbito = true; nNivelMinimo = 6; } aID = Regex.Split(dr["t441_valor"].ToString(), "-"); if (int.Parse(aID[0]) < nNivelMinimo) { nNivelMinimo = int.Parse(aID[0]); } if (strIDsAmbito != "") { strIDsAmbito += ","; } strIDsAmbito += aID[1]; aSubnodos = PREFUSUMULTIVALOR.SelectSubnodosAmbito(null, aSubnodos, int.Parse(aID[0]), int.Parse(aID[1])); strHTMLAmbito += "<tr id='" + aID[1] + "' tipo='" + aID[0] + "' style='height:16px;' idAux='"; strHTMLAmbito += SUBNODO.fgGetCadenaID(aID[0], aID[1]); strHTMLAmbito += "'><td>"; switch (int.Parse(aID[0])) { case 1: strHTMLAmbito += "<img src='../../../../images/imgSN4.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 2: strHTMLAmbito += "<img src='../../../../images/imgSN3.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 3: strHTMLAmbito += "<img src='../../../../images/imgSN2.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 4: strHTMLAmbito += "<img src='../../../../images/imgSN1.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 5: strHTMLAmbito += "<img src='../../../../images/imgNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 6: strHTMLAmbito += "<img src='../../../../images/imgSubNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; } strHTMLAmbito += "<nobr class='NBR W230'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 2: if (strIDsResponsable != "") { strIDsResponsable += ","; } strIDsResponsable += dr["t441_valor"].ToString(); strHTMLResponsable += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 3: if (strIDsNaturaleza != "") { strIDsNaturaleza += ","; } strIDsNaturaleza += dr["t441_valor"].ToString(); strHTMLNaturaleza += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 4: if (strIDsModeloCon != "") { strIDsModeloCon += ","; } strIDsModeloCon += dr["t441_valor"].ToString(); strHTMLModeloCon += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 5: if (strIDsHorizontal != "") { strIDsHorizontal += ","; } strIDsHorizontal += dr["t441_valor"].ToString(); strHTMLHorizontal += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 6: if (strIDsSector != "") { strIDsSector += ","; } strIDsSector += dr["t441_valor"].ToString(); strHTMLSector += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 7: if (strIDsSegmento != "") { strIDsSegmento += ","; } strIDsSegmento += dr["t441_valor"].ToString(); strHTMLSegmento += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 8: if (strIDsCliente != "") { strIDsCliente += ","; } strIDsCliente += dr["t441_valor"].ToString(); strHTMLCliente += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 9: if (strIDsContrato != "") { strIDsContrato += ","; } strIDsContrato += dr["t441_valor"].ToString(); strHTMLContrato += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 10: if (strIDsQn != "") { strIDsQn += ","; } strIDsQn += dr["t441_valor"].ToString(); strHTMLQn += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 11: if (strIDsQ1 != "") { strIDsQ1 += ","; } strIDsQ1 += dr["t441_valor"].ToString(); strHTMLQ1 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 12: if (strIDsQ2 != "") { strIDsQ2 += ","; } strIDsQ2 += dr["t441_valor"].ToString(); strHTMLQ2 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 13: if (strIDsQ3 != "") { strIDsQ3 += ","; } strIDsQ3 += dr["t441_valor"].ToString(); strHTMLQ3 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 14: if (strIDsQ4 != "") { strIDsQ4 += ","; } strIDsQ4 += dr["t441_valor"].ToString(); strHTMLQ4 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; //case 15://Columnas a sacar // if (strMagnitudes != "") strMagnitudes += "///"; // strMagnitudes += dr["t441_valor"].ToString() +"##"+ dr["t441_denominacion"].ToString(); // break; case 16: aID = Regex.Split(dr["t441_valor"].ToString(), "-"); if (strIDsProyecto != "") { strIDsProyecto += ","; } strIDsProyecto += aID[0]; strHTMLProyecto += "<tr id='" + aID[0] + "' style='height:16px;' "; strHTMLProyecto += "categoria='" + aID[1] + "' "; strHTMLProyecto += "cualidad='" + aID[2] + "' "; strHTMLProyecto += "estado='" + aID[3] + "'><td>"; if (aID[1] == "P") { strHTMLProyecto += "<img src='../../../../images/imgProducto.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; } else { strHTMLProyecto += "<img src='../../../../images/imgServicio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; } switch (aID[2]) { case "C": strHTMLProyecto += "<img src='../../../../images/imgIconoContratante.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "J": strHTMLProyecto += "<img src='../../../../images/imgIconoRepJor.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "P": strHTMLProyecto += "<img src='../../../../images/imgIconoRepPrecio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } switch (aID[3]) { case "A": strHTMLProyecto += "<img src='../../../../images/imgIconoProyAbierto.gif' title='Proyecto abierto' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "C": strHTMLProyecto += "<img src='../../../../images/imgIconoProyCerrado.gif' title='Proyecto cerrado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "H": strHTMLProyecto += "<img src='../../../../images/imgIconoProyHistorico.gif' title='Proyecto histórico' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "P": strHTMLProyecto += "<img src='../../../../images/imgIconoProyPresup.gif' title='Proyecto presupuestado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } strHTMLProyecto += "<nobr class='NBR W190' style='margin-left:10px;' onmouseover='TTip(event)'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 17: if (strIDsOrgComercial != "") { strIDsOrgComercial += ","; } strIDsOrgComercial += dr["t441_valor"].ToString(); strHTMLOrgComercial += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; } } dr.Close(); dr.Dispose(); #endregion if (nConceptoEje >= 7) { nOpcion = nConceptoEje; } else { if (nNivelMinimo != 0) { nOpcion = nNivelMinimo; } else { nOpcion = nEstructuraMinima; } } for (int i = 0; i < aSubnodos.Count; i++) { if (i > 0) { sSubnodos += ","; } sSubnodos += aSubnodos[i]; } sb.Append(nOpcion + "@#@"); //13 sb.Append(sSubnodos + "@#@"); //14 sb.Append(strHTMLAmbito + "@#@"); //15 sb.Append(strIDsAmbito + "@#@"); //16 sb.Append(strHTMLResponsable + "@#@"); //17 sb.Append(strIDsResponsable + "@#@"); //18 sb.Append(strHTMLNaturaleza + "@#@"); //19 sb.Append(strIDsNaturaleza + "@#@"); //20 sb.Append(strHTMLModeloCon + "@#@"); //21 sb.Append(strIDsModeloCon + "@#@"); //22 sb.Append(strHTMLHorizontal + "@#@"); //23 sb.Append(strIDsHorizontal + "@#@"); //24 sb.Append(strHTMLSector + "@#@"); //25 sb.Append(strIDsSector + "@#@"); //26 sb.Append(strHTMLSegmento + "@#@"); //27 sb.Append(strIDsSegmento + "@#@"); //28 sb.Append(strHTMLCliente + "@#@"); //29 sb.Append(strIDsCliente + "@#@"); //30 sb.Append(strHTMLContrato + "@#@"); //31 sb.Append(strIDsContrato + "@#@"); //32 sb.Append(strHTMLQn + "@#@"); //33 sb.Append(strIDsQn + "@#@"); //34 sb.Append(strHTMLQ1 + "@#@"); //35 sb.Append(strIDsQ1 + "@#@"); //36 sb.Append(strHTMLQ2 + "@#@"); //37 sb.Append(strIDsQ2 + "@#@"); //38 sb.Append(strHTMLQ3 + "@#@"); //39 sb.Append(strIDsQ3 + "@#@"); //40 sb.Append(strHTMLQ4 + "@#@"); //41 sb.Append(strIDsQ4 + "@#@"); //42 sb.Append(strMagnitudes + "@#@"); //43 sb.Append(strHTMLProyecto + "@#@"); //44 sb.Append(strIDsProyecto + "@#@"); //45 sb.Append(strHTMLOrgComercial + "@#@"); //46 sb.Append(strIDsOrgComercial + "@#@"); //47 return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener la preferencia.", ex, false)); } }
private string Grabar(string strDatosBasicos, string strFiguras, string strFigurasV) { string sResul = ""; int nID = -1; string[] aDatosBasicos = null; #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 Generales if (strDatosBasicos != "")//No se ha modificado nada de la pestaña general { aDatosBasicos = Regex.Split(strDatosBasicos, "##"); ///aDatosBasicos[0] = ID ///aDatosBasicos[1] = Denominacion ///aDatosBasicos[2] = IDResponsable ///aDatosBasicos[3] = Activo ///aDatosBasicos[4] = Orden ///aDatosBasicos[5] = IDPadre ///aDatosBasicos[6] = t313_idempresa /// if (aDatosBasicos[0] == "") //insert { nID = SUBNODO.Insert(tr, Utilidades.unescape(aDatosBasicos[1]), int.Parse(aDatosBasicos[5]), int.Parse(aDatosBasicos[4]), (aDatosBasicos[3] == "1") ? true : false, 0, int.Parse(aDatosBasicos[2]), (aDatosBasicos[6] == "")? null : (int?)int.Parse(aDatosBasicos[6]) ); } else //update { nID = int.Parse(aDatosBasicos[0].Replace(".", "")); SUBNODO.Update(tr, nID, Utilidades.unescape(aDatosBasicos[1]), int.Parse(aDatosBasicos[5]), int.Parse(aDatosBasicos[4]), (aDatosBasicos[3] == "1") ? true : false, int.Parse(aDatosBasicos[2]), (aDatosBasicos[6] == "") ? null : (int?)int.Parse(aDatosBasicos[6]) ); } } #endregion #region Datos Figuras if (strFiguras != "")//No se ha modificado nada de la pestaña de Figuras { string[] aUsuarios = Regex.Split(strFiguras, "///"); foreach (string oUsuario in aUsuarios) { if (oUsuario == "") { continue; } string[] aFig = Regex.Split(oUsuario, "##"); ///aFig[0] = bd ///aFig[1] = idUsuario ///aFig[2] = Figuras //FIGURASUBNODO.DeleteUsuario(tr, nID, int.Parse(aFig[1])); //if (aFig[0] != "D") //{ // string[] aFiguras = Regex.Split(aFig[2], ","); // foreach (string oFigura in aFiguras) // { // if (oFigura == "") continue; // FIGURASUBNODO.Insert(tr, nID, int.Parse(aFig[1]), oFigura); // } //} if (aFig[0] == "D") { FIGURASUBNODO.DeleteUsuario(tr, nID, int.Parse(aFig[1])); } else { string[] aFiguras = Regex.Split(aFig[2], ","); foreach (string oFigura in aFiguras) { if (oFigura == "") { continue; } string[] aFig2 = Regex.Split(oFigura, "@"); ///aFig2[0] = bd ///aFig2[1] = Figura if (aFig2[0] == "D") { FIGURASUBNODO.Delete(tr, nID, int.Parse(aFig[1]), aFig2[1]); } else { FIGURASUBNODO.Insert(tr, nID, int.Parse(aFig[1]), aFig2[1]); } } } } } #endregion #region Datos Figuras Virtuales if (strFigurasV != "")//No se ha modificado nada de la pestaña de Figuras virtuales { string[] aUsuariosV = Regex.Split(strFigurasV, "///"); foreach (string oUsuarioV in aUsuariosV) { if (oUsuarioV == "") { continue; } string[] aFigV = Regex.Split(oUsuarioV, "##"); ///aFig[0] = bd ///aFig[1] = idUsuario ///aFig[2] = Figuras if (aFigV[0] == "D") { FIGURAPSN_SUBNODO.DeleteUsuario(tr, nID, int.Parse(aFigV[1])); } else { string[] aFigurasV = Regex.Split(aFigV[2], ","); foreach (string oFiguraV in aFigurasV) { if (oFiguraV == "") { continue; } string[] aFig2V = Regex.Split(oFiguraV, "@"); ///aFig2[0] = bd ///aFig2[1] = Figura if (aFig2V[0] == "D") { FIGURAPSN_SUBNODO.Delete(tr, nID, int.Parse(aFigV[1]), aFig2V[1]); } else { FIGURAPSN_SUBNODO.Insert(tr, nID, int.Parse(aFigV[1]), aFig2V[1]); } } } } } #endregion Conexion.CommitTransaccion(tr); sResul = "OK@#@" + nID.ToString("#,###"); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del elemento de estructura", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private string obtenerEstructura(string sNivel) { string sResul = ""; try { System.Text.StringBuilder sb = new System.Text.StringBuilder(); SqlDataReader dr = null; if (sNivel == "SUBNODO") { dr = SUBNODO.ObtenerSubNodosUsuarioSegunVisionProyectosTEC(null, (int)Session["UsuarioActual"], false, true); } else if (sNivel == "NODO") { dr = NODO.ObtenerNodosUsuarioSegunVisionProyectosTEC(null, (int)Session["UsuarioActual"], false, true); } else if (sNivel == "SNN1") { dr = SUPERNODO1.ObtenerSuperNodo1UsuarioSegunVisionProyectosTEC(null, (int)Session["UsuarioActual"], false, true); } else if (sNivel == "SNN2") { dr = SUPERNODO2.ObtenerSuperNodo2UsuarioSegunVisionProyectosTEC(null, (int)Session["UsuarioActual"], false, true); } else if (sNivel == "SNN3") { dr = SUPERNODO3.ObtenerSuperNodo3UsuarioSegunVisionProyectosTEC(null, (int)Session["UsuarioActual"], false, true); } else if (sNivel == "SNN4") { dr = SUPERNODO4.ObtenerSuperNodo4UsuarioSegunVisionProyectosTEC(null, (int)Session["UsuarioActual"], false, true); } sb.Append("<table id='tblDatos' class='texto MA' style='WIDTH: 350px;'>" + (char)10); sb.Append("<colgroup><col style='width:350px;' /></colgroup>" + (char)10); sb.Append("<tbody>"); string sTootTip = ""; while (dr.Read()) { sb.Append("<tr id='" + dr["IDENTIFICADOR"].ToString() + "'"); sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' "); sTootTip = ""; switch (sNivel) { case "SNN4": if (Utilidades.EstructuraActiva("SN4")) { sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString(); } break; case "SNN3": if (Utilidades.EstructuraActiva("SN4")) { sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN3")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString(); } break; case "SNN2": if (Utilidades.EstructuraActiva("SN4")) { sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN3")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN2")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["DES_SN2"].ToString(); } break; case "SNN1": if (Utilidades.EstructuraActiva("SN4")) { sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN3")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN2")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["DES_SN2"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN1")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["DES_SN1"].ToString(); } break; case "NODO": if (Utilidades.EstructuraActiva("SN4")) { sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN3")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN2")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["DES_SN2"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN1")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["DES_SN1"].ToString() + "<br>"; } sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label> " + dr["DES_NODO"].ToString(); break; case "SUBNODO": if (Utilidades.EstructuraActiva("SN4")) { sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN3")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN2")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["DES_SN2"].ToString() + "<br>"; } if (Utilidades.EstructuraActiva("SN1")) { sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["DES_SN1"].ToString() + "<br>"; } sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label> " + dr["DES_NODO"].ToString() + "<br>"; sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUBNODO) + ":</label> " + dr["DES_SUBNODO"].ToString(); break; } sb.Append("style='height:16px;noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../../images/info.gif' style='vertical-align:middle'> Estructura] body=[" + sTootTip + "] hideselects=[off]\">"); sb.Append("<td style='padding-left:5px;' >" + dr["DENOMINACION"].ToString() + "</td>"); sb.Append("</tr>" + (char)10); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); sResul = "OK@#@" + sb.ToString(); } catch (System.Exception objError) { sResul = "Error@#@" + Errores.mostrarError("Error al leer el catálogo nivel: " + sNivel, objError); } return(sResul); }
private string Procesar(string sForzar, string sAnno, string strDatos) { string sResul = ""; int nSubnodo = 0, nPE = 0, nPSN = 0;//, nDesde = 0, nHasta = 0, nAux = 0 Hashtable htSubnodos = new Hashtable(); Hashtable htNodos = new Hashtable(); NODO oNodoAux = null; int[] nDatosNodo; int? idFicepiValidador = null; try { #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 string[] aProyectos = Regex.Split(strDatos, "///"); foreach (string oProyecto in aProyectos) { if (oProyecto == "") { continue; } string[] aValores = Regex.Split(oProyecto, "##"); /// aValores[0] = idNodo /// aValores[1] = idNaturaleza /// aValores[2] = FIV /// aValores[3] = FFV /// aValores[4] = idPlantilla /// aValores[5] = Denominación Naturaleza /// aValores[6] = Esreplicable /// /// aValores[7] = Hereda Nodo /// aValores[8] = Id Usuario responsable /// aValores[9] = Imputable GASVI /// aValores[10] = Id Ficepi Validador GASVI if (sForzar == "N" && PROYECTOSUBNODO.ExistePIG(tr, int.Parse(aValores[0]), int.Parse(aValores[1]), short.Parse(sAnno))) { continue; } #region Datos de nodo y subnodo nDatosNodo = (int[])htSubnodos[int.Parse(aValores[0])]; if (nDatosNodo == null) { int nCountSubnodosManiobra2 = 0; int idSubnodoManiobra2 = 0; int nCountSubnodosNoManiobra = 0; int idSubnodoNoManiobra = 0; DataSet dsSubNodos = SUBNODO.CatalogoActivos(tr, int.Parse(aValores[0]), true); foreach (DataRow oSN in dsSubNodos.Tables[0].Rows) { if ((byte)oSN["t304_maniobra"] == 2) { nCountSubnodosManiobra2++; idSubnodoManiobra2 = (int)oSN["t304_idsubnodo"]; } else if ((byte)oSN["t304_maniobra"] == 0) { nCountSubnodosNoManiobra++; idSubnodoNoManiobra = (int)oSN["t304_idsubnodo"]; } } dsSubNodos.Dispose(); //nSubnodo = SUBNODO.ObtenerSubnodoManiobra2(tr, int.Parse(aValores[0])); NODO oNodo = NODO.Select(tr, int.Parse(aValores[0])); if (nCountSubnodosNoManiobra == 1) { nSubnodo = idSubnodoNoManiobra; } else if (nCountSubnodosManiobra2 >= 1) { nSubnodo = idSubnodoManiobra2; } else { nSubnodo = SUBNODO.Insert(tr, "Improductivos genéricos", int.Parse(aValores[0]), 0, true, 2, oNodo.t314_idusuario_responsable, null); } htSubnodos.Add(int.Parse(aValores[0]), new int[3] { int.Parse(aValores[0]), nSubnodo, oNodo.t314_idusuario_responsable }); nDatosNodo = (int[])htSubnodos[int.Parse(aValores[0])]; } oNodoAux = (NODO)htNodos[int.Parse(aValores[0])]; if (oNodoAux == null) { oNodoAux = NODO.Select(tr, int.Parse(aValores[0])); htNodos.Add(int.Parse(aValores[0]), oNodoAux); } #endregion string sDenominacion = sAnno + " " + Utilidades.unescape(aValores[5]) + " (" + oNodoAux.t303_denabreviada + ")"; int nIdClientePIG = CLIENTE.ObtenerClientePIG(tr, int.Parse(aValores[0])); nPE = PROYECTO.Insert(tr, "A", sDenominacion.Substring(0, (sDenominacion.Length > 70) ? 70 : sDenominacion.Length), "", nIdClientePIG, null, null, int.Parse(aValores[1]), 4, DateTime.Parse(aValores[2]), DateTime.Parse(aValores[3]), "S", "J", "J", short.Parse(sAnno), false, false, (aValores[6] == "1")? true:false, null, false, null, null, Constantes.gIdNLO_Defecto); //nPSN = PROYECTOSUBNODO.Insert(tr, nPE, nDatosNodo[1], false, "C", true, nDatosNodo[2], // sAnno + " " + Utilidades.unescape(aValores[5]), // "X", "X", false, true, false, false, false, "", "", "", null, null, null, null, // null, null, false, 0); //Mikel 30/12/2011. Pongo como seudónimo del subnodo la misma denominación que para el proyecto if (aValores[10] != "" && aValores[10] != "null") { idFicepiValidador = int.Parse(aValores[10]); } else { idFicepiValidador = null; } //Mikel 02/02/2016 Los PIG deben llevar el admite recurso PST a cero nPSN = PROYECTOSUBNODO.Insert(tr, nPE, nDatosNodo[1], false, "C", (aValores[7] == "1") ? true : false, int.Parse(aValores[8]), //nDatosNodo[2],//Id Usuario Responsable sDenominacion.Substring(0, (sDenominacion.Length > 70) ? 70 : sDenominacion.Length), "X", "X", (aValores[9] == "1") ? true : false, //Imputable GASVI false, //Admite recurso PST false, false, false, "", "", "", null, null, null, null, null, idFicepiValidador, //Id Ficepi Validador GASVI false, 0); //A falta de tener en cuenta si la naturaleza tiene plantilla. TAREAPSP.UpdateVigenciaByPSN(tr, nPSN, DateTime.Parse(aValores[2]), DateTime.Parse(aValores[3])); #region Grabación de plantilla if (aValores[4] != "0") { //Hay que grabar la plantilla de PE. int iPos, iMargen, iPT = -1, iFase = -1, iActiv = -1, iTarea = -1, iHito = -1, iAux = -1, iOrden = 0, idItemHitoPl; double fDuracion; decimal fPresupuesto; string sTipo, sDesc, sFiniPL, sFfinPL, sFiniV, sFfinV, sAux, sAvisos, sIdTareaPL, sCad; bool bFacturable, bObligaEst, bAvanceAutomatico, bEstadoTarea; ArrayList alTareas = new ArrayList(); PROYECTOSUBNODO.BorrarPTByPSN(tr, nPSN); #region 1º Se insertan las filas de la estructura SqlDataReader dr = PlantTarea.Catalogo(int.Parse(aValores[4])); while (dr.Read()) { sTipo = dr["Tipo"].ToString(); if (sTipo == "H") { sTipo = "HT"; } sDesc = Utilidades.escape(dr["Nombre"].ToString()); iMargen = int.Parse(dr["margen"].ToString()); //Si la linea es de hito compruebo si el hito es de tarea o no para actualizar la variable iTarea if (sTipo == "HT" || sTipo == "HM" || sTipo == "HF") { switch (iMargen) { case 80: //es un hito de tarea por lo que mantengo el código de tarea break; case 60: //es un hito de fase y actividad o de tarea con actividad sin fase if (iFase != -1) { iTarea = -1; } break; case 40: //es un hito de fase o de tarea sin actividad ni fase o de actividad sin fase if (iFase != -1) { iTarea = -1; iActiv = -1; } else { if (iActiv != -1) { iTarea = -1; } } break; case 20: //es un hito proyecto técnico case 0: //es un hito de proyecto económico iTarea = -1; iActiv = -1; iFase = -1; break; } } fDuracion = 0; sFiniPL = ""; //¿alguno es obligatorio? sFfinPL = ""; sFiniV = Fechas.primerDiaMes(DateTime.Today).ToShortDateString(); sFfinV = ""; fPresupuesto = 0; sIdTareaPL = dr["t339_iditems"].ToString(); bFacturable = (bool)dr["t339_facturable"]; //if (sEstado != "D") iOrden++; //iOrden = int.Parse(aElem[8]); //Si no ha cambiado la linea pero el orden actual es distinto del original hay que updatear la linea para actualizar el orden switch (sTipo) { case "P": iPT = -1; iFase = -1; iActiv = -1; break; case "F": iFase = -1; iActiv = -1; break; case "A": iActiv = -1; if (iMargen != 40) { iFase = -1; } break; case "T": iTarea = -1; if (iMargen == 40) { iFase = -1; } else { if (iMargen != 60) { iFase = -1; iActiv = -1; } } break; case "HT": case "HF": case "HM": iHito = -1; //int.Parse(aElem[7]); break; } bObligaEst = (bool)dr["obliga"]; bAvanceAutomatico = (bool)dr["avance"]; sAux = EstrProy.Insertar(tr, int.Parse(aValores[0]), nPE, nPSN, sTipo, sDesc, iPT, iFase, iActiv, iMargen, iOrden, sFiniPL, sFfinPL, fDuracion, sFiniV, sFfinV, fPresupuesto, bFacturable, bObligaEst, bAvanceAutomatico, "1", "", 0); iPos = sAux.IndexOf("##"); iAux = int.Parse(sAux.Substring(0, iPos)); sAvisos = sAux.Substring(iPos + 2); switch (sTipo) { case "P": iPT = iAux; break; case "F": iFase = iAux; break; case "A": iActiv = iAux; break; case "T": iTarea = iAux; if (sIdTareaPL != "" && sIdTareaPL != "-1") { string[] aDatosAux = new string[] { sIdTareaPL, iAux.ToString() }; alTareas.Add(aDatosAux); //Grabo los atributos estadísticos provenientes de la plantilla. iAux=código de tarea TAREAPSP.InsertarAE(tr, int.Parse(sIdTareaPL), iAux); } //Hay que guardar las tareas que quedan pendientes, ya que luego hay que actualizar el estado en pantalla bEstadoTarea = TAREAPSP.bFaltanValoresAE(tr, short.Parse(aValores[0]), iAux); if (bEstadoTarea) { //actualizo el estado de la tarea TAREAPSP.Modificar(tr, iTarea, sDesc, iPT, iActiv, iOrden, sFiniPL, sFfinPL, fDuracion, sFiniV, sFfinV, (int)Session["UsuarioActual"], fPresupuesto, 2, bFacturable); //sAvisos = "Se han insertado tareas que quedan en estado Pendiente ya que el C.R. tiene atributos estadísticos\nobligatorios para los que la tarea no tiene valores asignados"; //if (sTareasPendientes == "") sTareasPendientes = iAux.ToString(); //else sTareasPendientes += "//"+ iAux.ToString(); } break; case "HT": iHito = iAux; break; } if (sTipo.Substring(0, 1) == "H") { AsociarTareasHitos(tr, nPSN, iPT, iFase, iActiv, iTarea, iHito, iMargen); } } dr.Close(); dr.Dispose(); #endregion #region 2º Se insertan las filas de los hitos de cumplimiento discontinuo dr = PlantTarea.CatalogoHitos(int.Parse(aValores[4])); while (dr.Read()) { sTipo = "HM"; sDesc = dr["t369_deshito"].ToString(); idItemHitoPl = (int)dr["t369_idhito"]; iOrden = int.Parse(dr["t369_orden"].ToString()); sAux = EstrProy.Insertar(tr, int.Parse(aValores[0]), nPE, nPSN, sTipo, sDesc, 0, 0, 0, 0, iOrden, "", "", 0, "", "", 0, false, false, false, "1", "", 0); iPos = sAux.IndexOf("##"); iAux = int.Parse(sAux.Substring(0, iPos)); sAvisos = sAux.Substring(iPos + 2); //Si es hito de cumplimiento discontinuo y se ha cargado desde plantilla hay que grabar sus tareas if (sTipo == "HM") { if (idItemHitoPl > 0) { //Recojo las tareas de plantilla del código de hito en plantilla sCad = HITOE_PLANT.fgListaTareasPlantilla(tr, idItemHitoPl); string[] aElems2 = Regex.Split(sCad, @"##"); for (int j = 0; j < aElems2.Length; j++) { sIdTareaPL = aElems2[j]; if (sIdTareaPL != "" && sIdTareaPL != "-1") { //Identifico el código de tarea real asociado al codigo de tarea de plantilla for (int n = 0; n < alTareas.Count; n++) { if (((string[])alTareas[n])[0] == sIdTareaPL) {//Inserto la tarea del hito sCad = ((string[])alTareas[n])[1]; iTarea = int.Parse(sCad); EstrProy.InsertarTareaHito(tr, iAux, iTarea); break; } } } } } } }//while dr.Close(); dr.Dispose(); #endregion } #endregion } Conexion.CommitTransaccion(tr); sResul = "OK"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al crear los proyectos improductivos genéricos.", ex, false); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private string getPreferencia(string sIdPrefUsuario) { StringBuilder sb = new StringBuilder(); int idPrefUsuario = 0; //int nOpcion = 1; //string sEstado = ""; try { SqlDataReader dr = PREFERENCIAUSUARIO.Obtener(null, (sIdPrefUsuario == "") ? null : (int?)int.Parse(sIdPrefUsuario), (int)Session["IDFICEPI_PC_ACTUAL"], 20); if (dr.Read()) { bHayPreferencia = true; sb.Append(dr["t462_idPrefUsuario"].ToString() + "@#@"); //1 sb.Append(dr["CerrarAuto"].ToString() + "@#@"); //5 sb.Append(dr["ActuAuto"].ToString() + "@#@"); //6 //sb.Append(dr["OperadorLogico"].ToString() + "@#@"); //7 //sb.Append(dr["OpcionPeriodo"].ToString() + "@#@"); //8 //sEstado = dr["estado"].ToString(); //sObraCurso = (dr["ObraCurso"].ToString() == "") ? "1" : dr["ObraCurso"].ToString(); //sFactuAnti = (dr["FactAnti"].ToString() == "") ? "1" : dr["FactAnti"].ToString(); idPrefUsuario = int.Parse(dr["t462_idPrefUsuario"].ToString()); //nConceptoEje = (dr["ConceptoEje"].ToString() == "") ? 0 : int.Parse(dr["ConceptoEje"].ToString()); //nUtilidadPeriodo = int.Parse(dr["OpcionPeriodo"].ToString()); } dr.Close(); //dr.Dispose(); #region HTML, IDs int nNivelMinimo = 0; bool bAmbito = false; string[] aID = null; dr = PREFUSUMULTIVALOR.Obtener(null, idPrefUsuario); while (dr.Read()) { switch (int.Parse(dr["t441_concepto"].ToString())) { case 1: if (!bAmbito) { bAmbito = true; nNivelMinimo = 6; } aID = Regex.Split(dr["t441_valor"].ToString(), "-"); if (int.Parse(aID[0]) < nNivelMinimo) { nNivelMinimo = int.Parse(aID[0]); } if (strIDsAmbito != "") { strIDsAmbito += ","; } strIDsAmbito += aID[1]; aSubnodos = PREFUSUMULTIVALOR.SelectSubnodosAmbito(null, aSubnodos, int.Parse(aID[0]), int.Parse(aID[1])); strHTMLAmbito += "<tr id='" + aID[1] + "' tipo='" + aID[0] + "' style='height:18px;' idAux='"; strHTMLAmbito += SUBNODO.fgGetCadenaID(aID[0], aID[1]); strHTMLAmbito += "'><td>"; switch (int.Parse(aID[0])) { case 1: strHTMLAmbito += "<img src='../../../../images/imgSN4.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 2: strHTMLAmbito += "<img src='../../../../images/imgSN3.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 3: strHTMLAmbito += "<img src='../../../../images/imgSN2.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 4: strHTMLAmbito += "<img src='../../../../images/imgSN1.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 5: strHTMLAmbito += "<img src='../../../../images/imgNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 6: strHTMLAmbito += "<img src='../../../../images/imgSubNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; } strHTMLAmbito += "<nobr class='NBR W230'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 2: if (strIDsResponsable != "") { strIDsResponsable += ","; } strIDsResponsable += dr["t441_valor"].ToString(); strHTMLResponsable += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 3: if (strIDsNaturaleza != "") { strIDsNaturaleza += ","; } strIDsNaturaleza += dr["t441_valor"].ToString(); strHTMLNaturaleza += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 4: if (strIDsModeloCon != "") { strIDsModeloCon += ","; } strIDsModeloCon += dr["t441_valor"].ToString(); strHTMLModeloCon += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 8: if (strIDsCliente != "") { strIDsCliente += ","; } strIDsCliente += dr["t441_valor"].ToString(); strHTMLCliente += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 9: if (strIDsContrato != "") { strIDsContrato += ","; } strIDsContrato += dr["t441_valor"].ToString(); strHTMLContrato += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; } } dr.Close(); dr.Dispose(); #endregion //if (nConceptoEje >= 7) //{ // nOpcion = nConceptoEje; //} //else //{ // if (nNivelMinimo != 0) nOpcion = nNivelMinimo; // else nOpcion = nEstructuraMinima; //} for (int i = 0; i < aSubnodos.Count; i++) { if (i > 0) { sSubnodos += ","; } sSubnodos += aSubnodos[i]; } //sb.Append(nOpcion + "@#@"); //13 sb.Append(sSubnodos + "@#@"); //14 sb.Append(strHTMLAmbito + "@#@"); //15 sb.Append(strIDsAmbito + "@#@"); //16 sb.Append(strHTMLResponsable + "@#@"); //17 sb.Append(strIDsResponsable + "@#@"); //18 sb.Append(strHTMLNaturaleza + "@#@"); //19 sb.Append(strIDsNaturaleza + "@#@"); //20 sb.Append(strHTMLModeloCon + "@#@"); //21 sb.Append(strIDsModeloCon + "@#@"); //22 //sb.Append(strHTMLHorizontal + "@#@"); //23 //sb.Append(strIDsHorizontal + "@#@"); //24 //sb.Append(strHTMLSector + "@#@"); //25 //sb.Append(strIDsSector + "@#@"); //26 //sb.Append(strHTMLSegmento + "@#@"); //27 //sb.Append(strIDsSegmento + "@#@"); //28 sb.Append(strHTMLCliente + "@#@"); //29 sb.Append(strIDsCliente + "@#@"); //30 sb.Append(strHTMLContrato + "@#@"); //31 sb.Append(strIDsContrato + "@#@"); //32 //sb.Append(strHTMLQn + "@#@"); //33 //sb.Append(strIDsQn + "@#@"); //34 //sb.Append(strHTMLQ1 + "@#@"); //35 //sb.Append(strIDsQ1 + "@#@"); //36 //sb.Append(strHTMLQ2 + "@#@"); //37 //sb.Append(strIDsQ2 + "@#@"); //38 //sb.Append(strHTMLQ3 + "@#@"); //39 //sb.Append(strIDsQ3 + "@#@"); //40 //sb.Append(strHTMLQ4 + "@#@"); //41 //sb.Append(strIDsQ4 + "@#@"); //42 //sb.Append(strHTMLProyecto + "@#@"); //43 //sb.Append(strIDsProyecto + "@#@"); //44 //sb.Append(sEstado + "@#@"); //45 //sb.Append(sObraCurso + "@#@"); //46 //sb.Append(sFactuAnti + "@#@"); //47 return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener la preferencia.", ex, false)); } }
private string getPreferencia(string sIdPrefUsuario) { StringBuilder sb = new StringBuilder(); ArrayList aSubnodos = new ArrayList(); string strHTMLAmbito = "", strHTMLResponsable = "", strHTMLNaturaleza = "", strHTMLModeloCon = "", strHTMLHorizontal = "", strHTMLSector = "", strHTMLSegmento = "", strHTMLCliente = "", strHTMLContrato = "", strHTMLQn = "", strHTMLQ1 = "", strHTMLQ2 = "", strHTMLQ3 = "", strHTMLQ4 = "", strHTMLProyecto = ""; int idPrefUsuario = 0; try { SqlDataReader dr = PREFERENCIAUSUARIO.Obtener(null, (sIdPrefUsuario == "") ? null : (int?)int.Parse(sIdPrefUsuario), (int)Session["IDFICEPI_PC_ACTUAL"], nPantallaPreferencia); if (dr.Read()) { sb.Append(dr["t462_idPrefUsuario"].ToString() + "@#@"); //2 sb.Append(dr["categoria"].ToString() + "@#@"); //3 sb.Append(dr["estado"].ToString() + "@#@"); //4 sb.Append(dr["cualidad"].ToString() + "@#@"); //5 sb.Append(dr["CerrarAuto"].ToString() + "@#@"); //6 sb.Append(dr["ActuAuto"].ToString() + "@#@"); //7 sb.Append(dr["OperadorLogico"].ToString() + "@#@"); //8 idPrefUsuario = int.Parse(dr["t462_idPrefUsuario"].ToString()); } dr.Close(); //dr.Dispose(); #region HTML, IDs //int nNivelMinimo = 0; //bool bAmbito = false; string[] aID = null; dr = PREFUSUMULTIVALOR.Obtener(null, idPrefUsuario); while (dr.Read()) { switch (int.Parse(dr["t441_concepto"].ToString())) { case 1: //if (!bAmbito) //{ // bAmbito = true; // nNivelMinimo = 6; //} aID = Regex.Split(dr["t441_valor"].ToString(), "-"); //if (int.Parse(aID[0]) < nNivelMinimo) nNivelMinimo = int.Parse(aID[0]); aSubnodos = PREFUSUMULTIVALOR.SelectSubnodosAmbito(null, aSubnodos, int.Parse(aID[0]), int.Parse(aID[1])); strHTMLAmbito += "<tr id='" + aID[1] + "' tipo='" + aID[0] + "' style='height:16px;' idAux='"; strHTMLAmbito += SUBNODO.fgGetCadenaID(aID[0], aID[1]); strHTMLAmbito += "'><td>"; switch (int.Parse(aID[0])) { case 1: strHTMLAmbito += "<img src='../../../../images/imgSN4.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 2: strHTMLAmbito += "<img src='../../../../images/imgSN3.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 3: strHTMLAmbito += "<img src='../../../../images/imgSN2.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 4: strHTMLAmbito += "<img src='../../../../images/imgSN1.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 5: strHTMLAmbito += "<img src='../../../../images/imgNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; case 6: strHTMLAmbito += "<img src='../../../../images/imgSubNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break; } strHTMLAmbito += "<nobr class='NBR W230'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 2: strHTMLResponsable += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 3: strHTMLNaturaleza += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 4: strHTMLModeloCon += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 5: strHTMLHorizontal += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 6: strHTMLSector += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 7: strHTMLSegmento += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 8: strHTMLCliente += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 9: strHTMLContrato += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 10: strHTMLQn += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 11: strHTMLQ1 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 12: strHTMLQ2 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 13: strHTMLQ3 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 14: strHTMLQ4 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 16: aID = Regex.Split(dr["t441_valor"].ToString(), "-"); strHTMLProyecto += "<tr id='" + aID[0] + "' style='height:16px;' "; strHTMLProyecto += "categoria='" + aID[1] + "' "; strHTMLProyecto += "cualidad='" + aID[2] + "' "; strHTMLProyecto += "estado='" + aID[3] + "'><td>"; if (aID[1] == "P") { strHTMLProyecto += "<img src='../../../../images/imgProducto.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; } else { strHTMLProyecto += "<img src='../../../../images/imgServicio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; } switch (aID[2]) { case "C": strHTMLProyecto += "<img src='../../../../images/imgIconoContratante.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "J": strHTMLProyecto += "<img src='../../../../images/imgIconoRepJor.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "P": strHTMLProyecto += "<img src='../../../../images/imgIconoRepPrecio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } switch (aID[3]) { case "A": strHTMLProyecto += "<img src='../../../../images/imgIconoProyAbierto.gif' title='Proyecto abierto' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "C": strHTMLProyecto += "<img src='../../../../images/imgIconoProyCerrado.gif' title='Proyecto cerrado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "H": strHTMLProyecto += "<img src='../../../../images/imgIconoProyHistorico.gif' title='Proyecto histórico' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "P": strHTMLProyecto += "<img src='../../../../images/imgIconoProyPresup.gif' title='Proyecto presupuestado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } strHTMLProyecto += "<nobr class='NBR W190' style='margin-left:10px;' onmouseover='TTip(event)'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; } } dr.Close(); dr.Dispose(); #endregion for (int i = 0; i < aSubnodos.Count; i++) { if (i > 0) { sSubnodos += ","; } sSubnodos += aSubnodos[i]; } sb.Append(sSubnodos + "@#@"); //9 sb.Append(strHTMLAmbito + "@#@"); //10 sb.Append(strHTMLResponsable + "@#@"); //11 sb.Append(strHTMLNaturaleza + "@#@"); //12 sb.Append(strHTMLModeloCon + "@#@"); //13 sb.Append(strHTMLHorizontal + "@#@"); //14 sb.Append(strHTMLSector + "@#@"); //15 sb.Append(strHTMLSegmento + "@#@"); //16 sb.Append(strHTMLCliente + "@#@"); //17 sb.Append(strHTMLContrato + "@#@"); //18 sb.Append(strHTMLQn + "@#@"); //19 sb.Append(strHTMLQ1 + "@#@"); //20 sb.Append(strHTMLQ2 + "@#@"); //21 sb.Append(strHTMLQ3 + "@#@"); //22 sb.Append(strHTMLQ4 + "@#@"); //23 sb.Append(strHTMLProyecto + "@#@"); //24 return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener la preferencia.", ex, false)); } }
public List <Models.ProyectoEconomico> generarContratos(List <IB.SUPER.APP.Models.OportunidadNegocio> Oportunidades) { int iNumProys = 0, idPE = -1, idPSN = -1; bool bConTransaccion = false; Guid methodOwnerID = new Guid("2558CB99-C43F-4930-A56C-D6F5CDE51980"); //IB.SUPER.APP.BLL.ProyectoEconomico ProyBLL = new IB.SUPER.APP.BLL.ProyectoEconomico(); List <Models.ProyectoEconomico> lstGenerados = new List <Models.ProyectoEconomico>(); OpenDbConn(); if (cDblib.Transaction.ownerID.Equals(new Guid())) { bConTransaccion = true; } if (bConTransaccion) { cDblib.beginTransaction(methodOwnerID); } BLL.Contrato oContrato = new Contrato(cDblib); BLL.FIGURAPROYECTOSUBNODO oFigura = new FIGURAPROYECTOSUBNODO(cDblib); IB.SUPER.IAP30.BLL.Nodo oNodo = new IAP30.BLL.Nodo(); try { foreach (IB.SUPER.APP.Models.OportunidadNegocio oport in Oportunidades) { DAL.OportunidadNegocio oON = new DAL.OportunidadNegocio(cDblib); #region Contrato y Extensión //Si la extension==0 -> grabarcontrato if (oport.t377_idextension == 0) { oON.GenerarContrato(oport); } else { //Compruebo que existe contrato. Si no existe, hay que darlo de alta //oContrato = new Contrato(cDblib); if (!oContrato.Existe(oport.t306_icontrato)) { oON.GenerarContrato(oport.t306_icontrato, oport.t314_idusuario_responsable); } } //La extensión se graba siempre oON.GenerarExtension(oport); //Si no existe proyecto asociado al contrato-> Generarlo (según parametrización puede crear 1 o 2 proyectos) iNumProys = oON.GetNumProyectos(oport.t306_icontrato); //PARA PRUEBAS //if (bConTransaccion) cDblib.commitTransaction(methodOwnerID); #endregion #region Proyecto Económico if (iNumProys == 0) { //PARA PRUEBAS //if (cDblib.Transaction.ownerID.Equals(new Guid())) cDblib.beginTransaction(methodOwnerID); //Obtengo el subnodo al que asociar el proyecto int t304_idsubnodo = SUBNODO.GetSubNodoDefecto(oport.t303_idnodo); //Obtengo datos del nodo para la creación del proyecto //oNodo = new IAP30.BLL.Nodo(); IB.SUPER.IAP30.Models.Nodo mNodo = oNodo.Select(oport.t303_idnodo); #region Cargo los datos para la generación del proyecto Models.ProyectoEconomico mPE = new IB.SUPER.APP.Models.ProyectoEconomico(); mPE.automatico = true; if (oport.t377_importeser >= oport.t377_importepro) { mPE.categoria = "S"; } else { mPE.categoria = "P"; } mPE.cod_cliente = oport.t302_idcliente_contrato; mPE.cod_contrato = oport.t306_icontrato; mPE.cod_naturaleza = 1; mPE.fecha_sap = DateTime.Now; mPE.fini_prevista = Fechas.getSigDiaUltMesCerrado(mNodo.t303_ultcierreECO); mPE.ffin_prevista = GetFechaFin(mPE.fini_prevista, oport.duracion); mPE.modalidad = GetModalidad(oport.tipocontrato.ToUpper()); if (mNodo.t303_modelocostes == "X") { mPE.modelo_coste = "J"; } else { mPE.modelo_coste = mNodo.t303_modelocostes; } if (mNodo.t303_modelotarifas == "X") { mPE.modelo_tarifa = "J"; } else { mPE.modelo_tarifa = mNodo.t303_modelotarifas; } mPE.nom_proyecto = oport.t377_denominacion; #endregion #region genero proyecto if (mNodo.t303_desglose) { #region Crea 2 proyectos if (oport.t377_importepro != 0) { if (oport.t377_importeser != 0) { mPE.nom_proyecto = "P/" + oport.t377_denominacion; } #region Crea un proyecto de categoria PRODUCTO //idPE = ProyBLL.Insert(mPE); //DAL.ProyectoEconomico cPE = new DAL.ProyectoEconomico(cDblib); //idPE = cPE.GenerarProyecto(mPE); idPE = oON.GenerarProyecto(mPE); //Creo el proyecto subnodo mPE.cod_proyecto = idPE; mPE.cod_subnodo = t304_idsubnodo; mPE.cualidad = "P"; mPE.cod_usuario_responsable = mNodo.t314_idusuario_responsable; mPE.seudonimo = mPE.nom_proyecto; //idPSN = cPE.GenerarProyectoSubnodo(mPE); idPSN = oON.GenerarProyectoSubnodo(mPE); //Asigno la figura de RTPE Models.FIGURAPROYECTOSUBNODO mFigura = new Models.FIGURAPROYECTOSUBNODO(); mFigura.t305_idproyectosubnodo = idPSN; mFigura.t310_figura = "M"; mFigura.t314_idusuario = oport.t314_idusuario_gestorprod; //oFigura = new FIGURAPROYECTOSUBNODO(cDblib); oFigura.Insert(mFigura); #region Cargo la lista de vuelta para mostrar al usuario los proyectos generados Models.ProyectoEconomico oProyectoEconomico = new Models.ProyectoEconomico(); oProyectoEconomico.cod_proyecto = idPE; oProyectoEconomico.nom_proyecto = mPE.nom_proyecto; oProyectoEconomico.cod_contrato = oport.t306_icontrato; oProyectoEconomico.cod_extension = oport.t377_idextension; oProyectoEconomico.t305_idproyectosubnodo = idPSN; oProyectoEconomico.t301_estado = "A"; oProyectoEconomico.t302_denominacion = oport.cliente; oProyectoEconomico.t301_categoria = mPE.categoria; oProyectoEconomico.t305_cualidad = "C"; oProyectoEconomico.proy_responsable = oport.responsable; lstGenerados.Add(oProyectoEconomico); #endregion #endregion } if (oport.t377_importeser != 0) { if (oport.t377_importepro != 0) { mPE.nom_proyecto = "S/" + oport.t377_denominacion; } #region Crea un proyecto de categoria SERVICIO //DAL.ProyectoEconomico cPE = new DAL.ProyectoEconomico(cDblib); //idPE = cPE.GenerarProyecto(mPE); idPE = oON.GenerarProyecto(mPE); //Creo el proyecto subnodo mPE.cod_proyecto = idPE; mPE.cod_subnodo = t304_idsubnodo; mPE.cualidad = "C"; mPE.cod_usuario_responsable = mNodo.t314_idusuario_responsable; mPE.seudonimo = mPE.nom_proyecto; //idPSN = cPE.GenerarProyectoSubnodo(mPE); idPSN = oON.GenerarProyectoSubnodo(mPE); //Asigno la figura de RTPE Models.FIGURAPROYECTOSUBNODO mFigura = new Models.FIGURAPROYECTOSUBNODO(); mFigura.t305_idproyectosubnodo = idPSN; mFigura.t310_figura = "M"; mFigura.t314_idusuario = oport.t314_idusuario_gestorprod; oFigura = new FIGURAPROYECTOSUBNODO(cDblib); oFigura.Insert(mFigura); #region Cargo la lista de vuelta para mostrar al usuario los proyectos generados Models.ProyectoEconomico oProyectoEconomico = new Models.ProyectoEconomico(); oProyectoEconomico.cod_proyecto = idPE; oProyectoEconomico.nom_proyecto = mPE.nom_proyecto; oProyectoEconomico.cod_contrato = oport.t306_icontrato; oProyectoEconomico.cod_extension = oport.t377_idextension; oProyectoEconomico.t305_idproyectosubnodo = idPSN; oProyectoEconomico.t301_estado = "A"; oProyectoEconomico.t302_denominacion = oport.cliente; oProyectoEconomico.t301_categoria = mPE.categoria; oProyectoEconomico.t305_cualidad = "C"; oProyectoEconomico.proy_responsable = oport.responsable; #endregion #endregion } #endregion } else { #region Crea un proyecto //DAL.ProyectoEconomico cPE = new DAL.ProyectoEconomico(cDblib); //idPE = cPE.GenerarProyecto(mPE); idPE = oON.GenerarProyecto(mPE); //Creo el proyecto subnodo mPE.cod_proyecto = idPE; mPE.cod_subnodo = t304_idsubnodo; mPE.cualidad = "C"; mPE.cod_usuario_responsable = mNodo.t314_idusuario_responsable; mPE.seudonimo = mPE.nom_proyecto; //idPSN = cPE.GenerarProyectoSubnodo(mPE); idPSN = oON.GenerarProyectoSubnodo(mPE); //Asigno la figura de RTPE Models.FIGURAPROYECTOSUBNODO mFigura = new Models.FIGURAPROYECTOSUBNODO(); mFigura.t305_idproyectosubnodo = idPSN; mFigura.t310_figura = "M"; mFigura.t314_idusuario = oport.t314_idusuario_gestorprod; oFigura = new FIGURAPROYECTOSUBNODO(cDblib); oFigura.Insert(mFigura); #region Cargo la lista de vuelta para mostrar al usuario los proyectos generados Models.ProyectoEconomico oProyectoEconomico = new Models.ProyectoEconomico(); oProyectoEconomico.cod_proyecto = idPE; oProyectoEconomico.nom_proyecto = mPE.nom_proyecto; oProyectoEconomico.cod_contrato = oport.t306_icontrato; oProyectoEconomico.cod_extension = oport.t377_idextension; oProyectoEconomico.t305_idproyectosubnodo = idPSN; oProyectoEconomico.t301_estado = "A"; oProyectoEconomico.t302_denominacion = oport.cliente; oProyectoEconomico.t301_categoria = mPE.categoria; oProyectoEconomico.t305_cualidad = "C"; oProyectoEconomico.proy_responsable = oport.responsable; oProyectoEconomico.codred_gestor_produccion = oport.codred_gestor_produccion; lstGenerados.Add(oProyectoEconomico); #endregion #endregion } #endregion //PARA PRUEBAS //cDblib.commitTransaction(methodOwnerID); } #endregion } //PARA PRUEBAS if (bConTransaccion) { cDblib.commitTransaction(methodOwnerID); } #region Correo //Con la lista de proyectos generados agrupo para cada gestor de producción concernido la lista de sus nuevos proyectos StringBuilder sb = new StringBuilder(); List <Models.Mail> lstGestores = new List <Models.Mail>(); try { foreach (Models.ProyectoEconomico oPE in lstGenerados) { sb.Length = 0; Models.Mail oProf = BuscarCodRed(lstGestores, oPE.codred_gestor_produccion); if (oProf == null) { oProf = new Models.Mail(); oProf.codred = oPE.codred_gestor_produccion; sb.Append(ponerCabecera()); sb.Append(@"<tr style='height:16px'><td style='width:80px;padding-left:3px;'>" + oPE.cod_proyecto.ToString("#,###") + "</td>"); sb.Append(@"<td style='width:460px;text-overflow:ellipsis;overflow:hidden;'>" + oPE.nom_proyecto + "</td>"); sb.Append(@"<td style='width:80px;'>" + oPE.cod_contrato.ToString("#,###") + "</td>"); sb.Append(@"<td style='width:80px;'>" + oPE.cod_extension.ToString("#,###") + "</td></tr>"); oProf.mensaje = sb.ToString(); lstGestores.Add(oProf); } else { sb.Append(@"<tr style='height:16px'><td style='width:80px;padding-left:3px;'>" + oPE.cod_proyecto.ToString("#,###") + "</td>"); sb.Append(@"<td style='width:460px;text-overflow:ellipsis;overflow:hidden;'>" + oPE.nom_proyecto + "</td>"); sb.Append(@"<td style='width:80px;'>" + oPE.cod_contrato.ToString("#,###") + "</td>"); sb.Append(@"<td style='width:80px;'>" + oPE.cod_extension.ToString("#,###") + "</td></tr>"); oProf.mensaje += sb.ToString(); } } //Con la lista de proyectos agrupada envío a cada gestor de producción concernido la lista de sus nuevos proyectos string sAsunto = "SUPER: Proyectos generados"; ArrayList aListCorreo = new ArrayList(); string sMensaje = ""; foreach (Models.Mail oGestor in lstGestores) { sMensaje = oGestor.mensaje + ponerPie(); string[] aMail = { sAsunto, sMensaje, oGestor.codred }; aListCorreo.Add(aMail); } Correo.EnviarCorreos(aListCorreo); } catch (Exception e1) { SUPDAL.Log.Insertar("App_Code/Negocio/APP/OportunidadNegocio.generarContratos. Error al enviar correos. " + e1.Message); } #endregion return(lstGenerados); } catch (Exception ex) { //rollback if (cDblib.Transaction.ownerID.Equals(new Guid())) { cDblib.rollbackTransaction(methodOwnerID); } throw new Exception(ex.Message); } finally { //nota.Dispose(); //ProyBLL.Dispose(); oContrato.Dispose(); oNodo.Dispose(); oFigura.Dispose(); } }
private string getPreferencia(string sIdPrefUsuario) { StringBuilder sb = new StringBuilder(); int idPrefUsuario = 0; string sEstado = ""; try { SqlDataReader dr = PREFERENCIAUSUARIO.Obtener(null, (sIdPrefUsuario == "") ? null : (int?)int.Parse(sIdPrefUsuario), (int)Session["IDFICEPI_PC_ACTUAL"], 27); if (dr.Read()) { bHayPreferencia = true; sb.Append(dr["t462_idPrefUsuario"].ToString() + "@#@"); //1 sb.Append(dr["categoria"].ToString() + "@#@"); //2 sb.Append(dr["cualidad"].ToString() + "@#@"); //3 sb.Append(dr["CerrarAuto"].ToString() + "@#@"); //4 sb.Append(dr["ActuAuto"].ToString() + "@#@"); //5 sb.Append(dr["OperadorLogico"].ToString() + "@#@"); //6 sb.Append(dr["estado"].ToString() + "@#@"); //7 sEstado = dr["estado"].ToString(); idPrefUsuario = int.Parse(dr["t462_idPrefUsuario"].ToString()); } dr.Close(); //dr.Dispose(); sb.Append("0@#@");//8 //sb.Append("0@#@");//9 //sb.Append("0@#@");//10 //sb.Append("0@#@");//11 //sb.Append("0@#@");//12 DateTime dHoy = DateTime.Now, dtAux; int nDias = dHoy.Day; dtAux = dHoy.AddDays(-nDias + 1); txtFechaInicio.Text = dtAux.ToShortDateString(); dtAux = dtAux.AddMonths(1).AddDays(-1); txtFechaFin.Text = dtAux.ToShortDateString(); hdnDesde.Text = (DateTime.Now.Year * 100 + 1).ToString(); hdnHasta.Text = (DateTime.Now.Year * 100 + DateTime.Now.Month).ToString(); sb.Append(hdnDesde.Text + "@#@"); //9 sb.Append(txtFechaInicio.Text + "@#@"); //10 sb.Append(hdnHasta.Text + "@#@"); //11 sb.Append(txtFechaFin.Text + "@#@"); //12 #region HTML, IDs int nNivelMinimo = 0; bool bAmbito = false; string[] aID = null; dr = PREFUSUMULTIVALOR.Obtener(null, idPrefUsuario); while (dr.Read()) { switch (int.Parse(dr["t441_concepto"].ToString())) { case 1: if (!bAmbito) { bAmbito = true; nNivelMinimo = 6; } aID = Regex.Split(dr["t441_valor"].ToString(), "-"); if (int.Parse(aID[0]) < nNivelMinimo) { nNivelMinimo = int.Parse(aID[0]); } if (strIDsAmbito != "") { strIDsAmbito += ","; } strIDsAmbito += aID[1]; aSubnodos = PREFUSUMULTIVALOR.SelectSubnodosAmbito(null, aSubnodos, int.Parse(aID[0]), int.Parse(aID[1])); strHTMLAmbito += "<tr id='" + aID[1] + "' tipo='" + aID[0] + "' style='height:16px;' idAux='"; strHTMLAmbito += SUBNODO.fgGetCadenaID(aID[0], aID[1]); strHTMLAmbito += "'><td>"; switch (int.Parse(aID[0])) { case 1: strHTMLAmbito += "<img src='../../../../../images/imgSN4.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case 2: strHTMLAmbito += "<img src='../../../../../images/imgSN3.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case 3: strHTMLAmbito += "<img src='../../../../../images/imgSN2.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case 4: strHTMLAmbito += "<img src='../../../../../images/imgSN1.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case 5: strHTMLAmbito += "<img src='../../../../../images/imgNodo.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case 6: strHTMLAmbito += "<img src='../../../../../images/imgSubNodo.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } strHTMLAmbito += "<nobr class='NBR W230'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>"; break; case 2: if (strIDsResponsable != "") { strIDsResponsable += ","; } strIDsResponsable += dr["t441_valor"].ToString(); strHTMLResponsable += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 3: if (strIDsNaturaleza != "") { strIDsNaturaleza += ","; } strIDsNaturaleza += dr["t441_valor"].ToString(); strHTMLNaturaleza += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 4: if (strIDsModeloCon != "") { strIDsModeloCon += ","; } strIDsModeloCon += dr["t441_valor"].ToString(); strHTMLModeloCon += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 5: if (strIDsHorizontal != "") { strIDsHorizontal += ","; } strIDsHorizontal += dr["t441_valor"].ToString(); strHTMLHorizontal += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 6: if (strIDsSector != "") { strIDsSector += ","; } strIDsSector += dr["t441_valor"].ToString(); strHTMLSector += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 7: if (strIDsSegmento != "") { strIDsSegmento += ","; } strIDsSegmento += dr["t441_valor"].ToString(); strHTMLSegmento += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 8: if (strIDsCliente != "") { strIDsCliente += ","; } strIDsCliente += dr["t441_valor"].ToString(); strHTMLCliente += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 9: if (strIDsContrato != "") { strIDsContrato += ","; } strIDsContrato += dr["t441_valor"].ToString(); strHTMLContrato += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 10: if (strIDsQn != "") { strIDsQn += ","; } strIDsQn += dr["t441_valor"].ToString(); strHTMLQn += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 11: if (strIDsQ1 != "") { strIDsQ1 += ","; } strIDsQ1 += dr["t441_valor"].ToString(); strHTMLQ1 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 12: if (strIDsQ2 != "") { strIDsQ2 += ","; } strIDsQ2 += dr["t441_valor"].ToString(); strHTMLQ2 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 13: if (strIDsQ3 != "") { strIDsQ3 += ","; } strIDsQ3 += dr["t441_valor"].ToString(); strHTMLQ3 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; case 14: if (strIDsQ4 != "") { strIDsQ4 += ","; } strIDsQ4 += dr["t441_valor"].ToString(); strHTMLQ4 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><span class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; //case 15: //strMagnitudes break; case 16: aID = Regex.Split(dr["t441_valor"].ToString(), "-"); if (strIDsProyecto != "") { strIDsProyecto += ","; } strIDsProyecto += aID[0]; strHTMLProyecto += "<tr id='" + aID[0] + "' style='height:16px;' "; strHTMLProyecto += "categoria='" + aID[1] + "' "; strHTMLProyecto += "cualidad='" + aID[2] + "' "; strHTMLProyecto += "estado='" + aID[3] + "'><td>"; if (aID[1] == "P") { strHTMLProyecto += "<img src='../../../../../images/imgProducto.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; } else { strHTMLProyecto += "<img src='../../../../../images/imgServicio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; } switch (aID[2]) { case "C": strHTMLProyecto += "<img src='../../../../../images/imgIconoContratante.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "J": strHTMLProyecto += "<img src='../../../../../images/imgIconoRepJor.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "P": strHTMLProyecto += "<img src='../../../../../images/imgIconoRepPrecio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } switch (aID[3]) { case "A": strHTMLProyecto += "<img src='../../../../../images/imgIconoProyAbierto.gif' title='Proyecto abierto' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "C": strHTMLProyecto += "<img src='../../../../../images/imgIconoProyCerrado.gif' title='Proyecto cerrado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "H": strHTMLProyecto += "<img src='../../../../../images/imgIconoProyHistorico.gif' title='Proyecto histórico' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; case "P": strHTMLProyecto += "<img src='../../../../../images/imgIconoProyPresup.gif' title='Proyecto presupuestado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break; } strHTMLProyecto += "<span class='NBR W185' style='margin-left:10px;' onmouseover='TTip(event)'>" + dr["t441_denominacion"].ToString() + "</span></td></tr>"; break; } } dr.Close(); dr.Dispose(); #endregion for (int i = 0; i < aSubnodos.Count; i++) { if (i > 0) { sSubnodos += ","; } sSubnodos += aSubnodos[i]; } sb.Append(sSubnodos + "@#@"); //12 sb.Append(strHTMLAmbito + "@#@"); //13 sb.Append(strIDsAmbito + "@#@"); //14 sb.Append(strHTMLResponsable + "@#@"); //15 sb.Append(strIDsResponsable + "@#@"); //16 sb.Append(strHTMLNaturaleza + "@#@"); //17 sb.Append(strIDsNaturaleza + "@#@"); //18 sb.Append(strHTMLModeloCon + "@#@"); //19 sb.Append(strIDsModeloCon + "@#@"); //20 sb.Append(strHTMLHorizontal + "@#@"); //21 sb.Append(strIDsHorizontal + "@#@"); //22 sb.Append(strHTMLSector + "@#@"); //23 sb.Append(strIDsSector + "@#@"); //24 sb.Append(strHTMLSegmento + "@#@"); //25 sb.Append(strIDsSegmento + "@#@"); //26 sb.Append(strHTMLCliente + "@#@"); //27 sb.Append(strIDsCliente + "@#@"); //28 sb.Append(strHTMLContrato + "@#@"); //29 sb.Append(strIDsContrato + "@#@"); //30 sb.Append(strHTMLQn + "@#@"); //31 sb.Append(strIDsQn + "@#@"); //32 sb.Append(strHTMLQ1 + "@#@"); //33 sb.Append(strIDsQ1 + "@#@"); //34 sb.Append(strHTMLQ2 + "@#@"); //35 sb.Append(strIDsQ2 + "@#@"); //36 sb.Append(strHTMLQ3 + "@#@"); //37 sb.Append(strIDsQ3 + "@#@"); //38 sb.Append(strHTMLQ4 + "@#@"); //39 sb.Append(strIDsQ4 + "@#@"); //40 sb.Append(strHTMLProyecto + "@#@"); //41 sb.Append(strIDsProyecto + "@#@"); //42 return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener la preferencia.", ex, false)); } }