/* * protected string ejecutarConsulta(string sProdAlm, string sParametros) * { * StringBuilder sb = new StringBuilder(); * string sAux = "", sPrimer=""; * try * { * string[] aParametros = Regex.Split(sParametros, "///"); * object[] aObjetos = new object[(sParametros=="")? 1:aParametros.Length + 1]; * aObjetos[0] = Utilidades.GetUserActual(); * int i = 1; * foreach (string oParametro in aParametros) * { * if (oParametro == "") continue; * string[] aDatos = Regex.Split(oParametro, "##"); * switch (aDatos[0]) * { * case "A": aObjetos[i] = int.Parse(aDatos[1]); break; * case "M": aObjetos[i] = double.Parse(aDatos[1].Replace(".",",")); break; * case "B": aObjetos[i] = (aDatos[1] == "1") ? true : false; break; * default: aObjetos[i] = aDatos[1]; break; * } * * i++; * } * SqlDataReader dr = CONSULTAPERSONAL.EjecutarConsulta(sProdAlm, aObjetos); * * sb.Append("<table id='tblDatos' style='font-family:Arial;font-size:8pt;' cellSpacing='0' cellPadding='0' border='1'>"); * sb.Append("<tbody>"); * bool bTitulos = false; * while (dr.Read()) * { * if (!bTitulos) * { * sb.Append("<tr align='center'>"); * for (int x = 0; x < dr.FieldCount; x++) * { * sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + dr.GetName(x) + "</td>"); * } * sb.Append("</tr>"); * bTitulos = true; * } * sb.Append("<tr>"); * for (int x = 0; x < dr.FieldCount; x++) * { * //sb.Append("<td>"+ dr.GetValue(x) +"</td>"); * //sAux = dr.GetProviderSpecificFieldType(x).ToString(); * //sAux = dr.GetFieldType(x).ToString(); * sAux = dr.GetValue(x).ToString(); * if (dr.GetDataTypeName(x) == "text" && sAux.Trim() != "") * {//Para el contenido de campos de tipo Text hacemos transformaciones para que no falle la exportación a Excel * sAux = sAux.Replace("<", " < "); * sAux = sAux.Replace(">", " > "); * sAux = sAux.Trim(); * sPrimer = sAux.Substring(0, 1); * switch (sPrimer) * { * case "-": * case "+": * case "=": * sAux = "(" + sPrimer + ")" + sAux.Substring(1); * break; * } * } * sb.Append("<td>" + sAux + "</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 obtener la consulta.", ex); * } * } * protected string ejecutarConsultaDS(string sProdAlm, string sParametros) * { * StringBuilder sb = new StringBuilder(); * string sAux = "", sPrimer = ""; * * try * { * string[] aParametros = Regex.Split(sParametros, "///"); * object[] aObjetos = new object[(sParametros == "") ? 1 : aParametros.Length + 1]; * aObjetos[0] = Utilidades.GetUserActual(); #region Cargo parámetros * int v = 1; * foreach (string oParametro in aParametros) * { * if (oParametro == "") continue; * string[] aDatos = Regex.Split(oParametro, "##"); * switch (aDatos[0]) * { * case "A": aObjetos[v] = int.Parse(aDatos[1]); break; * case "M": aObjetos[v] = double.Parse(aDatos[1].Replace(".", ",")); break; * case "B": aObjetos[v] = (aDatos[1]=="1")? true:false; break; * default: aObjetos[v] = aDatos[1]; break; * } * v++; * } #endregion * DataSet ds = CONSULTAPERSONAL.EjecutarConsultaDS(sProdAlm, aObjetos); #region Creo churro con los datos del DataSet * string sIdCache = ""; * for (int i = 0; i < ds.Tables.Count; i++) * { * sb.Append("<table id='tblDatos' style='font-family:Arial;font-size:8pt;' cellSpacing='0' cellPadding='0' border='1'>"); * sb.Append("<tbody>"); * bool bTitulos = false; * * for (int j = 0; j < ds.Tables[i].Rows.Count; j++) * { * if (!bTitulos) * { * sb.Append("<tr align='center'>"); * for (int x = 0; x < ds.Tables[i].Columns.Count; x++) * { * sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + ds.Tables[i].Columns[x].ColumnName + "</td>"); * } * sb.Append("</tr>"); * bTitulos = true; * } * sb.Append("<tr>"); * for (int x = 0; x < ds.Tables[i].Columns.Count; x++) * { * sAux = ds.Tables[i].Rows[j][x].ToString(); * * if (ds.Tables[i].Columns[x].DataType.Name == "text" && sAux.Trim() != "") * {//Para el contenido de campos de tipo Text hacemos transformaciones para que no falle la exportación a Excel * sAux = sAux.Replace("<", " < "); * sAux = sAux.Replace(">", " > "); * sAux = sAux.Trim(); * sPrimer = sAux.Substring(0, 1); * switch (sPrimer) * { * case "-": * case "+": * case "=": * sAux = "(" + sPrimer + ")" + sAux.Substring(1); * break; * } * } * sb.Append("<td>" + sAux + "</td>"); * } * sb.Append("</tr>"); * } * sb.Append("</tbody>"); * sb.Append("</table>{{septabla}}"); * } #endregion * * //karlos * sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString(); * Session[sIdCache] = sb.ToString(); * //Session[sIdCache] = Utilidades.escape(sb.ToString()); * //return "OK@#@" + sb.ToString(); * return "OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString(); * } * catch (Exception ex) * { * return "Error@#@" + Errores.mostrarError("Error al obtener la consulta.", ex); * } * } */ private string grabar(string strConsultas) { string sResul = ""; 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[] aConsultas = Regex.Split(strConsultas, "///"); foreach (string oConsulta in aConsultas) { if (oConsulta == "") { continue; } string[] aDatos = Regex.Split(oConsulta, "##"); USUARIO_CONSULTAPERSONAL.Update(tr, Utilidades.GetUserActual(), int.Parse(aDatos[0]), (aDatos[1] == "1") ? true : false); } Conexion.CommitTransaccion(tr); sResul = "OK"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar las consultas.", ex, false); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private string Grabar(string sConsulta, string sIntegrantes) {//En el primer parametro de entrada tenemos codCons#descCons //y en el segundo una lista de codigos de personas separados por comas (persona#estado,) string sCad, sResul = "", sOperacion; int iCodCons, iEmpleado; SqlConnection oConn = null; SqlTransaction tr = null; try { iCodCons = int.Parse(sConsulta); #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 if (sIntegrantes != "") {//Con la cadena generamos una lista y la recorremos para grabar cada elemento string[] aTareas = Regex.Split(sIntegrantes, @","); for (int i = 0; i < aTareas.Length - 1; i++) { sCad = aTareas[i]; if (sCad != "") { string[] aElem = Regex.Split(sCad, @"##"); sOperacion = aElem[0]; iEmpleado = System.Convert.ToInt32(aElem[1]); switch (sOperacion) { case "D": USUARIO_CONSULTAPERSONAL.Delete(tr, iEmpleado, iCodCons); break; case "U": USUARIO_CONSULTAPERSONAL.Update(tr, iEmpleado, iCodCons, (aElem[2] == "1") ? true : false); break; case "I": USUARIO_CONSULTAPERSONAL.Insert(tr, iEmpleado, iCodCons, (aElem[2] == "1") ? true : false); break; } //switch } } //for } //Cierro transaccion Conexion.CommitTransaccion(tr); //sCad = ObtenerIntegrantes(iCodCons); sResul = "OK@#@" + iCodCons;// +"@#@" + sCad.Substring(5); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al grabar la lista de integrantes", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }