public static object EditarAgregar(
        string NombrePerfil, string Descripcion, string Prefijo,
        int ID,
        bool EsEditar)
    {
        try
        {
            DaoPerfil perfilDao = new DaoPerfil();

            GestionRoles gestRoles = new GestionRoles();

            //
            if (!EsEditar)
            {
                #region ("AGREGAR")


                bool resultado = false;
                #region (verificar si existe el rol por el prefijo)
                var existe = gestRoles.RoleExists(Prefijo);
                if (existe)
                {
                    return(new
                    {
                        Ok = "Error",
                        mensaje = "El perfil ya existe en nuestra base de datos, se identifica por el PREFIJO"
                    });
                }

                #endregion
                resultado = perfilDao.InsertPerfil(NombrePerfil, Descripcion, Prefijo);
                #region ("Resultado agregar")
                if (resultado)
                {
                    gestRoles.CreateRole(Prefijo);

                    return(new
                    {
                        Ok = "OK",
                        mensaje = "Se ha agregado el registro Correctamente"
                    });
                }
                else
                {
                    return(new
                    {
                        Ok = "error",
                        mensaje = "No se ha podido registrar el usuario."
                    });
                }
                #endregion
            }
            else
            {
                var resultado = perfilDao.ActualizarPerfil(NombrePerfil, Descripcion, ID);
                if (resultado)
                {
                    return(new
                    {
                        Ok = "OK",
                        mensaje = "Se ha Actualizado el registro Correctamente"
                    });
                }
                else
                {
                    return(new
                    {
                        Ok = "error",
                        mensaje = "No se ha podido Actualizar el registro ."
                    });
                }
            }


            #endregion
        }
        catch (Exception ex)
        {
            return(new
            {
                Ok = "Error",
                mensaje = "ha Ocurrido un error inesperado: " + ex.ToString()
            });
        }
    }