shop notas de implementação [exercício da disciplina de adav]...
TRANSCRIPT
![Page 1: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/1.jpg)
ShopNotas de implementação[Exercício da Disciplina de ADAV]http://www.dei.isep.ipp.pt/~jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf
![Page 2: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/2.jpg)
2
Base de Dados - Sales
![Page 3: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/3.jpg)
3
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);}
![Page 4: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/4.jpg)
4
![Page 5: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/5.jpg)
5
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 pesquisaDataSet FindByName( string user, string pass, string namePattern);
// Adiciona um novo cliente e retorna o respectivo ID gerado automaticamente na BDlong 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 idShopStatusEnum Update( string user, string pass, long custumerID, string name,
string address, string phone, string fax, string eMail);}
![Page 6: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/6.jpg)
6
![Page 7: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/7.jpg)
7
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.csDataSet ds = customer.GetByID(user, pass, idcustomer);// método devolve null se não encontrarIf ( ds!=null )
…
![Page 8: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/8.jpg)
8
DAL Classe Customer.cspublic 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ãoconn = new OleDbConnection(UtilDB.CONN);conn.Open();
// validar utilizadorShopStatusEnum status = UtilDB.ValidateUser(conn, null, user, pass);if (status != ShopStatusEnum.OK)
return null;// efectuar pesquisa
ds = UtilDB.GetByID(conn, null, "Customers", "CustomerID", clientID);
}
![Page 9: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/9.jpg)
9
Classe Customer.cs - GetByID (cont.)catch(OleDbException ex)
{ // tratar a excepção!!!!
System.Console.WriteLine("EXCEPÇÃO no método <GetByID> da classe 'Customer': " + ex.Message);
}finally{// fechar a conexão
if (conn.State == ConnectionState.Open)conn.Close();
}
return ds;}
![Page 10: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/10.jpg)
10
Classe UtilDB.csstatic public DataSet GetByID (OleDbConnection conn, OleDbTransaction tx, string
table, string keyName, long key){ DataSet ds = null;
try{ // criar objecto DataSetds = new DataSet();// criar um Datadapter para executar o comando e devolver o datasetstring sSqlCmd = "Select * From "+ table + " Where "+ keyName + " = "+
key.ToString();OleDbDataAdapter oAdapter = new OleDbDataAdapter(sSqlCmd, conn);oAdapter.SelectCommand.Transaction = tx;// executar o comando e preencher um DatasetoAdapter.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;}
![Page 11: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/11.jpg)
11
Classe Sale
![Page 12: Shop Notas de implementação [Exercício da Disciplina de ADAV] jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf jtavares/ADAV/downloads/ADAV_Proj_Rreferencia.pdf](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc0fc497959413d8ba1d0/html5/thumbnails/12.jpg)
12
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);}