sábado, 15 de novembro de 2008
Publicação do sistema de autenticação
A configuração do ficheiro web.config é essencial para que o sistema de autenticação esteja a funcionar devidamente no Host Provider. Além de configurar a tag connectionString é necessário configurar outros items senão irá aparecer um erro ( Error 26 - SQL). Vejam o seguinte para link efectuar as devidas correcções -> Error 26
Leitura de dados - Base de Dados

Depois de ter configurado a camada DAL e os Stored Procedures decidi efectuar testes de leitura à base de dados. Para isso adicionei manualmente na tabela stc_Categorias a 1º linha através do SQL Management Studio Express, em seguida criei a página Teste.aspx constituido pelo controlo ObjectDataSource com o TypeName=namespace e onde vamos invocar os Stored Procedures, (neste caso Estudioc.DAL.SqlClient.SQLArtigos) com o método ObtemCategorias ( que invoca o Stored Procedure ) e um GridView para apresentação dos dados.
Procedeu-se à publicação da base de dados para o Host Provider. Sugiro o tutorial.
Nota: O exemplo AJAX foi removido já que interferia no web.config com a definição , situação para ser vista mais à frente
quinta-feira, 13 de novembro de 2008

Foram criados StoredProcedures para serem invocados pela DAL Layer.
Listagem dos Stored Procedures implementados:
stc_Artigo_AprovaArtigo
stc_Artigo_ApagaArtigo
stc_Artigo_Apaga Categoria
stc_Artigo_ApagaComentario
stc_Artigo_ObtemArtigoporID
stc_Artigo_ObtemNumerodeArtigos
stc_Artigo_ObtemNumerodeArtigosporCategoria
stc_Artigo_ObtemArtigos
stc_Artigo_ObtemArtigosPorCategoria
stc_Artigo_ObtemCategorias
stc_Artigo_ObtemCategoriasporID
stc_Artigo_ObtemComentarioporID
stc_Artigo_ObtemNumerodeComentarios
stc_Artigo_ObtemNumerodeComentariosporArtigo
stc_Artigo_ObtemComentarios
stc_Artigo_ObtemComentariosporArtigo
stc_Artigo_ObtemNumerodeArtigosPublicados
stc_Artigo_ObtemNumerodeArtigosPublicadosporCategoria
stc_Artigo_IncrementaContadorVisitas
stc_Artigo_InsereArtigo
stc_Artigo_InsereCategoria
stc_Artigo_InsereComentario
stc_Artigo_InsereVoto
stc_Artigo_ActualizaArtigo
stc_Artigo_ActualizaCategoria
stc_Artigo_ActualizaComentario
Foram criadas 3 classes denominadas Artigos_Detalhes, Categorias_Detalhes e Comentarios_Detalhes que contêm Propriedades (variáveis públicas) de cada um destes items.
Foi criada uma classe denominada AcessoDados contendo a leitura ao ficheiro web.config, e os métodos:
ExecuteNonQuery -MSDN->Executes a Transact-SQL statement against the connection and returns the number of rows affected
ExecuteReader -MSDN-> Provides a means of reading one or more forward-only streams of result sets obtained by executing a command at a data source, and is implemented by .NET Framework data providers that access relational databases.
ExecuteScalar - MSDN->Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored
Foi criada a classe ArtigosAbstracto derivada da AcessoDados com os métodos (abstractos ).
Foi criada a classe SQLArtigos derivada da ArtigosAbstracto com os métodos que fazem invocam os Stored Procedures.
Exemplo de um deles:
public override List ObtemCategorias()
{
using (SqlConnection cn = new SqlConnection(this.ConnectionString))
{
SqlCommand cmd = new SqlCommand("stc_Artigo_ObtemCategorias", cn);
cmd.CommandType = CommandType.StoredProcedure;
cn.Open();
return ObtemColecaoCategoria_Reader(ExecuteReader(cmd));
}
}
sábado, 8 de novembro de 2008
sexta-feira, 7 de novembro de 2008

A secção de Noticias traz desafios interessantes a nível de operações de C# com SQL. Nela se pretende que utilizadores nomeados a editores possam publicar artigos referentes a cada uma das categorias existentes e que os visitantes das páginas as possuam consultar e deixar os seus comentários
A imagem do lado apresenta todo o processo a implementar para que esta nova funcionalidade se torne uma realidade:
- São criadas 3 tabelas a nível de SQL (com relações entre elas). São elas: stc_Artigos, stc_Categorias, stc_Comentarios.
- São criados um conjunto de Stored Procedures para que se possa proceder a escrita/leitura das tabelas, despoletados por métodos em C#
- DAL (Data Access Layer), camada onde são descritos em C# todas as variáveis relativas a um artigo, uma classe abstracta onde com métodos CRUD (Create, Read, Update e Delete) e por uma classe derivada desta ultima com os comandos próprios de SQL que acciona os Stored Procedures
- BLL (Business Logic Layer) que permite além de aceder aos dados, reforçar a validação de rules, check constraints e providenciar uma representação em objectos dos dados e métodos.
- UI (User Interface) Criação de interface com apresentação de dados, normalmente através dos controlos ASP, Grid View, Repeater,etc
AJAX - Teste

Alguns problemas no meu SQL Server Express Edition que ainda estão a ser tratados levaram-me a optar por experimentar algo novo, o AJAX
Instalando o ASP.NET AJAX Extensions 1.0 para .NET Framework 2.0 ( as limitações da versão .NET devem-se ao "host provider") e configurando o ficheiro web.config conseguimos adicionar os elementos
Script Manager e Update Panel que nos permitem implementar com sucesso esta nova funcionalidade entre a Master Page e as Content Pages.
Nota: o texto que se encontra em movimento é obtido através da introdução da tab marquee
quinta-feira, 6 de novembro de 2008
Autenticação

Através do WebSite -> ASP.NET Configuration é possível configurar o nosso ficheiro ASPNETDB.MDF com toda a informação sobre as contas de utilizadores, Roles etc.
Neste caso foi criado um Role=Admin que permite acesso à pasta admin reservada apenas aos utilizadores com caracteristicas de Administração.
Nesta página temos configurado o ficheiro Gerir Contas que permite ao utilizador procurar por contas de utilizador e removê-las.
Cada novo visitante poderá se registar no website, criando uma nova conta com a possibilidade de configurar/alterar o seu perfil inclusivamente assim como alterar a sua password a qualquer altura.
Todo o código de "Editar o Perfil" foi embebido num "UserControl" (*.ascx). A vantagem deste controlo é não termos que repetir código quando procedemos à configuração do perfil quando criamos a conta pela 1ª vez e quando o o utilizador pretende alterar o seu perfil.
Fases seguintes: Publicação do ficheiro ASPNETDB.MDF no host e Inicio à Seccção de Noticias ( toda ela será configurada em SQL).
quarta-feira, 5 de novembro de 2008
Inicio do Diário

Portal - EstudioC
Este projecto baseia-se numa descoberta do mundo da programação mais concretamente o mundo do C# e ASP.NET como auto-didacta.
A minha paixão pela música leva-me a orientar os conteúdos deste portal para a música feita por Portugueses.
Ferramentas utilizadas:
GIMP
Visual Studio 2005 SP2
SQL Management Studio 2005 Express Edition
FileZilla FTP
.NET Framework 2.0
Nota: Esta diário não pretende ser uma descrição exaustiva de todos os pequenos pormenores deste portal mas sim indicar em traços gerais as linhas orientadoras do progresso deste projecto.
As fases deste projecto serão:
- Layout
- Sistema de Autenticação ( permitir a criação de contas de utilizadores com configuração de acessos a pastas )
- Noticias ( Conjunto de artigos que estarão assentes em Base de Dados - SQL com possibilidade de fazer a sua gestão, possibilitar aos utilizadores os comentários dos mesmos)
- Sistema de Votação
- Newsletters
- Fórums
1. Layout
Decidi por optar por um estilo blog para este portal por ser mais minimalista e poder concentrar-me mais na descoberta das linguagens de programação em causa do que no "fogo-de-artificio".
Utilizei uma template de um documento CSS para me ajudar a ter um alicerce atractivo e funcional. Na barra lateral do lado direito decidi optar por colocar o controlo "Login" para os visitantes terem a qualquer momento a possibilidade de se autenticarem .
2. Sistema de Autenticação (pt1)
A nível de C# a classe Membership terá que ser estudada nomeadamente os seus métodos para compreender como o Visual Studio 2005 lida com as conta de utilizadores.
Foi necessário configurar os campos dos perfis no ficheiro web.config para podermos guardar o perfil para cada utilizador. Os campos são Nome,Apelido,Cidade, País, homepage, ligação com a música.
A Loja Virtual assim como o Fórum serão acedidos apenas por utilizadores registados.
Fase seguinte: Implementar o controlo Login, Configurar o Web Administration Tool, Configuração/Edição de Perfil para cada conta de utilizador com possibilidade de mudança de Password.
Subscrever:
Mensagens (Atom)