コード例 #1
0
        public static string Procesar(string sRegistros, string strDatos)
        {
            string  sResul = "", sEstadoMes = "";
            int     nPSN_C = 0, nPSN_J = 0, nPSN_P = 0, nSegMesProy = 0;
            int     nIDEmpresaNodoProyecto_C = 0;
            int     nNodoUsuario = 0, nEmpresaNodoUsuario = 0, nNodo_C = 0, nNodo_J = 0, nNodo_P = 0;
            decimal nTipoCambio_C = 0, nTipoCambio_J = 0, nTipoCambio_P = 0;

            SqlConnection  oConn            = null;
            SqlTransaction tr               = null;
            bool           bErrorControlado = false;

            string[] aIncentivos = Regex.Split(strDatos, "#reg#");

            #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
            {
                //inserto los registros seleccionados en la T726_INCENTIVOSPRODUCTIVIDAD
                Capa_Datos.INCENTIVOSPRODUCTIVIDAD.Insertar(tr, sRegistros);

                //Trato los registros seleccionados
                int i = 0;
                foreach (string oIncentivo in aIncentivos)
                {
                    i++;
                    if (oIncentivo == "")
                    {
                        continue;
                    }
                    string[] aDatos = Regex.Split(oIncentivo, "#sep#");

                    #region Datos Incentivo
                    //aDatos[0] = id incentivo //0
                    //aDatos[1] = idusuario //1
                    //aDatos[2] = idnodo_usuario //2
                    //aDatos[3] = importe //3
                    //aDatos[4] = idproyecto //4
                    //aDatos[5] = anomes //5
                    //aDatos[6] = Profesional //6
                    //aDatos[7] = Denominación proyecto //7
                    //aDatos[8] = importe SS //8
                    #endregion

                    #region inicializar variables
                    nPSN_C      = 0;
                    nPSN_J      = 0;
                    nPSN_P      = 0;
                    nSegMesProy = 0;
                    nIDEmpresaNodoProyecto_C = 0;
                    nNodoUsuario             = 0;
                    nEmpresaNodoUsuario      = 0;
                    nNodo_C       = 0;
                    nNodo_J       = 0;
                    nNodo_P       = 0;
                    nTipoCambio_C = 0;
                    nTipoCambio_J = 0;
                    nTipoCambio_P = 0;
                    #endregion

                    DataSet ds = Capa_Datos.INCENTIVOSPRODUCTIVIDAD.ObtenerInstanciasProyecto(tr, int.Parse(aDatos[4]), int.Parse(aDatos[1]), int.Parse(aDatos[5]));
                    foreach (DataRow oFila in ds.Tables[0].Rows)
                    {
                        switch (oFila["t305_cualidad"].ToString())
                        {
                        case "C":
                            nPSN_C  = (int)oFila["t305_idproyectosubnodo"];
                            nNodo_C = (int)oFila["t303_idnodo"];
                            nIDEmpresaNodoProyecto_C = (int)oFila["t313_idempresa_nodo"];
                            nTipoCambio_C            = decimal.Parse(oFila["t699_tipocambio"].ToString());
                            break;

                        case "J":
                            nPSN_J        = (int)oFila["t305_idproyectosubnodo"];
                            nNodo_J       = (int)oFila["t303_idnodo"];
                            nTipoCambio_J = decimal.Parse(oFila["t699_tipocambio"].ToString());
                            break;

                        case "P":
                            nPSN_P        = (int)oFila["t305_idproyectosubnodo"];
                            nNodo_P       = (int)oFila["t303_idnodo"];
                            nTipoCambio_P = decimal.Parse(oFila["t699_tipocambio"].ToString());
                            break;
                        }
                        if (nNodoUsuario == 0)
                        {
                            nNodoUsuario = (int)oFila["t303_idnodo_usuario"];
                        }
                        if (nEmpresaNodoUsuario == 0)
                        {
                            nEmpresaNodoUsuario = (int)oFila["t313_idempresa_nodousuario"];
                        }
                    }

                    if (nPSN_C == 0)
                    {
                        sResul           = "Instancia contratante del proyecto económico no existente";
                        bErrorControlado = true;
                        throw (new Exception(sResul));
                    }

                    if (nPSN_P != 0) //Réplica con gestión
                    {
                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_P, int.Parse(aDatos[5]));
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_P, int.Parse(aDatos[5]));
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_P, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0);
                        }
                        DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividad, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[3]) * nTipoCambio_P, null, null, 4);
                        DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividadSS, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[8]) * nTipoCambio_P, null, null, 4);
                    }
                    else if (nNodo_C == nNodoUsuario) //El usuario pertenece a la Contratante
                    {
                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_C, int.Parse(aDatos[5]));
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_C, int.Parse(aDatos[5]));
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_C, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0);
                        }
                        DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividad, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[3]) * nTipoCambio_C, null, null, 4);
                        DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividadSS, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[8]) * nTipoCambio_C, null, null, 4);
                    }
                    else //Réplica sin gestión
                    {
                        //Para la réplica sin gestión
                        if (nNodo_J == 0) //no existe la réplica sin gestión, por lo que hay que crearla.
                        {
                            #region Creación de la instancia de proyecto
                            int     nCountManiobraTipo1 = 0, idNodoAuxManiobra = 0, nCountSubnodosNoManiobra = 0, idNodoAuxDestino = 0, idSubNodoGrabar = 0;
                            int     nResponsablePSN = 0;
                            DataSet dsSubnodos      = PROYECTOSUBNODO.ObtenerSubnodosParaReplicar(tr, nNodoUsuario);
                            foreach (DataRow oFila in dsSubnodos.Tables[0].Rows)
                            {
                                if ((byte)oFila["t304_maniobra"] == 1)
                                {
                                    nCountManiobraTipo1++;
                                    idNodoAuxManiobra = (int)oFila["t304_idsubnodo"];
                                }
                                else
                                {
                                    nCountSubnodosNoManiobra++;
                                    idNodoAuxDestino = (int)oFila["t304_idsubnodo"];
                                }
                            }

                            if (nCountSubnodosNoManiobra == 1) //si solo hay un subnodo en el nodo, que la réplica se haga a ese subnodo.
                            {
                                idSubNodoGrabar = idNodoAuxDestino;
                            }
                            else
                            {
                                if (nCountManiobraTipo1 == 0)
                                {
                                    NODO oNodo2 = NODO.SelectEnTransaccion(tr, nNodoUsuario);
                                    nResponsablePSN = oNodo2.t314_idusuario_responsable;
                                    //crear subnodo maniobra
                                    idSubNodoGrabar = SUBNODO.Insert(tr, "Proyectos a reasignar", nNodoUsuario, 0, true, 1, oNodo2.t314_idusuario_responsable, null);
                                }
                                else
                                {
                                    if (nCountManiobraTipo1 > 1)
                                    {
                                        ds.Dispose();
                                        throw (new Exception("El número de subnodos de maniobra es " + nCountManiobraTipo1.ToString() + " en el nodo " + nNodoUsuario.ToString() + ". Por favor avise al administrador."));
                                    }

                                    if (ds.Tables[0].Rows.Count - 1 > 1 || ds.Tables[0].Rows.Count - 1 == 0)
                                    {
                                        idSubNodoGrabar = idNodoAuxManiobra;
                                    }
                                    else
                                    {
                                        idSubNodoGrabar = idNodoAuxDestino;
                                    }
                                }
                            }
                            ds.Dispose();

                            if (nResponsablePSN == 0)
                            {
                                NODO oNodo3 = NODO.SelectEnTransaccion(tr, nNodoUsuario);
                                nResponsablePSN = oNodo3.t314_idusuario_responsable;
                            }
                            if (nTipoCambio_J == 0)
                            {
                                //hay que obtener el tipo de cambio de la moneda por defecto del nodo en el mes del incentivo.
                                nTipoCambio_J = NODO.getTipocambioMonedaNodoMes(tr, nNodoUsuario, int.Parse(aDatos[5]));
                            }
                            nPSN_J = PROYECTOSUBNODO.Insert(tr, int.Parse(aDatos[4]), idSubNodoGrabar, false, "J",
                                                            false, nResponsablePSN, Utilidades.unescape(aDatos[7]), "X", "X",
                                                            false, false, false, false, false, "", "",
                                                            "", null, null, null, null, null, null, false, 0);
                            #endregion
                        }

                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_J, int.Parse(aDatos[5]));
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_J, int.Parse(aDatos[5]));
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_J, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0);
                        }

                        DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividad, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[3]) * nTipoCambio_J, null, null, 4);
                        DATOECO.Insert(tr, nSegMesProy, Constantes.nIdClaseProductividadSS, Utilidades.unescape(aDatos[6]), decimal.Parse(aDatos[8]) * nTipoCambio_J, null, null, 4);


                        //Para la contratante (se añade el nodo destino)
                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN_C, int.Parse(aDatos[5]));
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN_C, int.Parse(aDatos[5]));
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN_C, int.Parse(aDatos[5]), sEstadoMes, 0, 0, false, 0, 0);
                        }
                        DATOECO.Insert(tr, nSegMesProy, (nIDEmpresaNodoProyecto_C == nEmpresaNodoUsuario) ? 4 : 6, Utilidades.unescape(aDatos[6]), (decimal.Parse(aDatos[3]) + decimal.Parse(aDatos[8])) * nTipoCambio_C, nNodoUsuario, null, 4);
                    }

                    Capa_Datos.INCENTIVOSPRODUCTIVIDAD.Registrar(tr, int.Parse(aDatos[0]));
                }

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                if (bErrorControlado)
                {
                    sResul = ex.Message;
                }
                else
                {
                    sResul = Errores.mostrarError("Error al procesar.", ex);
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    if (bErrorControlado)
                    {
                        sResul = "ErrorControlado##EC##" + sResul;
                    }
                    throw (new Exception(sResul));
                }
            }

            return("");
        }
コード例 #2
0
        public static string Grabar(string strDatos)
        {
            string sElementosInsertados = "";

            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

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

            try
            {
                if (strDatos != "") //No se ha modificado nada
                {
                    string[] aDatos = Regex.Split(strDatos, "///");
                    foreach (string oDatos in aDatos)
                    {
                        if (oDatos == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oDatos, "##");

                        ///aValores[0] = bd
                        ///aValores[1] = t001_idficepi

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

                        case "D":
                            SUPER.Capa_Datos.CLIENTE.Update(tr, int.Parse(aValores[1]), false);
                            break;
                        }
                    }
                }
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al actualizar las alertas del profesional.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            sResul = sElementosInsertados;
            return("OK@#@" + sResul);
        }
コード例 #3
0
        public static string Grabar(string sDelete, string sInsert, string sUpdate)
        {
            SqlConnection  oConn = null;
            SqlTransaction tr;

            string sResul = "", sInsertados = "";
            int    nIDSector  = -1;
            int    nIDSegmen  = -1;
            string sKey       = "";
            string sKeyParent = "";

            //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);
                }

                string   sError = Errores.mostrarError("Error al abrir la conexión", ex);
                string[] aError = Regex.Split(sError, "@#@");
                throw new Exception(Utilidades.escape(aError[0]), 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[3] = parent
                        ///
                        if (Utilidades.isNumeric(aDel[0]))
                        {
                            sKey = aDel[0];
                        }
                        else
                        {
                            sKey = aDel[0].Substring(3, aDel[0].Length - 3);
                        }

                        if (aDel[2] == "1")
                        {
                            SUPER.DAL.SECTOR.Delete(tr, int.Parse(sKey));
                        }
                        else if (aDel[2] == "2")
                        {
                            SUPER.DAL.SEGMENTO.Delete(tr, int.Parse(sKey));
                        }
                    }
                }

                #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], "");
                            if (sInsertados == "")
                            {
                                sInsertados = aInsert[0] + "::N1_" + nIDSector.ToString();
                            }
                            else
                            {
                                sInsertados += "//" + aInsert[0] + "::N1_" + nIDSector.ToString();
                            }
                        }
                        else if (aInsert[2] == "2")
                        {
                            if (Utilidades.isNumeric(aInsert[3]))
                            {
                                sKeyParent = aInsert[3];
                            }
                            else
                            {
                                sKeyParent = aInsert[3].Substring(3, aInsert[3].Length - 3);
                            }

                            string sID = (int.Parse(sKeyParent) < 0) ? nIDSector.ToString() : sKeyParent;
                            nIDSegmen = SUPER.DAL.SEGMENTO.Insert(tr, aInsert[1], "", int.Parse(sID));
                            if (sInsertados == "")
                            {
                                sInsertados = aInsert[0] + "::N2_" + nIDSegmen.ToString();
                            }
                            else
                            {
                                sInsertados += "//" + aInsert[0] + "::N2_" + 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 (Utilidades.isNumeric(aUpd[0]))
                        {
                            sKey = aUpd[0];
                        }
                        else
                        {
                            sKey = aUpd[0].Substring(3, aUpd[0].Length - 3);
                        }

                        if (aUpd[2] == "1")
                        {
                            SUPER.DAL.SECTOR.Update(tr, int.Parse(sKey), aUpd[1], null);
                        }
                        else if (aUpd[2] == "2")
                        {
                            if (Utilidades.isNumeric(aUpd[3]))
                            {
                                sKeyParent = aUpd[3];
                            }
                            else
                            {
                                sKeyParent = aUpd[3].Substring(3, aUpd[3].Length - 3);
                            }

                            string sID = (int.Parse(sKeyParent) < 0) ? nIDSector.ToString() : sKeyParent;
                            SUPER.DAL.SEGMENTO.Update(tr, int.Parse(sKey), aUpd[1], null, int.Parse(sID));
                        }
                    }
                }
                #endregion

                Conexion.CommitTransaccion(tr);

                if (HttpContext.Current.Cache["Lista_Sectores"] != null)
                {
                    HttpContext.Current.Cache.Remove("Lista_Sectores");
                }

                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);
                throw ex;
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
            return(sResul);
        }
コード例 #4
0
        public static string Grabar(string strDatos)
        {
            string         sElementosInsertados = "";
            int            nAux   = 0;
            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

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

            try
            {
                if (strDatos != "") //No se ha modificado nada
                {
                    string[] aCampo = Regex.Split(strDatos, "///");
                    //Primero se hacen las deletes para evitar errores por denominaciones duplicadas.
                    foreach (string oCampo in aCampo)
                    {
                        if (oCampo == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oCampo, "##");
                        //0. Opcion BD. "I", "D"
                        //1. ID Campo
                        //2. Descripcion
                        //3. t291_idtipodato
                        //4. Ambito
                        //5  t001_ficepi_owner
                        //6  t305_idproyectosubnodo
                        //7  t295_uidequipo

                        if (aValores[0] != "D")
                        {
                            continue;
                        }
                        SUPER.Capa_Datos.CAMPOS.Delete(tr, int.Parse(aValores[1]));
                    }

                    foreach (string oCampo in aCampo)
                    {
                        if (oCampo == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oCampo, "##");
                        //0. Opcion BD. "I", "D"
                        //1. t290_idcampo
                        //2. t290_denominación
                        //3. t291_idtipodato
                        //4. Ambito
                        //5  t001_ficepi_owner
                        //6  t305_idproyectosubnodo
                        //7  t295_uidequipo

                        switch (aValores[0])
                        {
                        case "I":

                            nAux = SUPER.Capa_Datos.CAMPOS.Insert(tr,
                                                                  Utilidades.unescape(aValores[2]),
                                                                  int.Parse(HttpContext.Current.Session["IDFICEPI_ENTRADA"].ToString()),
                                                                  aValores[3],
                                                                  int.Parse(aValores[4]),
                                                                  (aValores[5] == "0") ? null : (int?)int.Parse(aValores[5]),
                                                                  (aValores[6] == "0") ? null : (int?)int.Parse(aValores[6]),
                                                                  (aValores[7] == "") ?  null : Utilidades.unescape(aValores[7])
                                                                  );
                            if (sElementosInsertados == "")
                            {
                                sElementosInsertados = nAux.ToString();
                            }
                            else
                            {
                                sElementosInsertados += "//" + nAux.ToString();
                            }
                            break;
                        }
                    }
                }
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al actualizar los campos ligados a tarea.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            sResul = sElementosInsertados;
            return("OK@#@" + sResul);
        }
コード例 #5
0
        public static string Grabar(string strDatos)
        {
            string         sElementosInsertados = "";
            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

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

            try
            {
                if (strDatos != "") //No se ha modificado nada
                {
                    string[] aDatos = Regex.Split(strDatos, "///");
                    foreach (string oDatos in aDatos)
                    {
                        if (oDatos == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oDatos, "##");

                        ///aValores[0] = bd
                        ///aValores[1] = t314_idusuario
                        ///aValores[2] = t332_idtarea
                        ///aValores[3] = t143_horas_L
                        ///aValores[4] = t143_horas_M
                        ///aValores[5] = t143_horas_X
                        ///aValores[6] = t143_horas_J
                        ///aValores[7] = t143_horas_V
                        ///aValores[8] = t143_horas_S
                        ///aValores[9] = t143_horas_D
                        ///aValores[10] = t143_avisomail
                        ////*

                        switch (aValores[0])
                        {
                        case "I":
                            SUPER.Capa_Datos.USUARIOSIAUTO.Insert(
                                tr,
                                int.Parse(aValores[1]),
                                int.Parse(aValores[2]),
                                (aValores[3] == "") ? 0 : float.Parse(aValores[3]),
                                (aValores[4] == "") ? 0 : float.Parse(aValores[4]),
                                (aValores[5] == "") ? 0 : float.Parse(aValores[5]),
                                (aValores[6] == "") ? 0 : float.Parse(aValores[6]),
                                (aValores[7] == "") ? 0 : float.Parse(aValores[7]),
                                (aValores[8] == "") ? 0 : float.Parse(aValores[8]),
                                (aValores[9] == "") ? 0 : float.Parse(aValores[9]),
                                (aValores[10] == "1") ? true : false
                                );
                            if (sElementosInsertados == "")
                            {
                                sElementosInsertados = aValores[1];
                            }
                            else
                            {
                                sElementosInsertados += "//" + aValores[1];
                            }
                            break;

                        case "U":
                            SUPER.Capa_Datos.USUARIOSIAUTO.Update(
                                tr,
                                int.Parse(aValores[1]),
                                int.Parse(aValores[2]),
                                (aValores[3] == "") ? 0 : float.Parse(aValores[3]),
                                (aValores[4] == "") ? 0 : float.Parse(aValores[4]),
                                (aValores[5] == "") ? 0 : float.Parse(aValores[5]),
                                (aValores[6] == "") ? 0 : float.Parse(aValores[6]),
                                (aValores[7] == "") ? 0 : float.Parse(aValores[7]),
                                (aValores[8] == "") ? 0 : float.Parse(aValores[8]),
                                (aValores[9] == "") ? 0 : float.Parse(aValores[9]),
                                (aValores[10] == "1") ? true : false
                                );
                            break;

                        case "D":
                            SUPER.Capa_Datos.USUARIOSIAUTO.Delete(tr, int.Parse(aValores[1]));
                            break;
                        }
                    }
                }
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al grabar los parámetros de las imputaciones automáticas.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            sResul = sElementosInsertados;
            return("OK@#@" + sResul);
        }
コード例 #6
0
        public static string Grabar(string strDatos)
        {
            string sResul = "", sDesc = "", sElementosInsertados = "";
            int    nAux = 0;

            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
            {
                string[] aCuenta = Regex.Split(strDatos, "///");
                foreach (string oCuenta in aCuenta)
                {
                    if (oCuenta == "")
                    {
                        continue;
                    }
                    string[] aValores = Regex.Split(oCuenta, "##");
                    //0. Opcion BD. "I", "U", "D"
                    //1. ID
                    //2. Descripcion
                    //3. Volumen de negocio
                    //4. Es cliente

                    switch (aValores[0])
                    {
                    case "I":
                        nAux = SUPER.DAL.CUENTASCUR.Insert(tr, Utilidades.unescape(aValores[2]), decimal.Parse(aValores[3]), (aValores[4] == "1") ? true : false);
                        if (sElementosInsertados == "")
                        {
                            sElementosInsertados = nAux.ToString();
                        }
                        else
                        {
                            sElementosInsertados += "//" + nAux.ToString();
                        }
                        break;

                    case "U":
                        SUPER.DAL.CUENTASCUR.Update(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), decimal.Parse(aValores[3]), (aValores[4] == "1") ? true : false);
                        break;

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

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

            return(sResul);
        }
コード例 #7
0
        public static string Catalogo(int iFicepiEntrada, int codAmbito, string codTipo, int t305_idproyectosubnodo, ArrayList lstCamposPT)
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                #region Cabecera tabla HTML
                sb.Append(@"<table id='tblDatos' class='texto' style='width:900px;' mantenimiento='1'>
                        <colgroup>
			                <col style='width:480px;' />
                            <col style='width:80px;' />
			                <col style='width:70px;' />
							<col style='width:270px;' />
                        </colgroup>");

                #endregion
                string        strAmbito = "";
                string        strTitulo = "";
                SqlDataReader dr        = SUPER.Capa_Datos.CAMPOS.Catalogo(iFicepiEntrada, codAmbito, codTipo, t305_idproyectosubnodo, lstCamposPT);
                while (dr.Read())
                {
                    sb.Append("<tr bd='' id='" + dr["IDENTIFICADOR"].ToString() + "'  onclick='mm(event);' ");
                    sb.Append("creador='" + dr["t001_idficepi_creador"].ToString() + "' ");
                    sb.Append("owner='" + dr["t001_ficepi_owner"].ToString() + "' ");
                    sb.Append(" style='height:20px;'>");
                    //sb.Append("<td><img src='../../../../../images/imgFN.gif'></td>");
                    sb.Append("<td><nobr class='NBR W480' onmouseover='TTip(event)'>" + dr["DENOMINACION"].ToString() + "</nobr></td>");

                    strTitulo = "";
                    switch (dr["codAmbito"].ToString())
                    {
                    case ("0"):
                        strAmbito = "Empresarial";
                        break;

                    case ("1"):
                        strAmbito = "Privado";
                        strTitulo = dr["profesional_owner"].ToString();
                        break;

                    case ("2"):
                        strAmbito = "Proyecto";
                        strTitulo = dr["denominacion_proyecto"].ToString();
                        break;

                    case ("3"):
                        strAmbito = "Cliente";
                        strTitulo = dr["denominacion_cliente"].ToString();
                        break;

                    case ("4"):
                        strAmbito = "C.R.";
                        strTitulo = dr["denominacion_nodo"].ToString();
                        break;

                    case ("5"):
                        strAmbito = "Equipo";
                        strTitulo = dr["denominacion_equipo"].ToString();
                        break;
                    }
                    sb.Append("<td><label title='" + strTitulo + "'>" + strAmbito + "</label></td>");
                    sb.Append("<td>" + dr["t291_denominacion"].ToString() + "</td>");
                    sb.Append("<td><nobr class='NBR W270' onmouseover='TTip(event)'>" + dr["ProfesionalCreador"].ToString() + "</nobr></td>");
                    sb.Append("</tr>");
                }
                dr.Close();
                dr.Dispose();

                sb.Append("</table>");
                return("OK@#@" + sb.ToString());
            }
            catch (Exception ex)
            {
                return("Error@#@" + Errores.mostrarError("Error al obtener los campos a asignar ligados a la tarea", ex));
            }
        }
コード例 #8
0
        public static string Grabar(string strDatos)
        {
            string         sElementosInsertados = "";
            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

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

            try
            {
                if (strDatos != "") //No se ha modificado nada
                {
                    string[] aDatos = Regex.Split(strDatos, "///");
                    foreach (string oDatos in aDatos)
                    {
                        if (oDatos == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oDatos, "##");

                        ///aValores[0] = bd
                        ///aValores[1] = t314_idusuario
                        ///aValores[2] = gestor
                        string[] aId = Regex.Split(aValores[1], "/");
                        SUPER.Capa_Datos.GestorSAP.Update(tr, int.Parse(aId[1]), aValores[2]);
                    }
                }
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al actualizar las alertas del profesional.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            sResul = sElementosInsertados;
            return("OK@#@" + sResul);
        }
コード例 #9
0
        public static string EnviarCorreoRecurso(SqlTransaction tr, string sTipo, string strDatosTarea, string sEtp, string sIni, string sFin,
                                                 string sObs, string sMensGen)
        {
            string        sResul = "";
            ArrayList     aListCorreo = new ArrayList();
            StringBuilder sbuilder = new StringBuilder();
            string        sAsunto = "", sTexto = "", sTO = "";//, sCodRed;

            try
            {
                if (sTipo == "I")
                {
                    sAsunto = "Asignación de profesional a tarea.";
                    sbuilder.Append(@"<BR>SUPER le informa de su asignación a la siguiente tarea:<BR><BR>");
                }
                else
                {
                    sAsunto = "Modificación de profesional de recurso a tarea.";
                    sbuilder.Append(@"<BR>SUPER le informa de la modificación de su asignación a la siguiente tarea:<BR><BR>");
                }

                string[] aDatosTarea = Regex.Split(strDatosTarea, "##");
                //aDatosTarea[1] = hdnIdTarea
                //aDatosTarea[2] = idRecurso
                //aDatosTarea[10] = txtDesTarea
                //aDatosTarea[11] = txtNumPE
                //aDatosTarea[12] = txtPE
                //aDatosTarea[13] = txtPT
                //aDatosTarea[14] = txtFase
                //aDatosTarea[15] = txtActividad
                //aDatosTarea[16] = txtCodPST
                //aDatosTarea[17] = txtDesPST
                //aDatosTarea[18] = txtOTL
                //aDatosTarea[19] = txtIncidencia

                sbuilder.Append("<label style='width:120px'>Proyecto económico: </label>" + aDatosTarea[11] + @" - " + Utilidades.unescape(aDatosTarea[12]) + "<br>");
                sbuilder.Append("<label style='width:120px'>Proyecto Técnico: </label>" + Utilidades.unescape(aDatosTarea[13]) + "<br>");

                if (aDatosTarea[14] != "")
                {
                    sbuilder.Append("<label style='width:120px'>Fase: </label>" + Utilidades.unescape(aDatosTarea[14]) + "<br>");
                }
                if (aDatosTarea[15] != "")
                {
                    sbuilder.Append("<label style='width:120px'>Actividad: </label>" + Utilidades.unescape(aDatosTarea[15]) + "<br>");
                }

                sbuilder.Append("<label style='width:120px'>Tarea: </label><b>" + aDatosTarea[1] + @" - " + Utilidades.unescape(aDatosTarea[10]) + "</b><br><br>");
                sbuilder.Append("<b>Información de la tarea:</b><br><br>");

                if (aDatosTarea[16] != "")
                {
                    sbuilder.Append("<label style='width:120px'>OTC: </label>" + Utilidades.unescape(aDatosTarea[16]) + " - " + Utilidades.unescape(aDatosTarea[17]) + "<br>");
                }
                if (aDatosTarea[18] != "")
                {
                    sbuilder.Append("<label style='width:120px'>OTL: </label>" + Utilidades.unescape(aDatosTarea[18]) + "<br>");
                }
                if (aDatosTarea[19] != "")
                {
                    sbuilder.Append("<label style='width:120px'>Incidencia/Petición: </label>" + Utilidades.unescape(aDatosTarea[19]) + "<br>");
                }
                if ((sEtp == null) || (sEtp == ""))
                {
                    sEtp = "0";
                }
                sbuilder.Append("<label style='width:120px'>Esfuerzo: </label>" + sEtp + " horas<br>");
                if (sIni == "")
                {
                    sbuilder.Append("<label style='width:120px'>F/Inicio: </label>&nbsp;<br>");
                }
                else
                {
                    sbuilder.Append("<label style='width:120px'>F/Inicio: </label>" + sIni.Substring(0, 10) + "<br>");
                }
                if (sFin == "")
                {
                    sbuilder.Append("<label style='width:120px'>F/Fin: </label>&nbsp;<br>");
                }
                else
                {
                    sbuilder.Append("<label style='width:120px'>F/Fin: </label>" + sFin.Substring(0, 10) + "<br>");
                }
                sbuilder.Append("<label style='width:120px'>Indicaciones generales: </label>" + Utilidades.unescape(sMensGen) + "<br>");
                sbuilder.Append("<label style='width:120px'>Indicaciones particulares: </label>" + Utilidades.unescape(sObs) + "<br>");

                //sTO = Utilidades.unescape(aDatosTarea[2]);
                //sCodRed = Recurso.CodigoRed(int.Parse(sTO));
                //sTO = sCodRed.Replace(";", @"/");
                //if (System.Configuration.ConfigurationManager.ConnectionStrings["ENTORNO"].ToString() == "D")
                //{
                //    sTO = HttpContext.Current.Session["IDRED_ENTRADA"].ToString();
                //    sAsunto += " (" + sCodRed + ")";
                //}
                sTO    = SUPER.Capa_Negocio.Recurso.GetDireccionMail(int.Parse(aDatosTarea[2]));
                sTexto = sbuilder.ToString();

                string[] aMail = { sAsunto, sTexto, sTO };
                aListCorreo.Add(aMail);

                Correo.EnviarCorreos(aListCorreo);

                //Si el correo se ha enviado correctamente, para que no lo vuelva a enviar en el proceso nocturno
                //lo borro de la tabla de correos. En la tabla de correos se ha metido a través del trigger en la T336_TAREAPSPUSUARIO
                //Tampoco podemos quitar ese trigger ya que se pueden asignar profesionales a tareas desde otros procesos y/o triggers

                //Lo comento porque parece que da error de interbloqueo
                //SUPER.Capa_Datos.USUARIO.BorrarCorreo(tr, int.Parse(aDatosTarea[2]), 1, true, int.Parse(aDatosTarea[1]));

                sResul = "OK@#@";
            }
            catch (Exception ex)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al enviar correo de asignación de recurso a tarea. strDatosTarea=" + strDatosTarea, ex);
            }
            return(sResul);
        }
コード例 #10
0
        public static string obtenerUsuariosSinAvisoVto()
        {
            StringBuilder sb = new StringBuilder();

            try
            {
                SqlDataReader dr = SUPER.Capa_Datos.USUSINAVISOVTO.Catalogo();
                sb.Append("<TABLE id='tblDatos2' style='width: 450px;' class='texto MM' mantenimiento='1'>");
                sb.Append("<colgroup><col style='width:11px;' /><col style='width: 20px' /><col style='width: 419px;' /></colgroup>");
                sb.Append("<tbody>");
                while (dr.Read())
                {
                    sb.Append("<tr id='" + dr["t001_idficepi"].ToString() + "' bd='' style='height:20px;' tipo='" + dr["tipo"].ToString() + "'");
                    sb.Append(" onmousedown='DD(event)' onclick='mm(event)'>");
                    sb.Append("<td style='padding-left:1px'><img src='../../../images/imgFN.gif'></td>");
                    sb.Append("<td align='center'>");
                    if (dr["t001_sexo"].ToString() == "V")
                    {
                        switch (dr["tipo"].ToString())
                        {
                        case "P":
                            sb.Append("<img src='../../../images/imgUsuPV.gif'>");
                            break;

                        case "E":
                            sb.Append("<img src='../../../images/imgUsuEV.gif'>");
                            break;

                        case "F":
                            sb.Append("<img src='../../../images/imgUsuFV.gif'>");
                            break;
                        }
                    }
                    else
                    {
                        switch (dr["tipo"].ToString())
                        {
                        case "P":
                            sb.Append("<img src='../../../images/imgUsuPM.gif'>");
                            break;

                        case "E":
                            sb.Append("<img src='../../../images/imgUsuEM.gif'>");
                            break;

                        case "F":
                            sb.Append("<img src='../../../images/imgUsuFM.gif'>");
                            break;
                        }
                    }
                    sb.Append("</td>");
                    sb.Append("<td style='text-align:left;' ><nobr class='NBR' style='width:400px'>" + dr["Profesional"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);
                }
                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 relación de profesionales sin aviso de vencimiento.", ex));
            }
        }
コード例 #11
0
        public static string ObtenerGestoresAlertas()
        {
            StringBuilder sb = new StringBuilder();
            string        sDenominacionG1 = "";

            try
            {
                sb.Append(@"<table id='tblNegocios' style='width:560px;' cellpadding='0' cellspacing='0' border='0'>
                        <colgroup> 
                            <col style='width:35px;' />
                            <col style='width:245px;' />
                            <col style='width:280px;' />
                        </colgroup>
                        <tbody>");

                int     i  = 0;
                DataSet ds = SUPER.DAL.GESTALERTAS.ObtenerGestoresAlertas(null);
                //Tabla[0] -> Negocios
                //Tabla[1] -> Gestores
                foreach (DataRow oFila in ds.Tables[0].Rows)
                {
                    sb.Append("<tr id='" + oFila["t392_idsupernodo2"].ToString() + "' class='" + ((i % 2 == 0)?"FA":"FB") + "' valign='top'>");
                    sb.Append("<td style='text-align:center; padding-top:3px;'><input type='checkbox' class='check' style='cursor:pointer;' /></td>");
                    sb.Append("<td onmouseover='TTip(event)' style='padding-top:5px;'><nobr class='NBR W270'>" + oFila["t392_denominacion"].ToString() + "</nobr></td>");
                    sb.Append("<td>");//Gestores grupo 1
                    #region Gestores grupo 1
                    sb.Append(@"<table id='tblGestoresG1_" + oFila["t392_idsupernodo2"].ToString() + @"' style='width:280px;' cellpadding='0' cellspacing='0' border='0'>
                            <colgroup> 
                                <col style='width:20px;' />
                                <col style='width:260px;' />
                            </colgroup>
                            <tbody>");
                    foreach (DataRow oFilaGes in ds.Tables[1].Rows)
                    {
                        //if ((byte)oFilaGes["t821_idgrupoalerta"] != 1) continue;
                        if ((int)oFilaGes["t392_idsupernodo2"] == (int)oFila["t392_idsupernodo2"])
                        {
                            sb.Append("<tr id='" + oFilaGes["t314_idusuario"].ToString() + "' onclick='mef(this)' ");
                            sb.Append("idSN2='" + oFila["t392_idsupernodo2"].ToString() + "' >");
                            sb.Append("<td><img src='../../../Images/imgUsu" + oFilaGes["tipo"].ToString() + oFilaGes["t001_sexo"].ToString() + ".gif' /></td>");
                            sb.Append("<td onmouseover='TTip(event)'><nobr class='NBR W250 MANO'>" + oFilaGes["Gestor"].ToString() + "</nobr></td>");
                            sb.Append("</tr>");
                        }
                        else if ((int)oFilaGes["t392_idsupernodo2"] > (int)oFila["t392_idsupernodo2"])
                        {
                            break;
                        }
                    }
                    sb.Append(@"</tbody>
                            </table>");
                    #endregion

                    sb.Append("</td>");
                    sb.Append("</tr>");

                    i++;
                }

                sDenominacionG1 = ds.Tables[2].Rows[1]["t821_denominacion"].ToString();

                ds.Dispose();
                sb.Append("</tbody>");
                sb.Append("</table>");

                return("OK@#@" + sb.ToString() + "@#@" + sDenominacionG1);
            }
            catch (Exception ex)
            {
                return("Error@#@" + Errores.mostrarError("Error al obtener los gestores.", ex));
            }
        }
コード例 #12
0
        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);
                }
                throw (new Exception("Error al abrir la conexión. " + ex.Message));
            }
            #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.Capa_Datos.USUSINAVISOVTO.Insert(tr, int.Parse(aValores[1]));
                            if (sElementosInsertados == "")
                            {
                                sElementosInsertados = aValores[1];
                            }
                            else
                            {
                                sElementosInsertados += "//" + aValores[1];
                            }
                            break;

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

                #endregion

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del profesional", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            sResul = "OK@#@" + sElementosInsertados;
            return(sResul);
        }
コード例 #13
0
        public static string Grabar(string strDatos)
        {
            string         sElementosInsertados = "";
            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

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

            try
            {
                if (strDatos != "") //No se ha modificado nada
                {
                    string[] aDatos = Regex.Split(strDatos, "///");
                    foreach (string oDatos in aDatos)
                    {
                        if (oDatos == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oDatos, "##");

                        ///aValores[0] = bd
                        ///aValores[1] = t828_anomes
                        ///aValores[2] = t828_limitealertas

                        SUPER.Capa_Datos.LIMITEALERTAS.Update(tr, int.Parse(aValores[1]), (aValores[2] == "") ? null : (DateTime?)DateTime.Parse(aValores[2]));
                    }
                }
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al actualizar la fecha límite de alertas para dialogos.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            sResul = sElementosInsertados;
            return("OK@#@" + sResul);
        }
コード例 #14
0
        public static string Grabar(string sUpdate)
        {
            SqlConnection  oConn = null;
            SqlTransaction tr;

            string sResul = "";
            string sKey   = "";

            //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);
                }
                throw new Exception(Errores.mostrarError("Error al abrir la conexión", ex));
            }
            #endregion
            try
            {
                #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] = nivel
                        ///aUpd[2] = activo
                        ///
                        if (Utilidades.isNumeric(aUpd[0]))
                        {
                            sKey = aUpd[0];
                        }
                        else
                        {
                            sKey = aUpd[0].Substring(3, aUpd[0].Length - 3);
                        }

                        if (aUpd[1] == "1")
                        {
                            SUPER.DAL.PAIS.ActivarDesactivar(tr, int.Parse(sKey), (aUpd[2] == "1") ? true : false);
                        }
                        else if (aUpd[1] == "2")
                        {
                            SUPER.DAL.PROVINCIA.ActivarDesactivar(tr, int.Parse(sKey), (aUpd[2] == "1") ? true : false);
                        }
                    }
                }
                #endregion

                Conexion.CommitTransaccion(tr);

                //if (HttpContext.Current.Cache["Lista_Ambitos"] != null)
                //    HttpContext.Current.Cache.Remove("Lista_Ambitos");

                //sResul = sInsertados;
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                throw ex;
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
            return(sResul);
        }
コード例 #15
0
        /// <summary>
        /// Correos de petición de borrado en CVT
        /// </summary>
        /// <param name="sDatosCorreo"></param>
        /// <param name="sMotivo"></param>
        /// <returns></returns>

        public static string EnviarPetBorrado(string sTipo, string sDatosCorreo, string sMotivo)
        {
            string        sResul = "";
            ArrayList     aListCorreo = new ArrayList();
            StringBuilder sbuilder = new StringBuilder();
            string        sAsunto = "";
            string        sTexto = "", sTexto1 = "";
            string        sTO = "";

            try
            {
                sTO     = System.Configuration.ConfigurationManager.AppSettings["CorreoFormacion"].ToString();
                sTexto1 = "Os informamos de que han solicitado eliminar el siguiente registro de un CV:";
                switch (sTipo)
                {
                case "FR":    //formación recibida
                    sAsunto = "Petición de borrado de una acción formativa recibida y existente por En Forma.";
                    break;

                case "FI":    //formación impartida
                    sAsunto = "Petición de borrado de una acción formativa impartida y existente por En Forma.";
                    sTexto1 = "Os informamos de que han solicitado eliminar el siguiente registro de un CV, como monitor interno: ";
                    break;

                case "EI":    //Experiencia profesional en Ibermática
                    sAsunto = "Petición de borrado de una experiencia profesional en Ibermática.";
                    break;

                case "PE":    //Perfil de Experiencia profesional
                    sAsunto = "Petición de borrado de un perfil de una experiencia profesional.";
                    break;

                case "EX":    //Examen
                    sAsunto = "Petición de borrado de un examen validado.";
                    sTO     = System.Configuration.ConfigurationManager.AppSettings["CorreoCertificaciones"].ToString();
                    break;

                case "CE":    //Certificados
                    sAsunto = "Petición de borrado de un certificado validado.";
                    sTO     = System.Configuration.ConfigurationManager.AppSettings["CorreoCertificaciones"].ToString();
                    break;
                }

                string[] aDatos = Regex.Split(sDatosCorreo, "#/#");
                sbuilder.Append(@"<BR>" + sTexto1 + "<BR><BR>");
                sbuilder.Append("<label style='width:140px'><b>Solicitante: </b></label>" + aDatos[0] + "<br />");
                sbuilder.Append("<label style='width:140px'><b>CV del Profesional: </b></label>" + aDatos[1] + "<br />");
                sbuilder.Append("<label style='width:140px'><b>Apartado del CV: </b></label>" + aDatos[2] + "<br />");
                sbuilder.Append("<label style='width:140px'><b>Registro a eliminar: </b></label>" + aDatos[3] + "<br />");
                sbuilder.Append("<label style='width:400px'><b>Motivo por el que se solicita la eliminación: </b></label><br />" + sMotivo + "<br />");

                if (sTO != "")
                {
                    //sTO = sTO.Replace(";", @"/");
                    sTexto = sbuilder.ToString();
                    //El último parámetro indica que no se debe mostrar la línea del cuerpo del mensaje
                    string[] aMail = { sAsunto, sTexto, sTO, "N" };
                    aListCorreo.Add(aMail);

                    Correo.EnviarCorreosContacto(aListCorreo);
                }
                sResul = "OK@#@";
            }
            catch (Exception ex)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al enviar correo de petición de borrado.", ex);
            }
            return(sResul);
        }
コード例 #16
0
        public static string Grabar(string strProvincias)
        {
            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr;

            #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);
                }

                string   sError = Errores.mostrarError("Error al abrir la conexión", ex);
                string[] aError = Regex.Split(sError, "@#@");
                throw new Exception(Utilidades.escape(aError[0]), ex);
            }
            #endregion
            try
            {
                #region Datos Provincias
                if (strProvincias != "")//No se ha modificado nada de la pestaña de Figuras
                {
                    string[] aProvincias = Regex.Split(strProvincias, "///");
                    foreach (string oProvincia in aProvincias)
                    {
                        if (oProvincia == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oProvincia, "##");
                        ///aValores[0] = id provincia
                        ///aValores[1] = id zona

                        SUPER.DAL.PROVINCIA.UpdateZona(tr, int.Parse(aValores[0]), int.Parse(aValores[1]));
                    }
                }

                #endregion

                Conexion.CommitTransaccion(tr);
                sResul = "";
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                //string sError = Errores.mostrarError("Error al grabar los datos de la provincia", ex);
                //string[] aError = Regex.Split(sError, "@#@");
                //throw new Exception(Utilidades.escape(aError[0]), ex);
                throw ex;
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
            return(sResul);
        }
コード例 #17
0
        public static void EstablecerAlertaDetalleProyecto(string sDatosAlertas)
        {
            string         sResul = "";
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

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

            try
            {
                string[] aDatosAlertas = Regex.Split(sDatosAlertas, "{sepreg}");
                foreach (string sDatos in aDatosAlertas)
                {
                    if (sDatos == "")
                    {
                        continue;
                    }
                    string[] aValores = Regex.Split(sDatos, "{sep}");
                    ///aValores[0] = sPSN
                    ///aValores[1] = id alerta
                    ///aValores[2] = activado
                    ///aValores[3] = inicio standby
                    ///aValores[4] = fin standby
                    ///aValores[5] = seguimiento
                    SUPER.Capa_Datos.PSNALERTAS.EstablecerAlertaDetalleProyecto(tr, int.Parse(aValores[0]),
                                                                                byte.Parse(aValores[1]),
                                                                                (aValores[2] == "1") ? true : false,
                                                                                (aValores[3] == "") ? null : (int?)int.Parse(aValores[3]),
                                                                                (aValores[4] == "") ? null : (int?)int.Parse(aValores[4]),
                                                                                Utilidades.unescape(aValores[5])
                                                                                );
                }

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al grabar las alertas.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }

            try
            {
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #18
0
        public static 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.AbrirTransaccion(oConn);
            }
            catch (Exception ex)
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión. " + ex.Message));
            }
            #endregion

            try
            {
                #region Alertas globales
                if (strDatos != "") //No se ha modificado nada
                {
                    string[] aDatos = Regex.Split(strDatos, "///");
                    foreach (string oDatos in aDatos)
                    {
                        if (oDatos == "")
                        {
                            continue;
                        }
                        string[] aValores = Regex.Split(oDatos, "##");

                        ///aValores[0] = ID
                        ///aValores[1] = ALERTAS ACTUALES
                        ///aValores[2] = ALERTAS FUTURAS

                        if (aValores[1] != "")
                        {
                            SUPER.Capa_Datos.ALERTAS.UpdatePSNAlertas(tr, byte.Parse(aValores[0]), aValores[1]);
                        }
                        if (aValores[2] != "")
                        {
                            SUPER.Capa_Datos.ALERTAS.UpdateNodoAlertas(tr, byte.Parse(aValores[0]), aValores[2]);
                        }
                    }
                }
                #endregion
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al actualizar las alertas de nodo o proyecto.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            return("OK@#@");
        }