예제 #1
0
 protected string grabar(Nullable <int> iGenDialog)
 {
     try
     {
         PARAMETRIZACIONSUPER.Update(iGenDialog, (iGenDialog != null)? (int?)Session["IDFICEPI_ENTRADA"]:null);
         return("OK@#@");
     }
     catch (Exception ex)
     {
         return("Error@#@" + Errores.mostrarError("Error al modificar el año/mes de generación de dialogos", ex));
     }
 }
    public string grabar(string sParametrizacion, string sTabla)
    {
        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
        {
            if (sParametrizacion != "")
            {
                //Con la cadena generamos una lista y la recorremos para grabar cada elemento
                string[] aDatos = Regex.Split(sParametrizacion, "#sCad#");
                Session["OCULTAR_AUDITORIA"]   = aDatos[2];
                Session["ALERTASPROY_ACTIVAS"] = (aDatos[5] == "1") ? true : false;
                Session["FORANEOS"]            = (aDatos[6] == "1") ? true : false;
                PARAMETRIZACIONSUPER.Update(tr,
                                            (aDatos[0] == "") ? 0 : decimal.Parse(aDatos[0]),
                                            byte.Parse(aDatos[1]),
                                            (aDatos[2] == "1") ? true : false,
                                            (aDatos[3] == "1") ? true : false,
                                            (aDatos[4] == "") ? 0 : decimal.Parse(aDatos[4]),
                                            (aDatos[5] == "1") ? true : false,
                                            (aDatos[6] == "1") ? true : false,//Mail CIA
                                            (aDatos[7] == "1") ? true : false,
                                            (aDatos[8] == "") ? 0 : int.Parse(aDatos[7])
                                            );
            }
            if (sTabla != "")
            {
                //Con la cadena generamos una lista y la recorremos para grabar cada elemento
                string[] aDatos2 = Regex.Split(sTabla, "#sFin#");
                for (int i = 0; i <= aDatos2.Length - 1; i++)
                {
                    string[] aElem = Regex.Split(aDatos2[i], "#sCad#");
                    TABLASAUDITSUPER.Update(tr,
                                            aElem[0],
                                            (aElem[1] == "1") ? true : false);
                }
            }
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = SUPER.Capa_Negocio.Errores.mostrarError("Error al grabar la parametrización.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
            if (sResul != "")
            {
                throw (new Exception(sResul));
            }
        }
        return(sResul);
    }