Escolar Documentos
Profissional Documentos
Cultura Documentos
A nossa classe clsPessoa, ser abstrata, ou seja, ela no poder ser instanciada
diretamente. Vamos escrever o cdigo para criao de nossos atributos e
mtodos conforme o nosso diagrama de classes:
public abstract class clsPessoa
{
//Definindo propriedades
private long _cod;
private string _nome;
private string _email;
private string _telefone;
private string _login;
private string _senha;
public long cod
{
get{return _cod;}
set{_cod = value;}
}
public string nome
{
get{return _nome;}
set{_nome = value;}
}
public string email
{
get{return _email;}
set{_email = value;}
}
catch(Exception ex)
dois mtodos (excluir e autenticar) que fazem a mesma coisa tanto para
pessoa fsica quanto para pessoa jurdica, portanto, necessrio implementlos apenas na superclasse e herd-los em nossas subclasses. Para isso,
utilizamos o modificador virtual. Agora, temos que implementar as nossas
duas subclasses (clsPessoaFis e clsPessoaJur) herdando de nossa classe
abstrata clsPessoa. Primeiro, vamos implementar os atributos da nossa
classe clsPessoaFis conforme nosso diagrama de classes:
public class clsPessoaFis : clsPessoa
{
private string _cpf;
private DateTime _dtnasc;
private string _rg;
public string cpf
{
get{return _cpf;}
set{_cpf = value;}
}
public DateTime dtnasc
{
get{return _dtnasc;}
set{_dtnasc = value;}
}
public string rg
{
get{return _rg;}
set{_rg = value;}
}
public clsPessoaFis()
{
this.cod = 0;
this.email = "";
this.telefone = "";
this.login = "";
this.senha = "";
this.cpf = "";
this.rg = "";
}
public clsPessoaFis(long cod, string nome, string email, string telefone, string
login,
string senha, string cpf, DateTime dtnasc, string rg)
{
this.cod = cod;
this.nome = nome;
this.email = email;
this.telefone = telefone;
this.login = login;
this.senha = senha;
this.cpf = cpf;
this.dtnasc = dtnasc;
this.rg = rg;
}
}
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.Message.ToString());
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.ToString());
}
finally
{
conn.Close();
conn.Dispose();
cmd.Dispose();
}
}
A implementao para a nossa classe clsPessoaJur similar a implementao
que fizemos acima. Portanto, colocarei o cdigo completo da classe abaixo:
public class clsPessoaJur : clsPessoa
{
private string _cnpj;
private string _razao_social;
private string _insc_estatual;
public string cnpj
{
get{return _cnpj;}
set{_cnpj = value;}
}
public string razao_social
{
get{return _razao_social;}
set{_razao_social = value;}
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.Message.ToString());
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.ToString());
}
finally
{
conn.Close();
conn.Dispose();
cmd.Dispose();
}
[WebMethod]
public void incluirPJ(string nome, string email, string telefone, string login, string
senha,
string cnpj, string razao_social, string insc_estadual)
{
clsPessoaJur objPessoa = new clsPessoaJur();
objPessoa.nome = nome;
objPessoa.email = email;
objPessoa.telefone = telefone;
objPessoa.login = login;
objPessoa.senha = senha;
objPessoa.cnpj = cnpj;
objPessoa.razao_social = razao_social;
objPessoa.insc_estatual = insc_estadual;
objPessoa.incluir();
}
[WebMethod]
public void alterarPF(long cod, string nome, string email, string telefone, string
login,
string senha, string cpf, DateTime dtnasc, string rg)
{
clsPessoaFis objPessoa = new clsPessoaFis();
objPessoa.cod = cod;
objPessoa.nome = nome;
objPessoa.email = email;
objPessoa.telefone = telefone;
objPessoa.login = login;
objPessoa.senha = senha;
objPessoa.cpf = cpf;
objPessoa.dtnasc = dtnasc;
objPessoa.rg = rg;
objPessoa.alterar();
}
[WebMethod]
public void alterarPJ(long cod, string nome, string email, string telefone, string
login,
string senha, string cnpj, string razao_social, string insc_estadual)
{
clsPessoaJur objPessoa = new clsPessoaJur();
objPessoa.cod = cod;
objPessoa.nome = nome;
objPessoa.email = email;
objPessoa.telefone = telefone;
objPessoa.login = login;
objPessoa.senha = senha;
objPessoa.cnpj = cnpj;
objPessoa.razao_social = razao_social;
objPessoa.insc_estatual = insc_estadual;
objPessoa.alterar();
}
[WebMethod]
public DataSet obterPF(long cod)
{
clsPessoa objPessoa = new clsPessoaFis();
objPessoa.cod = cod;
return objPessoa.obter();
}
[WebMethod]
public DataSet obterPJ(long cod)
{
clsPessoa objPessoa = new clsPessoaJur();
objPessoa.cod = cod;
return objPessoa.obter();
}
[WebMethod]
public void excluir(long cod)
{
clsPessoa objPessoa = new clsPessoaFis();
objPessoa.cod = cod;
objPessoa.excluir();
}
[WebMethod]
public long autenticar(string login, string senha)
{
clsPessoa objPessoa = new clsPessoaFis();
objPessoa.login = login;
objPessoa.senha = senha;
long cod = objPessoa.autenticar();
return cod;
}