private string Grabar(string strDatosBasicos, string strFiguras, string strExtensiones, 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 { string[] aDatosBasicos = Regex.Split(strDatosBasicos, "##"); ///aDatosBasicos[0] = hdnIDGestorProd ///aDatosBasicos[1] = hdnIdCR ///aDatosBasicos[2] = hdnIdCli ///aDatosBasicos[3] = hdnIdResp ///aDatosBasicos[4] = hdnIdComer ///aDatosBasicos[5] = chkVisionReplicas //CONTRATO oContrato = CONTRATO.Select(tr, int.Parse(hdnID.Text)); //CONTRATO.Update(tr, int.Parse(hdnID.Text), // oContrato.t303_idnodo, // oContrato.t302_idcliente_contrato, // oContrato.t314_idusuario_responsable, // int.Parse(aDatosBasicos[0]), // (aDatosBasicos[1] == "1") ? true : false); CONTRATO.Update(tr, int.Parse(hdnID.Text), int.Parse(aDatosBasicos[1]), int.Parse(aDatosBasicos[2]), int.Parse(aDatosBasicos[3]), int.Parse(aDatosBasicos[0]), int.Parse(aDatosBasicos[4]), (aDatosBasicos[5] == "1") ? true : false); } #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 //FIGURACONTRATO.Delete(tr, int.Parse(hdnID.Text), int.Parse(aFig[1])); //if (aFig[0] != "D") //{ // string[] aFiguras = Regex.Split(aFig[2], ","); // foreach (string oFigura in aFiguras) // { // if (oFigura == "") continue; // FIGURACONTRATO.Insert(tr, int.Parse(hdnID.Text), int.Parse(aFig[1]), oFigura); // } //} if (aFig[0] == "D") { FIGURACONTRATO.Delete(tr, int.Parse(hdnID.Text), 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") { FIGURACONTRATO.Delete(tr, int.Parse(hdnID.Text), int.Parse(aFig[1])); } else { FIGURACONTRATO.Insert(tr, int.Parse(hdnID.Text), int.Parse(aFig[1]), aFig2[1]); } } } } } #endregion #region Datos Extensiones if (strExtensiones != "") //No se ha modificado nada de la pestaña de Extensiones { string[] aExtensiones = Regex.Split(strExtensiones, "///"); foreach (string oExtension in aExtensiones) { if (oExtension == "") { continue; } string[] aExt = Regex.Split(oExtension, "##"); ///aExt[0] = bd ///aExt[1] = idExtension ///aExt[2] = Importe producto ///aExt[3] = Margen producto ///aExt[4] = Importe servicio ///aExt[5] = Margen servicio ///aExt[6] = Fecha Contrato if (aExt[0] == "D") { EXTENSIONCONTRATO.Delete(tr, int.Parse(hdnID.Text), int.Parse(aExt[1])); } if (aExt[0] == "U") { EXTENSIONCONTRATO.Update(tr, int.Parse(hdnID.Text), int.Parse(aExt[1]), (aExt[4] == "") ? 0 : decimal.Parse(aExt[4]), (aExt[5] == "") ? 0 : decimal.Parse(aExt[5]), (aExt[2] == "") ? 0 : decimal.Parse(aExt[2]), (aExt[3] == "") ? 0 : decimal.Parse(aExt[3]), DateTime.Parse(aExt[6])); } } } #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_CONTRATO.DeleteUsuario(tr, int.Parse(hdnID.Text), 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_CONTRATO.Delete(tr, int.Parse(hdnID.Text), int.Parse(aFigV[1]), aFig2V[1]); } else { FIGURAPSN_CONTRATO.Insert(tr, int.Parse(hdnID.Text), 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 contrato", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private string obtenerFigurasPSN_Contrato(string sPestana, string sIDItem) { StringBuilder sb = new StringBuilder(); StringBuilder sbuilder = new StringBuilder(); sbuilder.Append(" aFigIniV = new Array();"); int i = 0; try { SqlDataReader dr = FIGURAPSN_CONTRATO.CatalogoFiguras(int.Parse(sIDItem)); sb.Append("<TABLE id='tblFiguras2V' class='texto MM' style='WIDTH: 420px;' mantenimiento='1'>"); sb.Append("<colgroup>"); sb.Append(" <col style='width: 10px' />"); sb.Append(" <col style='width: 20px' />"); sb.Append(" <col style='width: 290px;' />"); sb.Append(" <col style='width: 100px;' />"); sb.Append("</colgroup>"); int nUsuario = 0; bool bHayFilas = false; string sColor = "black"; while (dr.Read()) { bHayFilas = true; sbuilder.Append("aFigIniV[" + i.ToString() + "] = {idUser:\"" + dr["t314_idusuario"].ToString() + "\"," + "sFig:\"" + dr["figura"].ToString() + "\"};"); i++; sColor = "black"; if ((int)dr["t314_idusuario"] != nUsuario) { if (nUsuario != 0) { sb.Append("</ul></div></td>"); sb.Append("</tr>"); } if (dr["baja"].ToString() == "1") { sColor = "red"; } sb.Append("<tr id='" + dr["t314_idusuario"].ToString() + "' bd='' style='height:22px;color:" + sColor + "' "); sb.Append("sexo='" + dr["t001_sexo"].ToString() + "' "); if (dr["t303_denominacion"].ToString() == "") { sb.Append("tipo='E' "); } else { sb.Append("tipo='I' "); } sb.Append(" onclick='mm(event)' onmousedown='DD(event);'>"); //sb.Append("<td><img src='../../../images/imgFN.gif'></td>"); //sb.Append("<td></td>"); sb.Append("<td><img src='../../../../images/imgFN.gif'></td>"); sb.Append("<td align='center'>"); if (dr["t001_sexo"].ToString() == "V") { //if (dr["t001_tiporecurso"].ToString() == "I") // sb.Append("<img src='../../../../images/imgUsuIV.gif'>"); //else // sb.Append("<img src='../../../../images/imgUsuEV.gif'>"); switch (dr["tipo"].ToString()) { case "P": sb.Append("<img src='../../../../images/imgUsuPV.gif'>"); break; case "E": sb.Append("<img src='../../../../images/imgUsuEV.gif'>"); break; case "F": sb.Append("<img src='../../../../images/imgUsuFV.gif'>"); break; } } else { //if (dr["t001_tiporecurso"].ToString() == "I") // sb.Append("<img src='../../../../images/imgUsuIM.gif'>"); //else // sb.Append("<img src='../../../../images/imgUsuEM.gif'>"); switch (dr["tipo"].ToString()) { case "P": sb.Append("<img src='../../../images/imgUsuPM.gif'>"); break; case "E": sb.Append("<img src='../../../images/imgUsuEM.gif'>"); break; case "F": sb.Append("<img src='../../../images/imgUsuFM.gif'>"); break; } } sb.Append("</td>"); //sb.Append("<td><nobr class='NBR W280' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' /> Información] body=[<label style='width:60px;'>Profesional:</label>" + dr["Profesional"].ToString().Replace((char)34, (char)39) + "<br><label style='width:60px;'>Usuario:</label>" + int.Parse(dr["t314_idusuario"].ToString()).ToString("#,###") + "<br><label style='width:60px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:60px;'>Empresa:</label>" + dr["empresa"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + dr["Profesional"].ToString() + "</nobr></td>");// ondblclick='insertarFigura(this.parentNode.parentNode)' sb.Append("<td style='padding-left:3px;'><span class='NBR W275' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' /> Información] body=[<label style='width:60px;'>Profesional:</label>" + dr["Profesional"].ToString().Replace((char)34, (char)39) + "<br><label style='width:60px;'>Usuario:</label>" + int.Parse(dr["t314_idusuario"].ToString()).ToString("#,###") + "<br><label style='width:60px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + dr["Profesional"].ToString() + "</span></td>");// ondblclick='insertarFigura(this.parentNode.parentNode)' //sb.Append("<td>" + dr["Profesional"].ToString() + "</td>"); //Figuras sb.Append("<td><div><ul id='boxv-" + dr["t314_idusuario"].ToString() + "'>"); switch (dr["figura"].ToString()) { case "D": sb.Append("<li id='DV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgDelegado.gif' title='Delegado' /></li>"); break; case "C": sb.Append("<li id='CV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgColaborador.gif' title='Colaborador' /></li>"); break; case "J": sb.Append("<li id='JV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgJefeProyecto.gif' title='Jefe' /></li>"); break; case "M": sb.Append("<li id='MV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgSubjefeProyecto.gif' title='Responsable técnico de proyecto económico' /></li>"); break; case "B": sb.Append("<li id='BV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgBitacorico.gif' title='Bitacórico' /></li>"); break; case "S": sb.Append("<li id='SV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgSecretaria.gif' title='Asistente' /></li>"); break; case "I": sb.Append("<li id='IV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgInvitado.gif' title='Invitado' /></li>"); break; } nUsuario = (int)dr["t314_idusuario"]; } else { switch (dr["figura"].ToString()) { case "D": sb.Append("<li id='DV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgDelegado.gif' title='Delegado' /></li>"); break; case "C": sb.Append("<li id='CV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgColaborador.gif' title='Colaborador' /></li>"); break; case "J": sb.Append("<li id='JV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgJefeProyecto.gif' title='Jefe' /></li>"); break; case "M": sb.Append("<li id='MV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgSubjefeProyecto.gif' title='Responsable técnico de proyecto económico' /></li>"); break; case "B": sb.Append("<li id='BV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgBitacorico.gif' title='Bitacórico' /></li>"); break; case "S": sb.Append("<li id='SV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgSecretaria.gif' title='Asistente' /></li>"); break; case "I": sb.Append("<li id='IV' value='" + dr["orden"].ToString() + "'><img src='../../../../Images/imgInvitado.gif' title='Invitado' /></li>"); break; } } } dr.Close(); dr.Dispose(); if (bHayFilas) { sb.Append("</ul></div></td>"); sb.Append("</tr>"); } sb.Append("</table>"); return("OK@#@" + sPestana + "@#@" + sb.ToString() + "///" + sbuilder.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener la relación de figuras virtuales.", ex)); } }