none
Usando camadas, como passar o resultado de variáveis? RRS feed

  • Pergunta

  • Pessoal.

    Estou precisando entender isso:

    Na Minha aplicação BLL eu tenho:

            private string _NomeUsuario;

     

            public string NomeUsuario

            {

                get { return _NomeUsuario; }

                set { _NomeUsuario = value; }

     

            }

     

    Na tela origem eu tenho:

      Tb_View_LoginBll classBll = new Tb_View_LoginBll();

      classBll.NomeUsuario = TabelaOrigem.NomeUsuario;

     

    Estar correto? Como eu consigo pegar o conteúdo na tela de destino?

    Agradeço

    quinta-feira, 1 de agosto de 2013 01:15

Todas as Respostas

  • Olá Itasouza, não entendi muito bem sua pergunta, mas de qualquer forma vou mostrar como trabalho com aplicações em camadas.

    No meu caso, gosto de trabalhar em 3 níveis (camadas) que são as seguintes:

    DAL - Acesso ao banco de dados;

    BLL - interface (entre aplicação e acesso a dados);

    MDL - modelo (usada pra transferência de variáveis entre camadas);

    APP - a aplicação em sí.

    a coisa funciona mais ou menos assim, vou dar um exemplo bem básico, tipo um cadastro de usuário e login;

    a camada MDL:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace MDL
    {
        public class sys_usuariosMDL
        {
            int id;
            string login, senha;
    
            public int ID { get { return id; } set { id = value; } }
            public string LOGIN { get { return login; } set { login = value; } }
            public string SENHA { get { return senha; } set { senha = value; }
        }
    }


    já na camada DAL:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using MDL;
    using MySql.Data.MySqlClient;
    using System.Data;
    
    namespace DAL
    {
        public static class sys_usuariosDAL
        {
            public static void InserirDAL(sys_usuariosMDL mdlLocal)
            {
                MySqlConnection con = StringConn.conn();
                MySqlCommand sqlCom = null;
                try
                {
                    sqlCom = new MySqlCommand("INSERT INTO nomedobanco.nomedatabela (id,login,senha) VALUES (@ID,@LOGIN,@SENHA);", con);
                    sqlCom.Parameters["@ID"].Value = mdlLocal.ID;
                    sqlCom.Parameters["@LOGIN"].Value = mdlLocal.LOGIN;
                    sqlCom.Parameters["@SENHA"].Value = mdlLocal.SENHA;
                    con.Open();
                    sqlCom.ExecuteNonQuery();
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                finally
                {
                    con.Close();
                }
            }
    
    
            public static void AtualizarDAL(sys_usuariosMDL mdlLocal)
            {
                MySqlConnection con = StringConn.conn();
                MySqlCommand sqlCom = null;
                try
                {
                    sqlCom = new MySqlCommand("UPDATE nomedobanco.nomedatabela SET id = @ID,login = @LOGIN,senha = @SENHA", con);
                    sqlCom.Parameters["@ID"].Value = mdlLocal.ID;
                    sqlCom.Parameters["@LOGIN"].Value = mdlLocal.LOGIN;
                    sqlCom.Parameters["@SENHA"].Value = mdlLocal.SENHA;
                    con.Open();
                    sqlCom.ExecuteNonQuery();
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                finally
                {
                    con.Close();
                }
            }
    
    
            public static void DeletarDAL(int id)
            {
                MySqlConnection con = StringConn.conn();
                MySqlCommand sqlCom = null;
                try
                {
                    sqlCom = new MySqlCommand("DELETE * FROM nomedobanco.nomedatabela WHERE id = " + id + ";", con);
                    con.Open();
                    sqlCom.ExecuteNonQuery();
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                finally
                {
                    con.Close();
                }
            }
    
    
            public static sys_usuariosMDL MostrarDAL(int id)
            {
                sys_usuariosMDL mdlLocal = new sys_usuariosMDL();
                MySqlConnection con = StringConn.conn();
                MySqlCommand sqlCom = new MySqlCommand("SELECT * FROM nomedobanco.nomedatabela WHERE id = " + id + ";", con);
                MySqlDataReader dr = null;
                try
                {
                    con.Open();
                    dr = sqlCom.ExecuteReader();
                    while (dr.Read())
                    {
                        mdlLocal.ID = Convert.ToInt16(dr["id"].ToString());
                        mdlLocal.LOGIN = dr["login"].ToString();
                        mdlLocal.SENHA = dr["senha"].ToString();
                    }
                    return mdlLocal;
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                finally
                {
                    con.Close();
                }
            }
    
    
            public static DataTable ListarDAL()
            {
                MySqlConnection con = StringConn.conn();
                MySqlCommand sqlCom = null;
                MySqlDataAdapter adt = null;
                DataTable dtb = null;
                try
                {
                    sqlCom = new MySqlCommand("SELECT * FROM nomedobanco.nomedatabela;", con);
                    adt = new MySqlDataAdapter(sqlCom);
                    dtb = new DataTable();
                    adt.Fill(dtb);
                    return dtb;
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                finally
                {
                    con.Close();
                }
            }
        }
    }

    note que cada vez que tenho que passar informações (tanto pra inserção no banco, quanto para retorno de valores, utilizo o MDL que criei na sua devida camada);

    na camada BLL (interface), teremos:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using MDL;
    using DAL;
    using MySql.Data.MySqlClient;
    using System.Data;
    
    namespace BLL
    {
        public class sys_usuariosBLL
        {
            public static void InserirBLL(sys_usuariosMDL mdlLocal)
            {
                sys_usuariosMDL mdlLocalBLL = new sys_usuariosMDL();
                try
                {
                    sys_usuariosDAL.InserirDAL(mdlLocal);
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
            }
    
            public static void AtualizarBLL(sys_usuariosMDL mdlLocal)
            {
                try
                {
                    sys_usuariosDAL.AtualizarDAL(mdlLocal);
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
            }
    
            public static void DeletarBLL(int id)
            {
                try
                {
                    sys_usuariosDAL.DeletarDAL(id);
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
            }
    
            public static sys_usuariosMDL MostrarBLL(int id)
            {
                sys_usuariosMDL mdlLocalBLL = new sys_usuariosMDL();
                try
                {
                    mdlLocalBLL = sys_usuariosDAL.MostrarDAL(id);
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                return mdlLocalBLL;
            }
    
            public static DataTable ListarBLL()
            {
                DataTable dtb = new DataTable();
                try
                {
                    dtb = sys_usuariosDAL.ListarDAL();
                }
                catch (MySqlException erro)
                {
                    throw erro;
                }
                return dtb;
            }
        }
    }

    por fim, a aplicação.aspx:

    <asp:Label ID="lblUsuario" runat="server" Text="Usuário"></asp:Label>
            <asp:TextBox ID="txtUsuario" runat="server"></asp:TextBox>
    <asp:Label ID="lblSenha" runat="server" Text="Senha"></asp:Label>
            <asp:TextBox ID="txtSenha" runat="server"></asp:TextBox>
    <asp:Button ID="btnInserir" runat="server" Text="Inserir" OnClick="btnInserir_Click" />
    <asp:Button ID="btnAtualiza" runat="server" Text="Atualizar" OnClick="btnInserir_Click" />
    <asp:Button ID="btnDeletar" runat="server" Text="Deletar" OnClick="btnInserir_Click" />

    e no codebihind:

    protected void btnInserir_Click(object sender, EventArgs e)
            {
                sys_usuariosMDL mdlLocal = new sys_usuariosMDL ();
    
                mdlLocal.USUARIO = txtUsuario.Text;
                mdlLocal.SENHA= txtSenha.Text;
                
    
                try
                {
                    sys_usuariosBLL.InserirBLL(mdlLocal);
                }
                catch (Exception erro)
                {
                    throw erro;
                }            
            }
    protected void btnAtualizar_click(object sender, EventArgs e)
            {
                sys_usuariosMDL mdlLocal = new sys_usuariosMDL ();
    
                mdlLocal.USUARIO = txtUsuario.Text;
                mdlLocal.SENHA= txtSenha.Text;
                
    
                try
                {
                    sys_usuariosBLL.AtualizarBLL(mdlLocal);
                }
                catch (Exception erro)
                {
                    throw erro;
                }            
            }
    protected void btnDeletar_click(object sender, EventArgs e)
            {
                sys_usuariosMDL mdlLocal = new sys_usuariosMDL ();
    
                mdlLocal.ID = int.Parse(Request.QueryString["id"].ToString()); //um exemplo
    mdlLocal.USUARIO = txtUsuario.Text;
                mdlLocal.SENHA= txtSenha.Text;
                
    
                try
                {
                    sys_usuariosBLL.DeletarBLL(mdlLocal);
                }
                catch (Exception erro)
                {
                    throw erro;
                }            
            }

    Acho que seria isso, estamos aí, qualquer coisa, prende o grito!


    Se não conseguir vencer pelo talento, vença pelo esforço!


    • Editado WagnerFigueiredo quinta-feira, 1 de agosto de 2013 05:06 erro ortográficos
    • Sugerido como Resposta Alysson Queiroz terça-feira, 6 de agosto de 2013 14:43
    quinta-feira, 1 de agosto de 2013 05:05