A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Shop Notas de implementação [Exercício da Disciplina de ADAV]

Apresentações semelhantes


Apresentação em tema: "Shop Notas de implementação [Exercício da Disciplina de ADAV]"— Transcrição da apresentação:

1 Shop Notas de implementação [Exercício da Disciplina de ADAV] http://www.dei.isep.ipp.pt/~jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf http://www.dei.isep.ipp.pt/~jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf

2 1 Base de Dados - Sales

3 2 Interfaces Códigos de Status – Retorno de alguns métodos // // Definição dos códigos de status que poderão ser retornados // public enum ShopStatusEnum { OK = 1, NOT_OK = 0, INVALID_LOGIN = -1, INVALID_KEY = -2, INVALID_CUSTOMER_ID = -3, INVALID_PRODUCT_ID = -4, INSUFICIENT_STOCK = -5, ERROR = -6 } User public interface IUser { ShopStatusEnum Validate(string user, string pass); }

4 3

5 4 Customer public interface ICustomer { // devolve os dados do cliente com um dado id DataSet GetByID(string user, string pass, long clientID); // devolve os dados de todos os clientes cujo nome obedeça ao padrão de pesquisa DataSet FindByName( string user, string pass, string namePattern); // Adiciona um novo cliente e retorna o respectivo ID gerado automaticamente na BD long Add( string user, string pass, string name, string address,string phone, string fax, string email, out ShopStatusEnum status); // actualiza os dados do cliente identificado pelo id ShopStatusEnum Update( string user, string pass, long custumerID, string name, string address, string phone, string fax, string eMail); }

6 5

7 6 Cliente do componente Usar DALC Customer // página.aspx de pesquisa … using ShopClassLibrary … string user=…; string pass=…; ICustomer customer=new Customer(); // chamada ao método GetByID da classe Customer.cs DataSet ds = customer.GetByID(user, pass, idcustomer); // método devolve null se não encontrar If ( ds!=null ) …

8 7 DAL Classe Customer.cs public DataSet GetByID(string user, string pass, long clientID) { OleDbConnection conn = null; DataSet ds = null; try { // criar objecto de conexão à base de dados e abrir a conexão conn = new OleDbConnection(UtilDB.CONN); conn.Open(); // validar utilizador ShopStatusEnum status = UtilDB.ValidateUser(conn, null, user, pass); if (status != ShopStatusEnum.OK) return null; // efectuar pesquisa ds = UtilDB.GetByID(conn, null, "Customers", "CustomerID", clientID); }

9 8 Classe Customer.cs - GetByID (cont.) catch(OleDbException ex) { // tratar a excepção!!!! System.Console.WriteLine("EXCEPÇÃO no método da classe 'Customer': " + ex.Message); } finally { // fechar a conexão if (conn.State == ConnectionState.Open) conn.Close(); } return ds; }

10 9 Classe UtilDB.cs static public DataSet GetByID (OleDbConnection conn, OleDbTransaction tx, string table, string keyName, long key) {DataSet ds = null; try {// criar objecto DataSet ds = new DataSet(); // criar um Datadapter para executar o comando e devolver o dataset string sSqlCmd = "Select * From "+ table + " Where "+ keyName + " = "+ key.ToString(); OleDbDataAdapter oAdapter = new OleDbDataAdapter(sSqlCmd, conn); oAdapter.SelectCommand.Transaction = tx; // executar o comando e preencher um Dataset oAdapter.Fill(ds, table); } catch(OleDbException ex) { // tratar a excepção!!!! System.Console.WriteLine("EXCEPÇÃO no método 'UtilDB.GetByID': " + ex.Message); ds = null; } return ds; }

11 10 Classe Sale

12 11 public class User : IUser { … public ShopStatusEnum Validate(string user, string pass) { return UtilDB.ValidateUser(user, pass); } … // validar Login IUser c = new User(); if (c.Validate(txtUsername.Text, txtPassword.Text) == ShopStatusEnum.OK) public interface IUser { ShopStatusEnum Validate(string user, string pass); }


Carregar ppt "Shop Notas de implementação [Exercício da Disciplina de ADAV]"

Apresentações semelhantes


Anúncios Google