Esempio n. 1
0
    /*
     * 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);
    }