Ejemplo n.º 1
0
    private string setPreferencia(string sIncompletos, string sActuAuto, string sNodo, string sExternos, string sOtrosNodos, string sSoloProyAbiertos, string sForaneos, string sGF)
    {
        string sResul = "";
        string strNodo = null, strActuAuto = null, strIncompletos = null, strGF = 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
        {
            if (sNodo != "")
            {
                strNodo = sNodo;
            }
            if (sGF != "")
            {
                strGF = sGF;
            }
            if (sIncompletos != "")
            {
                strIncompletos = sIncompletos;
            }
            if (sActuAuto != "")
            {
                strActuAuto = sActuAuto;
            }

            int nPref = PREFERENCIAUSUARIO.Insertar(tr, (int)Session["IDFICEPI_PC_ACTUAL"], 9, strNodo, strIncompletos, sExternos, sOtrosNodos,
                                                    strActuAuto, sSoloProyAbiertos, sForaneos, sGF,
                                                    null, null, null, null, null, null, null, null, null, null, null, null, null);

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + nPref.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al guardar la preferencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string Grabar(string strDatos)
    {
        string sResul = "";

        #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 Límites de Facturación
            if (strDatos != "")
            {
                string[] aFilas = Regex.Split(strDatos, "{sepreg}");
                foreach (string oFila in aFilas)
                {
                    if (oFila == "")
                    {
                        continue;
                    }
                    string[] aDatos = Regex.Split(oFila, "{sep}");
                    ///aDatos[0] = añomes
                    ///aDatos[1] = Límite Facturación   t637_fecha
                    ///aDatos[2] = Límite Respuesta     t828_limitealertas
                    ///aDatos[3] = Previsión cierre ECO t855_prevcierreeco

                    LIMITEFACTURACION.Update(tr, int.Parse(aDatos[0]), (aDatos[1] == "") ? null : (DateTime?)DateTime.Parse(aDatos[1]));
                    SUPER.Capa_Datos.LIMITEALERTAS.Update(tr, int.Parse(aDatos[0]), (aDatos[2] == "") ? null : (DateTime?)DateTime.Parse(aDatos[2]));
                    SUPER.DAL.MESESCIERRE.UpdatePrevCierreECO(tr, int.Parse(aDatos[0]), (aDatos[3] == "") ? null : (DateTime?)DateTime.Parse(aDatos[3]));
                }
            }

            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los meses de cierre", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string Grabar(string strDatos)
    {
        string         sResul = "";
        SqlConnection  oConn  = null;
        SqlTransaction tr     = 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 CDP
            string[] aDatos = Regex.Split(strDatos, "///");

            foreach (string oCRP in aDatos)
            {
                if (oCRP == "")
                {
                    continue;
                }
                string[] aCRP = Regex.Split(oCRP, "##");
                ///aCRP[0] = Opcion BD. "I", "U", "D"
                ///aCRP[1] = ID usuario

                USUARIO.UpdateCRP(tr, int.Parse(aCRP[1]), (aCRP[0] != "D") ? true : false);
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar la lista de CRPs", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    protected string Grabar(string sAccion, string strAvisos)
    {
        string sResul = "";

        #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 Avisos
            if (strAvisos != "")
            {
                string[] aAvisos = Regex.Split(strAvisos, "##");
                foreach (string sIdAviso in aAvisos)
                {
                    if (sIdAviso != "")
                    {
                        USUARIOAVISOS.BorrarTodos(tr, int.Parse(sIdAviso));
                        if (sAccion == "T")
                        {
                            USUARIOAVISOS.InsertarTodos(tr, int.Parse(sIdAviso));
                        }
                    }
                }
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los profesionales asignados al aviso", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 5
0
    protected string Grabar(string sSegMesProy, string sAvanceProd)
    {
        string sResul           = "";
        bool   bErrorControlado = false;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
            {
                SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, int.Parse(sSegMesProy), null);
                if (oSMPSN.t325_estado == "C")
                {
                    bErrorControlado = true;
                    throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el mes en curso."));
                }
            }

            SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd));
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar el avance de producción.", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Ejemplo n.º 6
0
    private string Grabar(string sPSN, string strMeses)
    {
        string sResul = "OK@#@";

        #region abrir conexión y transacción serializable
        try
        {
            oConn = Conexion.Abrir();
            //tr = Conexion.AbrirTransaccion(oConn);
            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
        {
            bool     bContinuar = true;
            string[] aMes       = Regex.Split(strMeses, "///");
            foreach (string oMes in aMes)
            {
                if (bContinuar)
                {
                    string[] aValores = Regex.Split(oMes, "##");
                    switch (aValores[0])
                    {
                    case "U":
                        SEGMESPROYECTOSUBNODO.UpdateEstado(tr, int.Parse(aValores[1]), aValores[2]);
                        break;
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            //Master.sErrores = Errores.mostrarError("Error al eliminar el proyecto económico " + sNumPE, ex);
            sResul = "error@#@Error al actualizar el estado del mes del proyecto económico.\n\n" + ex.Message;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 7
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);
    }
    protected string Procesar(string sDesde, string sHasta, string sResponsables, string sSubnodos, string sPSN, string sClasesABorrar, string sConsPersonas, string sConsNivel, string sProdProfesional, string sProdPerfil, string sAvance, string sPeriodCons, string sPeriodProd, string sDeCirculante, string sIncMesesCerrados)
    {
        string sResul = "";

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            SEGMESPROYECTOSUBNODO.BorrarDatosMes(tr, int.Parse(sDesde), int.Parse(sHasta),
                                                 sResponsables,
                                                 sSubnodos,
                                                 sPSN,
                                                 sClasesABorrar,
                                                 (sConsPersonas == "1") ? true : false,
                                                 (sConsNivel == "1") ? true : false,
                                                 (sProdProfesional == "1") ? true : false,
                                                 (sProdPerfil == "1") ? true : false,
                                                 (sAvance == "1") ? true : false,
                                                 (sPeriodCons == "1") ? true : false,
                                                 (sPeriodProd == "1") ? true : false,
                                                 (sDeCirculante == "1") ? true : false,
                                                 (sIncMesesCerrados == "1") ? true : false
                                                 );
            Conexion.CommitTransaccion(tr);
            sResul = "OK";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al borrar los datos seleccionados.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Ejemplo n.º 9
0
    protected string Grabar(string strDatosBasicos)
    {
        string sResul = "";
        int    nUser, nCal;

        #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
        {
            string[] aDatosBasicos = Regex.Split(strDatosBasicos, "///");
            foreach (string oRec in aDatosBasicos)
            {
                if (oRec != "")
                {
                    string[] aDatos = Regex.Split(oRec, "##");
                    nUser = int.Parse(aDatos[0]);
                    nCal  = int.Parse(aDatos[1]);
                    Calendario.setCalendarioProfesional(tr, nUser, nCal);
                }
            }
            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 10
0
    private string GrabarComo(string sDesPlant, string sAmbito, string sIdPlantOrigen, string sOrigen, string sTipo, string sNodo,
                              string sEmp, string sDep, string sPer)
    {
        string         sResul = "";
        int            iPromotor = int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), idPlantOrigen, idPlantDestino;
        SqlConnection  oConn = null;
        SqlTransaction tr    = null;

        try
        {
            //Cargo los datos de la plantilla actual
            idPlantOrigen = int.Parse(sIdPlantOrigen);
            PlantProy miPlant = new PlantProy();
            miPlant.Obtener(idPlantOrigen);
            //Abro transaccion serializable
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);

            if (sAmbito == "")
            {
                sAmbito = miPlant.ambito;
            }
            if (sAmbito != "D")
            {
                miPlant.codune = -1;
            }
            idPlantDestino = PlantProy.Insertar(tr, miPlant.tipo, Utilidades.unescape(sDesPlant), 1, sAmbito, iPromotor, miPlant.codune, miPlant.obs);

            ITEMSPLANTILLA.Duplicar(tr, idPlantOrigen, idPlantDestino);

            Conexion.CommitTransaccion(tr);
            //Recargo el desglose
            //sResul = "OK@#@" + obtenerPlantillas(inodo, sorigen, true);
            sResul = Buscar("1", "0", sTipo, sOrigen, sNodo, sEmp, sDep, sPer, true);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar el desglose de la plantilla", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 11
0
    private string setPreferencia(string sSobreescribir, string sRPCCR, string sProfCon)
    {
        string sResul = "";

        #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
        {
            int nPref = PREFERENCIAUSUARIO.Insertar(tr, (int)Session["IDFICEPI_PC_ACTUAL"], 16,
                                                    sSobreescribir,
                                                    sRPCCR,
                                                    sProfCon,
                                                    null, null, null, null, null, null, null,
                                                    null, null, null, null, null, null, null, null, null, null, null);

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + nPref.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al guardar la preferencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string Procesar(string sMesInicio, string sCaso)
    {
        string sResul = "";

        try
        {
            #region Abro transaccion
            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

            RECALCULOCOSTESSUPER.Procesar(tr, int.Parse(sMesInicio), byte.Parse(sCaso));

            sResul = "OK@#@";
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar el recálculo de costes de personal.", ex);
            Conexion.CerrarTransaccion(tr);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    protected string Procesar(string strDatos)
    {
        string sResul = "";

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            SEGMESPROYECTOSUBNODO.BorrarMesesAbiertos(tr, strDatos);

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al borrar los meses abiertos indicados.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Ejemplo n.º 14
0
    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);
    }
Ejemplo n.º 15
0
    private string Grabar(string sDelete, string sInsert, string sUpdate)
    {
        //string pf = "ctl00$CPHC$";
        //string sDelete = Request.Form[pf + "hdnDelete"]; // Borrados
        //string sInsert = Request.Form[pf + "hdnInsert"]; // Insert
        //string sUpdate = Request.Form[pf + "hdnUpdate"]; // Updates

        string sResul = "", sInsertados = "";
        int    nIDSector = -1;
        int    nIDSegmen = -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 Bajas
            if (sDelete != "") //No se han realizado bajas
            {
                string[] aDeletes = Regex.Split(sDelete, "///");
                foreach (string oDelete in aDeletes)
                {
                    if (oDelete == "")
                    {
                        continue;
                    }
                    string[] aDel = Regex.Split(oDelete, "##");

                    ///aDel[0] = id
                    ///aDel[1] = title
                    ///aDel[2] = nivel
                    ///aDel[2] = parent
                    ///
                    if (aDel[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Delete(tr, int.Parse(aDel[0]));
                    }
                    else if (aDel[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Delete(tr, int.Parse(aDel[0]));
                    }
                }
            }

            #endregion
            #region Inserciones
            if (sInsert != "") // No se han realizado Inserciones
            {
                string[] aInserts = Regex.Split(sInsert, "///");
                foreach (string oInsert in aInserts)
                {
                    if (oInsert == "")
                    {
                        continue;
                    }
                    string[] aInsert = Regex.Split(oInsert, "##");

                    ///aInsert[0] = id virtual
                    ///aInsert[1] = title
                    ///aInsert[2] = nivel
                    ///aInsert[3] = parent(sector para el caso de los segmentos)
                    ///aInsert[4] = id real
                    // Estoy metiendo el codigo externo con el valor de la denominacion

                    if (aInsert[2] == "1")
                    {
                        nIDSector = SUPER.DAL.SECTOR.Insert(tr, aInsert[1], aInsert[1]);
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSector.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSector.ToString();
                        }
                    }
                    else if (aInsert[2] == "2")
                    {
                        string sID = (int.Parse(aInsert[3]) < 0) ? nIDSector.ToString() : aInsert[3];
                        nIDSegmen = SUPER.DAL.SEGMENTO.Insert(tr, aInsert[1], aInsert[1], int.Parse(sID));
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                    }
                }
            }
            #endregion
            #region Modificaciones
            if (sUpdate != "") //No se han realizado modificaciones
            {
                string[] aUpdates = Regex.Split(sUpdate, "///");
                foreach (string oUpdate in aUpdates)
                {
                    if (oUpdate == "")
                    {
                        continue;
                    }
                    string[] aUpd = Regex.Split(oUpdate, "##");

                    ///aUpd[0] = id
                    ///aUpd[1] = title
                    ///aUpd[2] = nivel
                    ///aUpd[3] = parent(sector para el caso de los segmentos)
                    ///
                    if (aUpd[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Update(tr, int.Parse(aUpd[0]), aUpd[1], null);
                    }
                    else if (aUpd[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Update(tr, int.Parse(aUpd[0]), aUpd[1], null, int.Parse(aUpd[3]));
                    }
                }
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + sInsertados;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del árbol", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 16
0
    private string Grabar(string strFiguras)
    {
        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 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

                    if (aFig[0] == "D")
                    {
                        FIGURAPSN_CONTRATO_POOL.DeleteUsuario(tr, 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")
                            {
                                FIGURAPSN_CONTRATO_POOL.Delete(tr, int.Parse(aFig[1]), aFig2[1]);
                            }
                            else
                            {
                                FIGURAPSN_CONTRATO_POOL.Insert(tr, int.Parse(aFig[1]), aFig2[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);
    }
    protected string Procesar(string sSegMesProy, string nPSN, string sConsPersonas, string sConsNivel, string sProdProfesional, string sProdPerfil, string sAvance, string sPeriodCons, string sPeriodProd, string sClasesAClonar, string strMeses)
    {
        string sResul = "", sw = "0";
        int    nSMPSN_destino    = 0;
        int    t325_anomes_maxC  = 0;
        int    t325_anomes_minA  = 0;
        int    t303_ultcierreeco = 0;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            DataSet ds = SEGMESPROYECTOSUBNODO.ObtenerMesesReferenciaParaClonado(tr, int.Parse(nPSN));
            foreach (DataRow oMes in ds.Tables[0].Rows)
            {
                if (oMes["t325_estado"].ToString() == "C")
                {
                    t325_anomes_maxC = (int)oMes["t325_anomes"];
                }
                if (oMes["t325_estado"].ToString() == "A")
                {
                    t325_anomes_minA = (int)oMes["t325_anomes"];
                }
            }
            foreach (DataRow oMes in ds.Tables[1].Rows)
            {
                t303_ultcierreeco = (int)oMes["t303_ultcierreeco"];
            }

            string[] aAnomes = Regex.Split(strMeses, "##");
            foreach (string oAnomes in aAnomes)
            {
                if (oAnomes == "")
                {
                    continue;
                }

                if (int.Parse(oAnomes) <= t303_ultcierreeco ||
                    int.Parse(oAnomes) <= t325_anomes_maxC)
                {
                    sw = "1";
                    continue;
                }

                nSMPSN_destino = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, int.Parse(nPSN), int.Parse(oAnomes));
                if (nSMPSN_destino != 0)
                {
                    SEGMESPROYECTOSUBNODO.Delete(tr, nSMPSN_destino);
                }

                nSMPSN_destino = SEGMESPROYECTOSUBNODO.Insert(tr, int.Parse(nPSN), int.Parse(oAnomes), "A", 0, 0, false, 0, 0);

                SEGMESPROYECTOSUBNODO.ClonarMes(tr, int.Parse(sSegMesProy),
                                                nSMPSN_destino,
                                                sClasesAClonar,
                                                (sConsPersonas == "1") ? true : false,
                                                (sConsNivel == "1") ? true : false,
                                                (sProdProfesional == "1") ? true : false,
                                                (sProdPerfil == "1") ? true : false,
                                                (sAvance == "1") ? true : false,
                                                (sPeriodCons == "1") ? true : false,
                                                (sPeriodProd == "1") ? true : false,
                                                SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()
                                                );
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + sw;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al clonar los datos del mes de referencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
        public static string AparcarNotaMultiProyecto(string strDatosCabecera, string strDatosPosiciones)
        {
            string         sResul = "";
            int            nReferencia = 0, nFilasModificadas = 0;
            SqlConnection  oConn = null;
            SqlTransaction tr = null;
            bool           bErrorControlado = false, bExisteNota = false;

            string[] aDatosCabecera = Regex.Split(strDatosCabecera, "#sep#");
            #region Datos Cabecera
            ///aDatosCabecera[0] = txtConcepto //0
            ///aDatosCabecera[1] = hdnInteresado //1
            ///aDatosCabecera[2] = rdbJustificantes //2
            ///aDatosCabecera[3] = hdnIdProyectoSubNodo //3
            ///aDatosCabecera[4] = cboMoneda //4
            ///aDatosCabecera[5] = txtObservacionesNota //5
            ///aDatosCabecera[6] = hdnAnotacionesPersonales //6
            ///aDatosCabecera[7] = hdnReferencia //7
            ///aDatosCabecera[8] = hdnIdEmpresa //8
            #endregion Datos Posiciones
            string[] aPosiciones = Regex.Split(strDatosPosiciones, "#reg#");
            #region Posiciones
            ///aPosiciones[0] = sDesde  //0
            ///aPosiciones[1] = sHasta  //
            ///aPosiciones[2] = destino
            ///aPosiciones[3] = comentario
            ///aPosiciones[4] = DC
            ///aPosiciones[5] = MD
            ///aPosiciones[6] = DE
            ///aPosiciones[7] = DA
            ///aPosiciones[8] = KMS
            ///aPosiciones[9] = eco
            ///aPosiciones[10] = Peaje
            ///aPosiciones[11] = Comida
            ///aPosiciones[12] = Trans
            ///aPosiciones[13] = Hoteles
            ///aPosiciones[14] = idPSN

            #endregion

            #region Abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                try
                {
                    #region Aparcar Cabecera
                    if (aDatosCabecera[7] == "")
                    {
                        nReferencia = DAL.CABECERAAPARCADA_NMPGV.AparcarCabecera(tr,
                                                                                 Utilidades.unescape(aDatosCabecera[0]),
                                                                                 (int)HttpContext.Current.Session["GVT_IDFICEPI"],
                                                                                 int.Parse(aDatosCabecera[1]),
                                                                                 (aDatosCabecera[2] == "1") ? true : false,
                                                                                 (aDatosCabecera[3] == "") ? null : (int?)int.Parse(aDatosCabecera[3]),
                                                                                 aDatosCabecera[4],
                                                                                 Utilidades.unescape(aDatosCabecera[5]),
                                                                                 Utilidades.unescape(aDatosCabecera[6]),
                                                                                 (aDatosCabecera[8] == "") ? null : (int?)int.Parse(aDatosCabecera[8])
                                                                                 );
                    }
                    else
                    {
                        bExisteNota       = true;
                        nReferencia       = int.Parse(aDatosCabecera[7]);
                        nFilasModificadas = DAL.CABECERAAPARCADA_NMPGV.ReAparcarCabecera(tr,
                                                                                         nReferencia,
                                                                                         Utilidades.unescape(aDatosCabecera[0]),
                                                                                         (int)HttpContext.Current.Session["GVT_IDFICEPI"],
                                                                                         int.Parse(aDatosCabecera[1]),
                                                                                         (aDatosCabecera[2] == "1") ? true : false,
                                                                                         (aDatosCabecera[3] == "") ? null : (int?)int.Parse(aDatosCabecera[3]),
                                                                                         aDatosCabecera[4],
                                                                                         Utilidades.unescape(aDatosCabecera[5]),
                                                                                         Utilidades.unescape(aDatosCabecera[6]),
                                                                                         DateTime.Now,
                                                                                         (aDatosCabecera[8] == "") ? null : (int?)int.Parse(aDatosCabecera[8])
                                                                                         );

                        if (nFilasModificadas == 0)
                        {
                            sResul           = "Solicitud aparcada no existente";
                            bErrorControlado = true;
                            throw (new Exception(sResul));
                        }
                    }
                    #endregion
                }
                catch (Exception ex)
                {
                    if (bErrorControlado)
                    {
                        throw (new Exception(ex.Message));
                    }
                    else
                    {
                        throw (new Exception("Error al aparcar la cabecera. " + ex.Message));
                    }
                }

                try
                {
                    if (bExisteNota)
                    {
                        DAL.POSICIONAPARCADA_NMPGV.DeleteByT663_idreferencia(tr, nReferencia);
                    }

                    #region Aparcar Posiciones
                    foreach (string oPosicion in aPosiciones)
                    {
                        if (oPosicion == "")
                        {
                            continue;
                        }
                        string[] aDatosPosicion = Regex.Split(oPosicion, "#sep#");

                        DAL.POSICIONAPARCADA_NMPGV.AparcarPosicion(tr, nReferencia,
                                                                   (aDatosPosicion[0] == "") ? null : (DateTime?)DateTime.Parse(aDatosPosicion[0]),
                                                                   (aDatosPosicion[1] == "") ? null : (DateTime?)DateTime.Parse(aDatosPosicion[1]),
                                                                   Utilidades.unescape(aDatosPosicion[2]),
                                                                   Utilidades.unescape(aDatosPosicion[3]),
                                                                   (byte)decimal.Parse(aDatosPosicion[4]),
                                                                   (byte)decimal.Parse(aDatosPosicion[5]),
                                                                   (byte)decimal.Parse(aDatosPosicion[6]),
                                                                   (byte)decimal.Parse(aDatosPosicion[7]),
                                                                   (short)decimal.Parse(aDatosPosicion[8]),
                                                                   (aDatosPosicion[9] == "") ? null : (int?)int.Parse(aDatosPosicion[9]),
                                                                   decimal.Parse(aDatosPosicion[10]),
                                                                   decimal.Parse(aDatosPosicion[11]),
                                                                   decimal.Parse(aDatosPosicion[12]),
                                                                   decimal.Parse(aDatosPosicion[13]),
                                                                   (aDatosPosicion[14] == "") ? null : (int?)int.Parse(aDatosPosicion[14])
                                                                   );
                    }
                    #endregion
                }
                catch (Exception ex)
                {
                    throw (new Exception("Error al aparcar la posición. " + ex.Message));
                }

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                if (bErrorControlado)
                {
                    sResul = ex.Message;
                }
                else
                {
                    sResul = Errores.mostrarError("Error al aparcar la nota multiproyecto.", ex);
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }

            return(nReferencia.ToString());
        }
Ejemplo n.º 19
0
    private string setAgrupacion(string sIdAgrupacion, string sDenominacion, string sProyectos)
    {
        string sResul           = "";
        bool   bErrorControlado = false;

        #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
        {
            string sAgrupacion = AGRUPACIONPROYECTO.ExisteMismosProyectos(tr, sProyectos.Replace(";", ","));
            if (sAgrupacion != "")
            {
                bErrorControlado = true;
                throw (new Exception("Ya existe una agrupación para los proyectos indicados (" + sAgrupacion + ")."));
            }

            int nIDAgrupacion = int.Parse(sIdAgrupacion);

            if (nIDAgrupacion == 0)
            {
                nIDAgrupacion = AGRUPACIONORDEN.Insert(tr, Utilidades.unescape(sDenominacion), (int)Session["UsuarioActual"]);
            }
            else
            {
                AGRUPACIONORDEN.Update(tr, nIDAgrupacion, Utilidades.unescape(sDenominacion));
                AGRUPACIONPROYECTO.DeleteByAgrupacion(tr, nIDAgrupacion);
            }

            AGRUPACIONPROYECTO.Insert(tr, nIDAgrupacion, sProyectos.Replace(";", ","));

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);

            if (!bErrorControlado)
            {
                sResul = sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos de la agrupación", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string Grabar(string sUserOrigen, string sUserDestino, string strProyectos)
    {
        string        sResul = "", sTipo = "";
        StringBuilder sb = new StringBuilder();

        #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
        {
            if (sUserDestino != "" && strProyectos != "")
            {
                string[] aProys = Regex.Split(strProyectos, "///");
                foreach (string oProy in aProys)
                {
                    if (oProy == "")
                    {
                        continue;
                    }
                    string[] aValores = Regex.Split(oProy, "##");
                    ///aValores[0] = idproyecto
                    ///aValores[1] = tipo T-> titular, A-> Alternativo
                    ///aValores[2] = denProyecto
                    PROYECTO.UpdateUSA(tr, int.Parse(aValores[0]), aValores[1], int.Parse(sUserDestino));
                    if (aValores[1] == "T")
                    {
                        sTipo = "Usuario administración titular";
                    }
                    else
                    {
                        sTipo = "Usuario administración alternativo";
                    }
                    sb.Append(@"<tr><td style='padding-left:3px;'>" + aValores[2] + "</td><td>" + sTipo + "</td></tr>");
                }
                EnviarCorreoUsuarioSoporte(false, int.Parse(sUserOrigen), sb.ToString());
                EnviarCorreoUsuarioSoporte(true, int.Parse(sUserDestino), sb.ToString());
            }

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
        public static string Grabar(string sCodAviso, string strDatosBasicos)
        {
            SqlConnection  oConn = null;
            SqlTransaction tr = null;
            string         sResul = "", sDesc, sTitulo, sDescLong;
            bool           bBorrable = false;
            int            iCodAviso = 0;
            DateTime?      dIniV     = null;
            DateTime?      dFinV     = null;

            #region abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                #region Avisos
                if (sCodAviso == "0")
                {
                    iCodAviso = -1;
                }
                else
                {
                    iCodAviso = int.Parse(sCodAviso);
                }
                if (strDatosBasicos != "")    //No se ha modificado nada de la pestaña general
                {
                    string[] aDatosTarea = Regex.Split(strDatosBasicos, "{sep}");
                    ///aDatosTarea[0] = Denominacion aviso
                    ///aDatosTarea[1] = Titulo aviso
                    ///aDatosTarea[2] = Texto libre
                    ///aDatosTarea[3] = chkBorrable
                    ///aDatosTarea[4] = txtValIni
                    ///aDatosTarea[5] = txtValFin
                    sDesc     = Utilidades.unescape(aDatosTarea[0]);
                    sTitulo   = Utilidades.unescape(aDatosTarea[1]);
                    sDescLong = Utilidades.unescape(aDatosTarea[2]);
                    if (aDatosTarea[3] == "1")
                    {
                        bBorrable = true;
                    }
                    if (aDatosTarea[4] != "")
                    {
                        dIniV = DateTime.Parse(aDatosTarea[4]);
                    }
                    if (aDatosTarea[5] != "")
                    {
                        dFinV = DateTime.Parse(aDatosTarea[5]);
                    }

                    if (iCodAviso <= 0)
                    {
                        iCodAviso = DAL.TEXTOAVISOS.Insert(tr, sDesc, sTitulo, sDescLong, bBorrable, dIniV, dFinV);
                    }
                    else
                    {
                        DAL.TEXTOAVISOS.Update(tr, iCodAviso, sDesc, sTitulo, sDescLong, bBorrable, dIniV, dFinV);
                    }
                }
                #endregion
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al grabar en la tabla de T774_TEXTOAVISOSGASVI.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            return(iCodAviso.ToString());
        }
        public static string TramitarBono(string sConcepto, string sAnoMes, string sIdBono, string sIdProyecto, string sIdUsuario,
                                          string sComentario, string sAnotaciones, string sImporte, string sIdTerritorio,
                                          string sIdReferencia, string sMoneda, string sOficina)
        {
            string sResul = "", sValorInsertado = "";

            SqlConnection  oConn            = null;
            SqlTransaction tr               = null;
            int            nAux             = 0;
            bool           bErrorControlado = false;

            #region abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch (Exception)
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                #region Tramitar Bonos
                if (sIdReferencia == "")
                {
                    nAux = DAL.BonoTransporte.InsertCabeceraGVBono(tr,
                                                                   sConcepto,
                                                                   int.Parse(HttpContext.Current.Session["GVT_IDFICEPI"].ToString()),
                                                                   int.Parse(sIdUsuario),
                                                                   int.Parse(sIdProyecto),
                                                                   Utilidades.unescape(sComentario),
                                                                   Utilidades.unescape(sAnotaciones),
                                                                   int.Parse(HttpContext.Current.Session["GVT_IDEMPRESA"].ToString()),
                                                                   int.Parse(sIdBono),
                                                                   float.Parse(sImporte),
                                                                   int.Parse(sAnoMes),
                                                                   int.Parse(sIdTerritorio),
                                                                   sMoneda,
                                                                   short.Parse(sOficina)
                                                                   );
                    sValorInsertado = nAux.ToString();
                }
                else
                {
                    DAL.BonoTransporte.UpdateCabeceraGVBono(tr,
                                                            int.Parse(sIdReferencia),
                                                            sConcepto,
                                                            int.Parse(HttpContext.Current.Session["GVT_IDFICEPI"].ToString()),
                                                            int.Parse(sIdUsuario),
                                                            int.Parse(sIdProyecto),
                                                            Utilidades.unescape(sComentario),
                                                            Utilidades.unescape(sAnotaciones),
                                                            int.Parse(HttpContext.Current.Session["GVT_IDEMPRESA"].ToString()),
                                                            int.Parse(sIdBono),
                                                            float.Parse(sImporte),
                                                            int.Parse(sAnoMes),
                                                            int.Parse(sIdTerritorio),
                                                            sMoneda,
                                                            short.Parse(sOficina)
                                                            );
                    sValorInsertado = sIdReferencia;
                }
                #endregion

                //string sCentroCoste = DAL.CABECERAGV.ObtenerCentroCoste(tr, int.Parse(sValorInsertado));
                //if (sCentroCoste == "")
                //{
                //    sResul = "Operación denegada.\n\nNo se ha podido determinar el centro de coste a asociar a la solicitud.";
                //    bErrorControlado = true;
                //    throw (new Exception(sResul));
                //}
                //else
                //{
                //    DAL.CABECERAGV.UpdateCentroCoste(tr, int.Parse(sValorInsertado), sCentroCoste);
                //}

                sValorInsertado += "@#@" + ObtenerHistorial(nAux.ToString());
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                //sResul = Errores.mostrarError("Error al grabar el bono transporte.", ex);
                if (bErrorControlado)
                {
                    sResul = ex.Message;
                }
                else
                {
                    sResul = Errores.mostrarError("Error al grabar el bono transporte.", ex);
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    if (bErrorControlado)
                    {
                        sResul = "ErrorControlado##EC##" + sResul;
                    }
                    throw (new Exception(sResul));
                }
            }
            return(sValorInsertado);
        }
Ejemplo n.º 23
0
    protected string Grabar(string strDatosTarea, string slIntegrantes)
    {
        string sResul = "", sAccionBD, sIdRecurso;
        int    iCodAsunto;
        byte   iEstadoAnt, iEstadoAct;
        //DateTime? dFfp = null;
        //DateTime? dFLi = null;
        //DateTime? dFno = null;
        double dEtp, dEtr;

        bool bNotificable = false, bEnviarAlerta = true, bAlta = false;

        #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 asunto
            string[] aDatosTarea = Regex.Split(strDatosTarea, "##");
            // 0 -> id asunto (si -1 es un alta)
            // 1 -> descripcion corta
            // 2 -> descripcion larga
            // 3 -> referencia externa
            // 4 -> f/notificación
            // 5 -> f/fin
            // 6 -> f/limite
            // 7 -> alerta
            // 8 -> departamento
            // 9 -> tipo
            // 10-> estado
            // 11-> severidad
            // 12-> prioridad
            // 13-> sistema
            // 14-> esfuerzo planificado
            // 15-> esfuerzo real
            // 16 -> observaciones
            // 17 -> cod une (vacío)
            // 18 -> cod Tarea
            // 19 -> notificador
            // 20 -> responsable
            // 21 -> estado anterior
            // 22 -> desc Responsable
            // 23 -> desc Tipo
            // 24 -> desc Estado
            // 25 -> desc Severidad
            // 26 -> desc Prioridad
            // 27 -> cod T
            if (aDatosTarea[0] == "")
            {
                iCodAsunto = -1;
            }
            else
            {
                iCodAsunto = int.Parse(aDatosTarea[0]);
            }
            //if (aDatosTarea[4] != "") dFno = DateTime.Parse(aDatosTarea[4]);
            //if (aDatosTarea[5] != "") dFfp = DateTime.Parse(aDatosTarea[5]);
            //if (aDatosTarea[6] != "") dFLi = DateTime.Parse(aDatosTarea[6]);
            DateTime dFno = DateTime.Parse(aDatosTarea[4]);
            DateTime dFfp = DateTime.Parse((aDatosTarea[5] == "") ? "01/01/1900" : aDatosTarea[5]);
            DateTime dFLi = DateTime.Parse((aDatosTarea[6] == "") ? "01/01/1900" : aDatosTarea[6]);
            if (aDatosTarea[21] == "")
            {
                iEstadoAnt = byte.Parse(aDatosTarea[10]);
            }
            else
            {
                iEstadoAnt = byte.Parse(aDatosTarea[21]);
            }
            iEstadoAct = byte.Parse(aDatosTarea[10]);
            if (aDatosTarea[14] != "")
            {
                dEtp = double.Parse(aDatosTarea[14]);
            }
            else
            {
                dEtp = 0;
            }
            if (aDatosTarea[15] != "")
            {
                dEtr = double.Parse(aDatosTarea[15]);
            }
            else
            {
                dEtr = 0;
            }
            if (iCodAsunto == -1)
            {
                bAlta      = true;
                iCodAsunto = ASUNTO_T.Insert(tr, int.Parse(aDatosTarea[18]),
                                             Utilidades.unescape(aDatosTarea[7]), Utilidades.unescape(aDatosTarea[1]),
                                             Utilidades.unescape(aDatosTarea[2]), Utilidades.unescape(aDatosTarea[8]),
                                             iEstadoAct, dEtp, dEtr, dFfp, dFLi, dFno,
                                             Utilidades.unescape(aDatosTarea[19]), Utilidades.unescape(aDatosTarea[16]),
                                             byte.Parse(aDatosTarea[12]), Utilidades.unescape(aDatosTarea[3]),
                                             int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()),
                                             int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()),
                                             byte.Parse(aDatosTarea[11]), Utilidades.unescape(aDatosTarea[13]),
                                             int.Parse(aDatosTarea[9]));
                ASUNTOESTADO_T.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
            }
            else
            {
                bAlta = false;
                ASUNTO_T.Update(tr, int.Parse(aDatosTarea[18]), Utilidades.unescape(aDatosTarea[7]),
                                Utilidades.unescape(aDatosTarea[1]), Utilidades.unescape(aDatosTarea[2]),
                                Utilidades.unescape(aDatosTarea[8]), iEstadoAct, dEtp, dEtr, dFfp, dFLi, dFno,
                                iCodAsunto, Utilidades.unescape(aDatosTarea[19]), Utilidades.unescape(aDatosTarea[16]),
                                byte.Parse(aDatosTarea[12]), Utilidades.unescape(aDatosTarea[3]),
                                int.Parse(aDatosTarea[20]), byte.Parse(aDatosTarea[11]), Utilidades.unescape(aDatosTarea[13]),
                                int.Parse(aDatosTarea[9]));
                if (iEstadoAnt != iEstadoAct)
                {
                    ASUNTOESTADO_T.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
                }
            }
            #endregion
            #region Datos integrantes
            if (slIntegrantes == "")
            {//Tenemos lista vacía. No hacemos nada
            }
            else
            {//Con la cadena generamos una lista y la recorremos para grabar cada elemento
                string[] aPersonas = Regex.Split(slIntegrantes, @"///");

                for (int i = 0; i < aPersonas.Length - 1; i++)
                {
                    if (aPersonas[i] != "")
                    {
                        string[] aIntegrante = Regex.Split(aPersonas[i], @"##");
                        sAccionBD  = aIntegrante[0];
                        sIdRecurso = aIntegrante[1];
                        if (aIntegrante[2] == "1")
                        {
                            bNotificable = true;
                        }
                        else
                        {
                            bNotificable = false;
                        }
                        switch (sAccionBD)
                        {
                        case "I":
                            ASUNTORECURSOS_T.Insert(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable);
                            break;

                        case "D":
                            //delete
                            ASUNTORECURSOS_T.Delete(tr, iCodAsunto, int.Parse(sIdRecurso));
                            break;

                        case "U":
                            //update
                            ASUNTORECURSOS_T.Update(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable);
                            break;
                        }
                    }
                }//for
            }
            #endregion
            #region Enviar correos
            if (bEnviarAlerta)
            {
                //if (bAlta) sCad = "I";
                //else sCad = "U";
                EnviarCorreoAlerta(iCodAsunto.ToString(), strDatosTarea, slIntegrantes, bAlta);
            }
            #endregion
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + iCodAsunto.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del asunto", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 24
0
    public static string GrabarAjax(string sDelete, string sInsert, string sUpdate, parametros objeto)
    {
        SqlConnection  oConn = null;
        SqlTransaction tr;

        string sResul = "", sInsertados = "";
        int    nIDSector = -1;
        int    nIDSegmen = -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;
            throw new Exception(Errores.mostrarError("Error al abrir la conexión", ex));
        }
        #endregion
        try
        {
            #region Bajas
            if (sDelete != "") //No se han realizado bajas
            {
                string[] aDeletes = Regex.Split(sDelete, "///");
                foreach (string oDelete in aDeletes)
                {
                    if (oDelete == "")
                    {
                        continue;
                    }
                    string[] aDel = Regex.Split(oDelete, "##");

                    ///aDel[0] = id
                    ///aDel[1] = title
                    ///aDel[2] = nivel
                    ///aDel[2] = parent
                    ///
                    if (aDel[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Delete(tr, int.Parse(aDel[0]));
                    }
                    else if (aDel[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Delete(tr, int.Parse(aDel[0]));
                    }
                }
            }

            #endregion
            #region Inserciones
            if (sInsert != "") // No se han realizado Inserciones
            {
                string[] aInserts = Regex.Split(sInsert, "///");
                foreach (string oInsert in aInserts)
                {
                    if (oInsert == "")
                    {
                        continue;
                    }
                    string[] aInsert = Regex.Split(oInsert, "##");

                    ///aInsert[0] = id virtual
                    ///aInsert[1] = title
                    ///aInsert[2] = nivel
                    ///aInsert[3] = parent(sector para el caso de los segmentos)
                    ///aInsert[4] = codext
                    // Estoy metiendo el codigo externo con el valor de la denominacion

                    if (aInsert[2] == "1")
                    {
                        nIDSector = SUPER.DAL.SECTOR.Insert(tr, aInsert[1], aInsert[4]);
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSector.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSector.ToString();
                        }
                    }
                    else if (aInsert[2] == "2")
                    {
                        string sID = (int.Parse(aInsert[3]) < 0) ? nIDSector.ToString() : aInsert[3];
                        nIDSegmen = SUPER.DAL.SEGMENTO.Insert(tr, aInsert[1], aInsert[4], int.Parse(sID));
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                    }
                }
            }
            #endregion
            #region Modificaciones
            if (sUpdate != "") //No se han realizado modificaciones
            {
                string[] aUpdates = Regex.Split(sUpdate, "///");
                foreach (string oUpdate in aUpdates)
                {
                    if (oUpdate == "")
                    {
                        continue;
                    }
                    string[] aUpd = Regex.Split(oUpdate, "##");

                    ///aUpd[0] = id
                    ///aUpd[1] = title
                    ///aUpd[2] = nivel
                    ///aUpd[3] = parent(sector para el caso de los segmentos)
                    ///aUpd[4] = codext
                    ///
                    if (aUpd[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Update(tr, int.Parse(aUpd[0]), aUpd[1], aUpd[4]);
                    }
                    else if (aUpd[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Update(tr, int.Parse(aUpd[0]), aUpd[1], aUpd[4], int.Parse(aUpd[3]));
                    }
                }
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = sInsertados;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            string   sError = Errores.mostrarError("Error al grabar los datos del árbol. ", ex);
            string[] aError = Regex.Split(sError, "@#@");
            throw new Exception(Utilidades.escape(aError[0]), ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 25
0
    protected string Grabar(string sEsCV, string strDatos)
    {
        string sResul = "";

        #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
        {
            string[] aPreferencia = Regex.Split(strDatos, "///");
            foreach (string oPreferencia in aPreferencia)
            {
                if (oPreferencia == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oPreferencia, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Preferencia
                //2. Denominacion
                //3. Defecto
                //4. Orden

                switch (aValores[0])
                {
                case "U":
                    if (sEsCV == "S")
                    {
                        PREFERENCIAUSUARIO.UpdateCatalogoCVT(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), (aValores[3] == "1") ? true : false, byte.Parse(aValores[4]));
                    }
                    else
                    {
                        PREFERENCIAUSUARIO.UpdateCatalogo(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), (aValores[3] == "1") ? true : false, byte.Parse(aValores[4]));
                    }
                    break;

                case "D":
                    if (sEsCV == "S")
                    {
                        PREFERENCIAUSUARIO.DeleteCVT(tr, int.Parse(aValores[1]));
                    }
                    else
                    {
                        PREFERENCIAUSUARIO.Delete(tr, int.Parse(aValores[1]));
                    }
                    break;
                }
            }
            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar las preferencias.", ex, false);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
        public static string Grabar(string strProfesionales)
        {
            string         sResul = "", sElementosInsertados = "";
            SqlConnection  oConn = null;
            SqlTransaction tr    = 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 Profesionales
                if (strProfesionales != "")//No se ha modificado nada de la pestaña de Figuras
                {
                    string[] aProfesionales = Regex.Split(strProfesionales, "///");
                    foreach (string oProfesional in aProfesionales)
                    {
                        if (oProfesional == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oProfesional, "##");
                        ///aValores[0] = bd
                        ///aValores[1] = idFicepi

                        switch (aValores[0])
                        {
                        case "I":
                            SUPER.DAL.EXCLUIDOS_MIEQ.Insert(tr, int.Parse(aValores[1]));
                            if (sElementosInsertados == "")
                            {
                                sElementosInsertados = aValores[1];
                            }
                            else
                            {
                                sElementosInsertados += "//" + aValores[1];
                            }
                            break;

                        case "D":
                            SUPER.DAL.EXCLUIDOS_MIEQ.Delete(tr, int.Parse(aValores[1]));
                            break;
                        }
                    }
                }

                #endregion

                Conexion.CommitTransaccion(tr);
                sResul = sElementosInsertados;
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del profesional", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
            return(sResul);
        }
    private string setPreferencia(string sEstado, string sCategoria, string sCualidad, string sCerrarAuto, string sActuAuto, string sOpcionPeriodo, string sOperadorLogico, string sValoresMultiples)
    {
        string sResul = "";

        #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
        {
            int nPref = PREFERENCIAUSUARIO.Insertar(tr,
                                                    (int)Session["IDFICEPI_PC_ACTUAL"], 13,
                                                    (sEstado == "") ? null : sEstado,
                                                    (sCategoria == "") ? null : sCategoria,
                                                    (sCualidad == "") ? null : sCualidad,
                                                    (sCerrarAuto == "") ? null : sCerrarAuto,
                                                    (sActuAuto == "") ? null : sActuAuto,
                                                    (sOperadorLogico == "") ? null : sOperadorLogico,
                                                    (sOpcionPeriodo == "") ? null : sOpcionPeriodo,
                                                    null, null, null, null, null, null, null, null, null, null, null, null, null, null);

            #region Valores Múltiples
            if (sValoresMultiples != "")
            {
                string[] aValores = Regex.Split(sValoresMultiples, "///");
                foreach (string oValor in aValores)
                {
                    if (oValor == "")
                    {
                        continue;
                    }
                    string[] aDatos = Regex.Split(oValor, "##");
                    ///aDatos[0] = concepto
                    ///aDatos[1] = idValor
                    ///aDatos[2] = denominacion

                    PREFUSUMULTIVALOR.Insertar(tr, nPref, byte.Parse(aDatos[0]), aDatos[1], Utilidades.unescape(aDatos[2]));
                }
            }

            #endregion

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + nPref.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al guardar la preferencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string setPreferencia(string sNodo, string sEstado, string sCategoria, string sIdCliente, string sIdResponsable,
                                  string sNumPE, string sTipoBusqueda, string sActuAuto, string sCualidad, string sIdContrato,
                                  string sIdHorizontal, string sDenominacion, string sCNP, string sCSN1P, string sCSN2P,
                                  string sCSN3P, string sCSN4P, string sIdNaturaleza, string sIdModeloContratacion)
    {
        string sResul = "";
        string strNodo = null, strEstado = null, strCategoria = null, strIdCliente = null, strIdResponsable = null,
               strNumPE = null, strTipoBusqueda = null, strActuAuto = null, strCualidad = null, strIdContrato = null,
               strIdHorizontal = null, strDenominacion = null, strIdNaturaleza = null, strIdModeloContratacion = 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
        {
            if (sNodo != "")
            {
                strNodo = sNodo;
            }
            if (sEstado != "")
            {
                strEstado = sEstado;
            }
            if (sCategoria != "")
            {
                strCategoria = sCategoria;
            }
            if (sIdCliente != "")
            {
                strIdCliente = sIdCliente;
            }
            if (sIdResponsable != "")
            {
                strIdResponsable = sIdResponsable;
            }
            if (sNumPE != "0" && sNumPE != "")
            {
                strNumPE = sNumPE;
            }
            if (sTipoBusqueda != "")
            {
                strTipoBusqueda = sTipoBusqueda;
            }
            if (sActuAuto != "")
            {
                strActuAuto = sActuAuto;
            }
            if (sCualidad != "")
            {
                strCualidad = sCualidad;
            }
            if (sIdContrato != "")
            {
                strIdContrato = sIdContrato;
            }
            if (sIdHorizontal != "")
            {
                strIdHorizontal = sIdHorizontal;
            }
            if (sDenominacion != "")
            {
                strDenominacion = Utilidades.unescape(sDenominacion);
            }
            if (sIdNaturaleza != "")
            {
                strIdNaturaleza = sIdNaturaleza;
            }
            if (sIdModeloContratacion != "")
            {
                strIdModeloContratacion = sIdModeloContratacion;
            }

            int nPref = PREFERENCIAUSUARIO.Insertar(tr, (int)Session["IDFICEPI_PC_ACTUAL"], 4, strNodo, strEstado, strCategoria, strIdCliente,
                                                    sIdContrato, strIdResponsable, sIdHorizontal, strNumPE, strActuAuto, strCualidad,
                                                    strTipoBusqueda, strDenominacion,
                                                    sCNP,
                                                    sCSN1P,
                                                    sCSN2P,
                                                    sCSN3P,
                                                    sCSN4P,
                                                    strIdNaturaleza, strIdModeloContratacion, null, null);

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + nPref.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al guardar la preferencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Ejemplo n.º 29
0
    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);
    }
Ejemplo n.º 30
0
        public static string Grabar(string sDatos)
        {
            string         sResul = "", sElementosInsertados = "";
            SqlConnection  oConn            = null;
            SqlTransaction tr               = null;
            int            nAux             = 0;//, nDel = 0, nIdBono = -1, nFechas = 0;
            bool           bErrorControlado = false;

            #region abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch (Exception)
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                #region Importes convenio
                if (sDatos != "")
                {
                    //Con la cadena generamos una lista y la recorremos para grabar cada elemento
                    string[] aGrabar = Regex.Split(sDatos, "#sFin#");
                    for (int i = 0, nCount = aGrabar.Length; i < nCount; i++)
                    {
                        string[] aElem = Regex.Split(aGrabar[i], "#sCad#");
                        switch (aElem[0])
                        {
                        case "I":
                            nAux = DAL.DIETAKM.InsertImporteConvenio(tr,
                                                                     aElem[2],
                                                                     float.Parse(aElem[3]),
                                                                     float.Parse(aElem[4]),
                                                                     float.Parse(aElem[5]),
                                                                     float.Parse(aElem[6]),
                                                                     float.Parse(aElem[7]),
                                                                     short.Parse(aElem[8]));
                            sElementosInsertados += aElem[1] + "#sCad#" + nAux.ToString() + "#sFin#";
                            break;

                        case "D":
                            DAL.DIETAKM.DeleteImporteConvenio(tr, short.Parse(aElem[1]));
                            break;

                        case "U":
                            DAL.DIETAKM.UpdateImporteConvenio(tr,
                                                              short.Parse(aElem[1]),
                                                              aElem[2],
                                                              float.Parse(aElem[3]),
                                                              float.Parse(aElem[4]),
                                                              float.Parse(aElem[5]),
                                                              float.Parse(aElem[6]),
                                                              float.Parse(aElem[7]),
                                                              short.Parse(aElem[8]));
                            break;
                        }
                    }
                }
                if (sElementosInsertados != "")
                {
                    sElementosInsertados = sElementosInsertados.Substring(0, sElementosInsertados.Length - 6);
                }
                #endregion

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                if (bErrorControlado)
                {
                    sResul = ex.Message;
                }
                else
                {
                    sResul = Errores.mostrarError("Error al grabar el importe de convenio.", ex);
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            return(sElementosInsertados);
        }