Exemplo n.º 1
0
    protected string Grabar(string sCR, string strFunciones)
    {
        string sResul = "", sDesc = "";

        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }

        try
        {
            string[] aFun = Regex.Split(strFunciones, "///");
            foreach (string oFun in aFun)
            {
                string[] aValores = Regex.Split(oFun, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Origen
                //2. Descripcion
                //3. Notificable
                //4. E-Mail
                sDesc = Utilidades.unescape(aValores[2]);
                bool bNotificable = false;
                if (aValores[3] == "1")
                {
                    bNotificable = true;
                }
                bool bEstado = false;
                if (aValores[5] == "1")
                {
                    bEstado = true;
                }
                switch (aValores[0])
                {
                case "I":
                    TAREAORIGEN.Insert(tr, Utilidades.unescape(aValores[2]), Utilidades.unescape(aValores[4]), short.Parse(sCR),
                                       bNotificable, bEstado);
                    break;

                case "U":
                    TAREAORIGEN.Update(tr, short.Parse(aValores[1]), Utilidades.unescape(aValores[2]), Utilidades.unescape(aValores[4]),
                                       short.Parse(sCR), bNotificable, bEstado);
                    break;

                case "D":
                    TAREAORIGEN.Delete(tr, short.Parse(aValores[1]));
                    break;
                }
            }
            Conexion.CommitTransaccion(tr);

            string[] aTabla = Regex.Split(ObtenerOrigenes(sCR), "@#@");
            sResul = "OK@#@" + aTabla[1];
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al actualizar los orígenes.", ex) + "@#@" + sDesc;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }