Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ricardo campaneli

Desenvolvimento em camadas

Recommended Posts

Galera estou com a seguinte duvida, todos os projetos que crio trabalho com o desenvolvimento em camadas, e em modulo de cadastro executo a procedure (sql server 2000), que me retorna se os dados foram inseridos ou não, gostaria de saber como eu passo este retorno para a primeira camada (Tela do usuario).

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo eu tambem trabalho em camadas e faço da seguinte forma:

O formview chama um class em c#

//<summary>

//Cria um novo cliente

//</summary>

//<param name="parentId"></param>

[system.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjec

tMethodType.Insert, false)]

public static int Insert(string cnpj, string empresa, string ender, string cep, string bairro, string cidade,

string uf, string fone, string email, string contato, string site, int status)

{

//Initialize command

SqlConnection con = new SqlConnection(_connectionString);

SqlCommand cmd = new SqlCommand("Clientes_Insert", con);

cmd.CommandType = CommandType.StoredProcedure;

 

// Initialize parameters

// verifica null

if (cnpj == "") return 0;

cnpj = Validate.onlyNumbers(cnpj);

if (empresa == null) return 0;

 

if (ender == null) ender = "";

if (cep == null) cep = "";

if (bairro == null) bairro = "";

if (cidade == null) cidade = "";

if (uf == null) uf = "";

if (fone == null) fone = "";

if (email == null) email = "";

if (contato == null) contato = "";

if (site == null) site = "";

 

// cmd.Parameters.AddWithValue("@bairro", dt);

cmd.Parameters.AddWithValue("@idDistrib", 0);

cmd.Parameters.AddWithValue("@idUsuario", 0);

cmd.Parameters.AddWithValue("@cnpj", cnpj);

cmd.Parameters.AddWithValue("@empresa", empresa);

cmd.Parameters.AddWithValue("@ender", ender);

cmd.Parameters.AddWithValue("@cep", cep);

cmd.Parameters.AddWithValue("@bairro", bairro);

cmd.Parameters.AddWithValue("@cidade", cidade);

cmd.Parameters.AddWithValue("@uf", uf);

cmd.Parameters.AddWithValue("@fone", fone);

cmd.Parameters.AddWithValue("@email", email);

cmd.Parameters.AddWithValue("@contato", contato);

cmd.Parameters.AddWithValue("@site", site);

cmd.Parameters.AddWithValue("@status", status);

 

int ret = 0;

 

// a var ret volta da stored procedure com o @@identity

cmd.Parameters.AddWithValue("@idCliente", ret);

cmd.Parameters["@idCliente"].Direction = ParameterDirection.Output;

 

using (con)

{

con.Open();

cmd.ExecuteNonQuery();

ret = Convert.ToInt32(cmd.Parameters["@idCliente"].Value.ToString());

return (ret); // retorna para o code-behind da pagina que o chamou

}

}

no code-behind - essa chamada é executada no retorno do class e é acionada pelo ObjectDataSource

 

<asp:ObjectDataSource ID="dsClientes" TypeName="Ridgid.Clientes" SelectMethod="SelectByCNPJ" Runat="server"

InsertMethod="Insert" OnInserted="grdClientes_Inserted" UpdateMethod="Update" OnUpdated="grdClientes_Updated">

 

/// <summary>

/// </summary>

protected void grdClientes_Inserted(object sender, ObjectDataSourceStatusEventArgs e)

{

TextBox _cnpj = (TextBox)formAdd.FindControl("cnpj");

if (_cnpj != null && _cnpj.Text=="")

{

formAddMsg.Text = "Por favor preencha todo o formulário";

return;

}

// se inseriu o id do cliente volta no e.ReturnValue

if (Convert.ToInt16(e.ReturnValue.ToString()) == -1)

formAddMsg.Text = "Este CNPJ já existe em nosso cadastro!";

else

{

pnlSearch.Visible = false;

formAdd.Visible = false;

formUpd.Visible = true;

formAddMsg.Text = "Cliente cadastrado com sucesso!";

}

}

Em todos os forms eu uso um div como abaixo justamente para mostrar mensagens do servidor.

<div style="text-align:center">

<asp:Label ID="formAddMsg" CssClass="legenda" style="color:#ff0000" Text="" runat="server"/>

</div>

 

 

Espero que isto ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET » Visual Studio .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Windows Applications

 

A idéia que o Lab passou é criar retornos para seus formulário, mas de uma olhada neste artigo, acredito que será útil:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=6504

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua função deve possuir um retorno, vamos supor que sua função retorne uma string, desta forma basta:

 

Label1.Text = SUA_FUNCAO(P1, P2)

Desta forma por exemplo seu formulário vai receber o retorno alimentando a propriedade text de uma label.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.