0
I have a form that searches all the bills registered in the system for the client code that was registered. When you find it, list all the notes in the listview. I was able to get him to look for the client, but he’s not listing the client’s notes. I don’t know where the mistake is!
What am I doing wrong?
using Entidades.Entidades;
using Entidades.Vendas;
using Negocio.NotasNG;
using Negocio.Vendas;
using projeto.Modulos;
using projeto.Notas;
using projeto.Pesquisas;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace projeto.Vendas
{
public partial class FrmAdmNotas : Form
{
public List<EntidadeViewPesquisaNota> lista = new List<EntidadeViewPesquisaNota>();
public int iRetorno = 0;
public FrmAdmNotas()
{
InitializeComponent();
MascaraCampoNumero.AplicarEventos(txt_CodigoCliente);
MascaraCampoNumero.AplicarEventos(txt_CodigoNota);
PrepararLista();
}
private void Bt_PesquisarCliente_Click(object sender, EventArgs e)
{
var lista = new NotasNG().ListarEntidadeViewPesquisaCliente();
//Verifica se a lista está vazia
if (lista.Count < 1)
{
MessageBox.Show("Sem dados para serem exibidos!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//Passa a lista para o formulário de pesquisa de cliente;
var frmPesquisaC = new FrmPesquisaCliente("Listagem de Clientes");
frmPesquisaC.lista = lista;
frmPesquisaC.ShowDialog();
var iRetorno = frmPesquisaC.iRetorno;
//iRetorno = 0
if (iRetorno < 1)
return;
txt_CodigoCliente.Text = iRetorno.ToString();
Txt_CodigoCliente_Validating(txt_CodigoCliente, new CancelEventArgs());
bt_PesquisarCliente.Focus();
}
private void Txt_CodigoCliente_Validating(object sender, CancelEventArgs e)
{
//Verifica se está vazio
if (txt_CodigoCliente.Text.Trim().Equals(string.Empty))
return;
var oCliente = new NotasNG().BuscarCliente(Convert.ToInt32(txt_CodigoCliente.Text.Trim()));
var oNota = new NotasNG().BuscarNotas(Convert.ToInt32(txt_CodigoCliente.Text.Trim()));
if (oCliente == null)
return;
txt_NomeCliente.Text = oCliente.Nome;
foreach (var item in oNota.NotaLista)
{
PreencherLista(lista);
}
Txt_CodigoCliente_TextChanged(txt_CodigoCliente, new EventArgs());
MascaraCampoCodigo.RetornarMascara(txt_CodigoCliente, new EventArgs());
MascaraCampoCodigo.RetornarMascara(txt_CodigoNota, new EventArgs());
}
public void PrepararLista()
{
lvlListagemNotas.Clear();
lvlListagemNotas.View = View.Details;
lvlListagemNotas.Columns.Add("Nº da Nota", 100, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Nº do Funcionário", 100, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Nº de Controle", 100, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Data da Emissão", 150, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Status", 150, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Valor Pago", 100, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Desconto", 100, HorizontalAlignment.Center);
lvlListagemNotas.Columns.Add("Data Pagamento", 150, HorizontalAlignment.Center);
}
public void PreencherLista(List<EntidadeViewPesquisaNota> list)
{
foreach (var item in list)
{
var linha = new string[8];
linha[0] = item.NotaID.ToString();
linha[1] = item.FuncionarioID.ToString();
linha[2] = item.NumeroNota;
linha[3] = item.DataEmissao.ToString();
linha[4] = item.Status.ToString();
linha[5] = item.ValorPago.ToString();
linha[6] = item.Desconto.ToString();
linha[7] = item.DataPagamentoFinal.ToString();
var itmx = new ListViewItem(linha);
lvlListagemNotas.Items.Add(itmx);
Funcoes.ListviewColor(lvlListagemNotas);
}
}
private void Txt_CodigoCliente_TextChanged(object sender, EventArgs e)
{
if (txt_CodigoCliente.Text.Trim().Equals(String.Empty))
{
PreencherLista(lista);
return;
}
else
{
int ClienteID;
bool success = Int32.TryParse(txt_CodigoCliente.Text.Trim(), out ClienteID);
if (success)
{
var listResult = new List<EntidadeViewPesquisaNota>(from p in lista where p.ClienteID == ClienteID select p);
PreencherLista(listResult);
}
else
{
Console.WriteLine("O texto digitado não é um número inteiro.");
}
}
}
}
}
How did you debug? You entered the method
BuscarNotas
and checked if you are not deleting any exceptions or if the query is correct?– Leandro Angelo
Yes, it does the notes search, but does not display in listview
– Rayanne Borges
But where are you making the bind?
– Leandro Angelo