/// <summary> /// Quando o botão do GridView é selecionado monta o modal para editar passando os dados da linha selecionada. /// </summary> protected void gvProdutos_RowCommand(object sender, GridViewCommandEventArgs e) { ProdutoModelView produto = new ProdutoModelView(); produto.IdProduto = Int32.Parse(e.CommandArgument.ToString()); List<ProdutoModelView> produtos = ListaProdutos(); foreach (var item in produtos) { if (item.IdProduto == produto.IdProduto) { produto = item; string[] valorEmReais = produto.ValorProduto.ToString().Split(new Char[] { ',' }); string valorReais = valorEmReais[0]; string valorCentavos = valorEmReais[1].Substring(0, 2); LabelNome.Text = produto.NomeProduto; txtMarca.Text = produto.MarcaProduto; var status = statusOperacoes.ListaStatus(); ddlStatusModal.DataValueField = "idStatus"; ddlStatusModal.DataTextField = "descricaoStatus"; ddlStatusModal.DataSource = status; ddlStatusModal.DataBind(); ddlStatusModal.SelectedIndex = produto.status.idStatus - 1; txtDz.Text = produto.DotzProduto.ToString(); txtValor.Text = valorReais; txtCentavos.Text = valorCentavos; txtQuantidade.Text = produto.QuantidateProduto.ToString(); txtDesc.Text = produto.DescricaoProduto; LabelID.Text = produto.IdProduto.ToString(); Modal.Visible = true; return; } } }
/// <summary> /// Metodo para retornar os campos nessesarios para o GridVid, porque a grid não aceita calsses com composição /// </summary> /// <param name="produtos">Uma lista de objetos produtos compostos</param> /// <returns>Retorna uma lista de um modelo do objeto produto</returns> public List<ProdutoModelView> CriarListaProdutoModalView(List<Produto> produtos) { List<ProdutoModelView> produtosModalView = new List<ProdutoModelView>(); foreach (var produto in produtos) { ProdutoModelView produtoModalView = new ProdutoModelView(); produtoModalView.IdProduto = produto.idProduto; produtoModalView.NomeFantasia = produto.parceiro.nome_fantasia; produtoModalView.DescricaoCategoria = produto.subCategoria.categoria.descricaoCategoria; produtoModalView.DescricaoSubCategoria = produto.subCategoria.descricaoSubCategoria; produtoModalView.DescricaoProdutoStatus = produto.status.descricaoStatus; produtoModalView.NomeProduto = produto.nomeProduto; produtoModalView.QuantidateProduto = produto.quantidadeProduto; produtoModalView.DescricaoProduto = produto.descricaoProduto; produtoModalView.MarcaProduto = produto.marcaProduto; produtoModalView.ValorProduto = produto.valorProduto; produtoModalView.DotzProduto = produto.dotzProduto; produtoModalView.dataCriacao = produto.dataCriacao; produtoModalView.dataDesativacao = produto.dataDesativacao; produtoModalView.status.idStatus = produto.status.idStatus; produtosModalView.Add(produtoModalView); } return produtosModalView; }
public List<ProdutoModelView> ListaProdutoBancoSubCategoriaStatus(string subcategoria, string status) { string comando = @"SELECT TOP 100 P.ID_PRODUTO, PA.NOME_FANTASIA_PARCEIRO, C.DESCRICAO_CATEGORIA, CS.DESCRICAO_CATEGORIA_SUB, PS.DESCRICAO_PRODUTO_STATUS, P.NOME_PRODUTO, P.QUANTIDADE_PRODUTO, P.DESCRICAO_PRODUTO, P.MARCA_PRODUTO, P.VALOR_PRODUTO, P.DOTZ_PRODUTO, P.DATA_CRIACAO, P.DATA_DESATIVACAO, P.ID_PRODUTO_STATUS FROM PRODUTO P WITH(NOLOCK) INNER JOIN PARCEIRO PA WITH(NOLOCK) ON P.ID_PARCEIRO = PA.ID_PARCEIRO INNER JOIN CATEGORIA_SUB CS WITH(NOLOCK) ON P.ID_CATEGORIA_SUB = CS.ID_CATEGORIA_SUB INNER JOIN CATEGORIA C WITH(NOLOCK) ON CS.ID_CATEGORIA = C.ID_CATEGORIA INNER JOIN PRODUTO_STATUS PS WITH(NOLOCK) ON P.ID_PRODUTO_STATUS = PS.ID_PRODUTO_STATUS WHERE P.ID_CATEGORIA_SUB = @SUBCATEGORIA AND P.ID_PRODUTO_STATUS = @STATUS ORDER BY P.ID_PRODUTO DESC"; using (conn = new ConexaoBD()) { conn.openConnection(); SqlCommand cmd = new SqlCommand(comando, conn.getConnection()); cmd.Parameters.Add(new SqlParameter("@SUBCATEGORIA", subcategoria)); cmd.Parameters.Add(new SqlParameter("@STATUS", status)); var rd = cmd.ExecuteReader(); while (rd.Read()) { Produto produto = new Produto(); produto.idProduto = rd.GetInt32(0); produto.parceiro.nome_fantasia = rd.GetString(1); produto.subCategoria.categoria.descricaoCategoria = rd.GetString(2); produto.subCategoria.descricaoSubCategoria = rd.GetString(3); produto.status.descricaoStatus = rd.GetString(4); produto.nomeProduto = rd.GetString(5); produto.quantidadeProduto = rd.GetInt32(6); produto.descricaoProduto = rd.GetString(7); produto.marcaProduto = rd.GetString(8); produto.valorProduto = rd.GetDecimal(9); produto.dotzProduto = rd.GetInt32(10); produto.dataCriacao = rd.GetDateTime(11); var data_desativacao = rd.GetSqlDateTime(12); produto.dataDesativacao = data_desativacao.IsNull ? null : (DateTime?)Convert.ToDateTime(data_desativacao.Value); produto.status.idStatus = rd.GetInt32(13); produtos.Add(produto); } conn.closeConnection(); } var produtoModalView = new ProdutoModelView(); return produtoModalView.CriarListaProdutoModalView(produtos); }