T
Titodj7
Guest
Galera, estou muito zuado com isso, tentei de todas as formas, mas não estou conseguindo resolver, será que alguém poderia me ajudar? eu fico agradecido.
estou tentando recuperar os dados da ordem de serviço do banco para editar, mas só vem o primeiro de lista e sem o nome do cliente, depois de dar dois clica na linha do dataGrid carrega uma textBox com o numero da OS, quando clico no botão carregar sem vem a primeira da lista, não importa o numero de OS que eu carregue, e sempre falta o nome do cliente,
o erro esta dando no
private void Btm_Carregar_Click(object sender, EventArgs e)
{
this.AlteraBotoes(3);
if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
{
PreencherCamposDeTexto(Convert.ToInt32(Txt_IDPesquisa.Text)); ---> A cadeia de caracteres de entrada não estava em um formato correto.
}
else
{
MessageBox.Show("Escolha uma ordem de serviço!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Meu banco esta assim.
CREATE TABLE Pessoa
(
ID_Cli int NOT NULL PRIMARY KEY identity,
Nome varchar(100) NOT NULL,
Tipo [varchar](50) NULL,
Email varchar(100) NULL,
Endereco varchar(100) NULL,
Numero varchar(50) NULL,
Apartamento varchar(5) NULL,
Complemento varchar(150) NULL,
SiglaEstado varchar(5) NULL,
Cidade varchar(100) NULL,
Bairro varchar(100) NULL,
Cep varchar(15) NULL,
Sexo varchar(50) NULL,
Cpf varchar(15) NULL,
Celular varchar(50) NULL,
DataDeNascimento datetime NULL,
RazaoSocial varchar(20) NULL,
Cnpj varchar(20) NULL,
InscricaoEstadual varchar(20) NULL
)
create table OrdemDeServico
(
ID_OS int NOT NULL PRIMARY KEY,
Situacao text,
DefeitoRelatado text,
DefeitoConstatado text,
Observacao text,
Descricao text,
NumeroDeSerie text,
Modelo varchar (100),
DataEntradaServico Varchar (50) ,
IdCliente Int not null,
NumeroOS int,
Valor money ,
Garantia varchar (50)
FOREIGN KEY (IdCliente) REFERENCES Pessoa(Id_Cli) ON DELETE CASCADE
)
create table Trabalhos
(
ID_Tr Int NOT NULL PRIMARY KEY,
IdOrdemServico Int not null,
Valor Decimal (10,2),
Descricao text,
Garantia datetime,
FOREIGN KEY (IdOrdemServico) REFERENCES OrdemDeServico(ID_OS) ON DELETE CASCADE
)
Meu ModeloOS
/// <summary>
/// Retorna um DataTable com todos os números do Ordens de serviço.
/// </ summary>
/// <returns> A lista. </ returns>
public DataTable pública CarregarListaDeIds ()
{
DataTable tabela = new DataTable ("ordemdeservico");
SqlCommand cmd = new SqlCommand ();
try
{
DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
cmd.Connection = conexabjetConexao;
SqlDataAdapter da = new SqlDataAdapter ("Select NumeroOS from OrdemDeServico where IdCliente like '%" + "" + "%'", conexao.StringConexao);
da. Fill (tabela);
}
catch (Exception)
{
}
tabela de retorno;
}
/// <summary>
/// Retorna um DataTable com todas as Ordens de serviço.
/// </ summary>
/// <returns> A lista. </ returns>
public DataTable pública CarregarLista ()
{
DataTable tabela = new DataTable ("ordemdeservico");
SqlCommand cmd = new SqlCommand ();
try
{
DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
cmd.Connection = conexabjetConexao;
SqlDataAdapter da = new SqlDataAdapter("select os.NumeroOS, p.Nome, os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo, os.NumeroOS, os.DefeitoConstatado, os.DataEntradaServico, " +
" os.Observacao, os.Valor, os.Descricao from Pessoa p inner join ordemdeservico os on p.ID_Cli = os.ID_OS", conexao.StringConexao);
da.Fill(tabela);
}
catch (Exception)
{
}
tabela de retorno;
}
/// <resumo>
/// Carregando como informações da tabela para classe de OS.
/// </ summary>
/// <param name = "ID"> I. </ param>
System.Data.DataTable tabela = new DataTable ("OrdemDeServico");
ModeloOrdemServico OSBase = novo ModeloOrdemServico ();
DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
SqlCommand cmd = new SqlCommand ();
cmd.Connection = conexabjetConexao;
//cmd.CommandText = "Selecione * em OrdemDeServico Onde ID_OS = @id_os";
SqlDataAdapter da = new SqlDataAdapter ("selecionar os.ID_OS, os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo, os.NumeroOS, os.DefeitoConstatado," +
"os.DataEntradaServico, os.Observacao, os.Valor, os.Descricao de Pessoa p inner join ordemdeservico os em p.ID_Cli = os.IdCliente", conexao.StringConexao);
da.Fill (tabela);
//cmd.Parameters.AddWithValue("@id_os ", ID_OS);
tente
{
conexao.Conectar ();
cmd.ExecuteReader ();
conexao.Desconectar ();
// OSBase = PreencherOS (tabela);
}
catch (Exception)
{
}
retorna PreencherOS (tabela);
}
/// <resumo>
/// Preenchendo a classe com as informações do DataTable
/// </ summary>
/// <param name = "tabela"> todo: descreve o parâmetro tabela no PreencherOS </ param>
/// <returns> O cliente. </ returns>
private estático ModeloOrdemServico PreencherOS (tabela DataTable)
{
List <string> OSBaseLista = new List <string> ();
ModeloOrdemServico OSBase = novo ModeloOrdemServico ();
Tente
{
foreach (DataRow r na tabela.Rows)
{
foreach (DataColumn c na tabela.Columns)
{
OSBaseLista.Add (r [c] .ToString ());
}
OSBase.IDCliente = Convert.ToInt32 (OSBaseLista [0]);
OSBase.ID_OS = Convert.ToInt32 (OSBaseLista [0]);
OSBase.Situacao = OSBaseLista [1];
OSBase.Garantia = OSBaseLista [2];
OSBase.DefeitoRelatado = OSBaseLista [3];
OSBase.NumeroSerie = OSBaseLista [4];
OSBase.Modelo = OSBaseLista [5];
OSBase.NumeroOS = OSBaseLista [6];
OSBase.DefeitoConstatado = OSBaseLista [7];
OSBase.DataEntradaServico = OSBaseLista [8];
OSBase.Observacao = OSBaseLista [9];
OSBase.Valor = Convert.ToDouble (OSBaseLista [10]);
OSBase.Descricao = OSBaseLista [11];
//OSBase.IDCliente = Convert.ToInt32 (OSBaseLista [12]);
}
catch (Exception)
{
}
OSBaseLista.Clear ();
retornar OSBase;
}
Meu ModeloOrdemServico:
public class ModeloOrdemServico
{
public ModeloOrdemServico()
{
this.ID_OS = 0;
this.IDCliente = 0;
this.Situacao = "";
this.DefeitoRelatado = "";
this.DefeitoConstatado = "";
this.Descricao = "";
this.Observacao = "";
this.NumeroSerie = "";
this.NumeroOS = "";
this.Modelo = "";
this.DataEntradaServico = "";
this.Valor = 0;
this.Garantia = "";
}
public ModeloOrdemServico(int ID_OS, int IDCliente, string Situacao, string DefeitoRelatado, string DefeitoConstatado, string Descricao, string Observacao, string NumeroSerie,
string NumeroOS, string Modelo, string DataEntradaServico, int Valor, string Garantia)
{
this.ID_OS = id_os;
this.IDCliente = IdCliente;
this.Situacao = situacao;
this.DefeitoRelatado = defeitoRelatado;
this.DefeitoConstatado = defeitoConstatado;
this.Descricao = descricao;
this.Observacao = observacao;
this.NumeroSerie = numeroSerie;
this.NumeroOS = numeroOS;
this.Modelo = modelo;
this.DataEntradaServico = dataEntradaServico;
this.Valor = valor;
this.Garantia = garantia;
}
private int id_os;
public int ID_OS
{
get { return this.id_os; }
set { this.id_os = value; }
}
private int IdCliente;
public int IDCliente
{
get { return this.IdCliente; }
set { this.IdCliente = value; }
}
private string situacao;
public string Situacao
{
get { return this.situacao; }
set { this.situacao = value; }
}
private string defeitoRelatado;
public string DefeitoRelatado
{
get { return this.defeitoRelatado; }
set { this.defeitoRelatado = value; }
}
private string defeitoConstatado;
public string DefeitoConstatado
{
get { return this.defeitoConstatado; }
set { this.defeitoConstatado = value; }
}
private string descricao;
public string Descricao
{
get { return this.descricao; }
set { this.descricao = value; }
}
private string observacao;
public string Observacao
{
get { return this.observacao; }
set { this.observacao = value; }
}
private string numeroSerie;
public string NumeroSerie
{
get { return this.numeroSerie; }
set { this.numeroSerie = value; }
}
private string numeroOS;
public string NumeroOS
{
get { return this.numeroOS; }
set { this.numeroOS = value; }
}
private string modelo;
public string Modelo
{
get { return this.modelo; }
set { this.modelo = value; }
}
private string dataEntradaServico;
public string DataEntradaServico
{
get { return this.dataEntradaServico; }
set { this.dataEntradaServico = value; }
}
private Double valor;
public Double Valor
{
get { return this.valor; }
set { this.valor = value; }
}
private string garantia;
public string Garantia
{
get { return this.garantia; }
set { this.garantia = value; }
}
}
Meu FormOS
private void Frm_NovaOS_Load(object sender, EventArgs e)
{
this.AlteraBotoes(1);
AualizarGridSemFiltro();
AtualizarListaDeOS();
AtualizarListaDeClientes();
txt_Data.Text = DateTime.Now.ToString("d/M/yy");
Dt_DataEntrada.Text = DateTime.Now.ToString("d/M/yy");
//Dt_DataEntrada.Text = DateTime.Now.ToString("yyyy/MM/dd");
//Dt_Garantia.Text = DateTime.Now.ToString("yyyy/MM/dd");
//Preenchendo o ComboBox com o nome de Clientes
TabelaDeClientes = ControleCliente.CarregarListaDeNomes();
if (TabelaDeClientes.Rows.Count != 0)
{
foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
{
foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
{
Txt_Clientes.Items.Add(r[c].ToString());
}
}
}
if (InicializacaoPeloFormularioExterno)
{
//Carregando as informações passadas pelo form de listagem de OS.
PreencherCamposDeTexto(IDChamado);
InicializacaoPeloFormularioExterno = false;
}
}
private void Btn_Salvar_Click(object sender, EventArgs e)
{
if (ControleCliente.VerificarExistencia(Txt_Clientes.Text))
{
string Retorno = ControleOS.Criar(PreencherOS());
MessageBox.Show(String.Format("{0}", Retorno), "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (MessageBox.Show("Deseja imprimir a ordem de serviço?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//TODO: Função para gerar uma ordem de serviço em PDF Aqui.
}
LimparCampos();
}
else
{
MessageBox.Show("Selecione um cliente!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void Txt_Clientes_TextUpdate(object sender, EventArgs e)
{
Txt_Clientes.Items.Clear();
if (TabelaDeClientes.Rows.Count != 0)
{
foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
{
foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
{
if (r[c].ToString().Trim().Contains(Txt_Clientes.Text.Trim()))
{
Txt_Clientes.Items.Add(r[c].ToString());
}
}
}
//Move o cursor para o Fim do combobox.
Txt_Clientes.SelectionStart = Txt_Clientes.Text.ToString().Length;
}
}
private void Btn_NovaOrdem_Click(object sender, EventArgs e)
{
Random R = new Random();
Txt_NumeroOS.Text = R.Next(99999).ToString();
this.LimparCampos();
this.AlteraBotoes(2);
}
private void Btn_Cancelar_Click(object sender, EventArgs e)
{
Txt_NumeroOS.Clear();
this.LimparCampos();
this.AlteraBotoes(1);
}
private void BtnAtualizaList_Click(object sender, EventArgs e)
{
Txt_pesquisar.Clear();
AualizarGridSemFiltro();
this.Data_Os.Update();
this.Data_Os.Refresh();
}
//Listar ordem de Serviços
private void AualizarGridSemFiltro()
{
Data_Os.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
Data_Os.DataSource = ControleOrdemServico.CarregarLista();
Data_Os.Columns[0].HeaderText = "NumeroOS";
Data_Os.Columns[0].Width = 100;
Data_Os.Columns[1].HeaderText = "Cliente";
Data_Os.Columns[1].Width = 120;
Data_Os.Columns[2].HeaderText = "Situação";
Data_Os.Columns[2].Width = 90;
Data_Os.Columns[3].HeaderText = "Equipamento";
Data_Os.Columns[3].Width = 140;
Data_Os.Columns[4].HeaderText = "Descrição";
Data_Os.Columns[4].Width = 140;
Data_Os.Columns[5].HeaderText = "Defeito";
Data_Os.Columns[5].Width = 140;
Data_Os.Columns[6].HeaderText = " Entrada";
Data_Os.Columns[6].Width = 80;
Data_Os.Columns[7].HeaderText = "Série";
Data_Os.Columns[7].Width = 80;
Data_Os.Columns[8].HeaderText = "Valor";
Data_Os.Columns[8].Width = 60;
Data_Os.Columns[9].HeaderText = "Observações";
Data_Os.Columns[9].Width = 160;
//Data_Os.Columns[10].HeaderText = "Tecnico";
//Data_Os.Columns[10].Width = 70;
//Data_Os.Columns[2].HeaderText = "Numero de Serie";
//Data_Os.Columns[4].HeaderText = "Data de Entrada";
}
private void AtualizarListaDeClientes()
{
Txt_IDPesquisa.Items.Clear();
DataTable tabela = new DataTable("ListaDeNomes");
tabela = ControleOS.CarregarListaDeIds();
if (tabela.Rows.Count != 0)
{
foreach (DataRow r in tabela.Rows)
{
foreach (DataColumn c in tabela.Columns)
{
Txt_IDPesquisa.Items.Add(r[c].ToString());
}
}
Txt_IDPesquisa.Text = Txt_IDPesquisa.Items[0].ToString();
}
}
private void Data_Os_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Txt_IDPesquisa.Text = Data_Os.Rows[e.RowIndex].Cells["NumeroOS"].Value.ToString();
}
private void Btm_Carregar_Click(object sender, EventArgs e)
{
this.AlteraBotoes(3);
if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
{
PreencherCamposDeTexto(Convert.ToInt32(Txt_IDPesquisa.Text));
}
else
{
MessageBox.Show("Escolha uma ordem de serviço!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void PreencherCamposDeTexto(int id_os)
{
ModeloOrdemServico InformacoesOrdemDeServico = new ModeloOrdemServico();
InformacoesOrdemDeServico = ControleOS.Carregar(id_os);
IDChamado = InformacoesOrdemDeServico.ID_OS;
Txt_Clientes.Text = Convert.ToString(InformacoesOrdemDeServico.IDCliente);
Txt_Situacao.Text = InformacoesOrdemDeServico.Situacao;
txt_Data.Text = Convert.ToString(InformacoesOrdemDeServico.Garantia);
Txt_Defeito.Text = InformacoesOrdemDeServico.DefeitoRelatado;
Txt_Nserie.Text = InformacoesOrdemDeServico.NumeroSerie;
Txt_Equipamento.Text = InformacoesOrdemDeServico.Modelo;
Txt_NumeroOS.Text = InformacoesOrdemDeServico.NumeroOS;
Dt_DataEntrada.Text = Convert.ToString(InformacoesOrdemDeServico.DataEntradaServico);
Txt_DefeitoCons.Text = InformacoesOrdemDeServico.DefeitoConstatado;
Txt_Observacoes.Text = InformacoesOrdemDeServicbservacao;
Txt_ValotOrc.Text = Convert.ToString(InformacoesOrdemDeServico.Valor);
Txt_Descricao.Text = InformacoesOrdemDeServico.Descricao;
Txt_Clientes.Text = ControleCliente.VerificarNome(InformacoesOrdemDeServico.ID_OS);
}
/// <summary>
/// Carregando as informações dos TxtBox para a Classe Cliente.
/// </summary>
/// <returns></returns>
private ModeloOrdemServico PreencherOS()
{
ModeloOrdemServico OSBase = new ModeloOrdemServico();
OSBase.IDCliente = ControleCliente.VerificarID(Convert.ToString(Txt_Clientes.Text));
OSBase.DataEntradaServico = Dt_DataEntrada.Text;
OSBase.Garantia = txt_Data.Text;
OSBase.Descricao = Txt_Descricao.Text;
OSBase.Modelo = Txt_Equipamento.Text;
OSBase.DefeitoRelatado = Txt_Defeito.Text;
OSBase.DefeitoConstatado = Txt_Defeito.Text;
OSBase.NumeroSerie = Txt_Nserie.Text;
OSBase.Observacao = Txt_Observacoes.Text;
OSBase.NumeroOS = Txt_NumeroOS.Text;
OSBase.Situacao = Txt_Situacao.Text;
OSBase.Valor = Convert.ToDouble(Txt_ValotOrc.Text);
return OSBase;
}
private void AtualizarListaDeOS()
{
Txt_IDPesquisa.Items.Clear();
DataTable tabela = new DataTable("ListaDeOrdem");
tabela = ControleOS.CarregarListaDeIds();
if (tabela.Rows.Count != 0)
{
foreach (DataRow r in tabela.Rows)
{
foreach (DataColumn c in tabela.Columns)
{
Txt_IDPesquisa.Items.Add(r[c].ToString());
}
}
Txt_IDPesquisa.Text = Txt_IDPesquisa.Items[0].ToString();
}
}
Agradeço qualquer ajuda, um abraço!
Continue reading...
estou tentando recuperar os dados da ordem de serviço do banco para editar, mas só vem o primeiro de lista e sem o nome do cliente, depois de dar dois clica na linha do dataGrid carrega uma textBox com o numero da OS, quando clico no botão carregar sem vem a primeira da lista, não importa o numero de OS que eu carregue, e sempre falta o nome do cliente,
o erro esta dando no
private void Btm_Carregar_Click(object sender, EventArgs e)
{
this.AlteraBotoes(3);
if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
{
PreencherCamposDeTexto(Convert.ToInt32(Txt_IDPesquisa.Text)); ---> A cadeia de caracteres de entrada não estava em um formato correto.
}
else
{
MessageBox.Show("Escolha uma ordem de serviço!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Meu banco esta assim.
CREATE TABLE Pessoa
(
ID_Cli int NOT NULL PRIMARY KEY identity,
Nome varchar(100) NOT NULL,
Tipo [varchar](50) NULL,
Email varchar(100) NULL,
Endereco varchar(100) NULL,
Numero varchar(50) NULL,
Apartamento varchar(5) NULL,
Complemento varchar(150) NULL,
SiglaEstado varchar(5) NULL,
Cidade varchar(100) NULL,
Bairro varchar(100) NULL,
Cep varchar(15) NULL,
Sexo varchar(50) NULL,
Cpf varchar(15) NULL,
Celular varchar(50) NULL,
DataDeNascimento datetime NULL,
RazaoSocial varchar(20) NULL,
Cnpj varchar(20) NULL,
InscricaoEstadual varchar(20) NULL
)
create table OrdemDeServico
(
ID_OS int NOT NULL PRIMARY KEY,
Situacao text,
DefeitoRelatado text,
DefeitoConstatado text,
Observacao text,
Descricao text,
NumeroDeSerie text,
Modelo varchar (100),
DataEntradaServico Varchar (50) ,
IdCliente Int not null,
NumeroOS int,
Valor money ,
Garantia varchar (50)
FOREIGN KEY (IdCliente) REFERENCES Pessoa(Id_Cli) ON DELETE CASCADE
)
create table Trabalhos
(
ID_Tr Int NOT NULL PRIMARY KEY,
IdOrdemServico Int not null,
Valor Decimal (10,2),
Descricao text,
Garantia datetime,
FOREIGN KEY (IdOrdemServico) REFERENCES OrdemDeServico(ID_OS) ON DELETE CASCADE
)
Meu ModeloOS
/// <summary>
/// Retorna um DataTable com todos os números do Ordens de serviço.
/// </ summary>
/// <returns> A lista. </ returns>
public DataTable pública CarregarListaDeIds ()
{
DataTable tabela = new DataTable ("ordemdeservico");
SqlCommand cmd = new SqlCommand ();
try
{
DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
cmd.Connection = conexabjetConexao;
SqlDataAdapter da = new SqlDataAdapter ("Select NumeroOS from OrdemDeServico where IdCliente like '%" + "" + "%'", conexao.StringConexao);
da. Fill (tabela);
}
catch (Exception)
{
}
tabela de retorno;
}
/// <summary>
/// Retorna um DataTable com todas as Ordens de serviço.
/// </ summary>
/// <returns> A lista. </ returns>
public DataTable pública CarregarLista ()
{
DataTable tabela = new DataTable ("ordemdeservico");
SqlCommand cmd = new SqlCommand ();
try
{
DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
cmd.Connection = conexabjetConexao;
SqlDataAdapter da = new SqlDataAdapter("select os.NumeroOS, p.Nome, os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo, os.NumeroOS, os.DefeitoConstatado, os.DataEntradaServico, " +
" os.Observacao, os.Valor, os.Descricao from Pessoa p inner join ordemdeservico os on p.ID_Cli = os.ID_OS", conexao.StringConexao);
da.Fill(tabela);
}
catch (Exception)
{
}
tabela de retorno;
}
/// <resumo>
/// Carregando como informações da tabela para classe de OS.
/// </ summary>
/// <param name = "ID"> I. </ param>
System.Data.DataTable tabela = new DataTable ("OrdemDeServico");
ModeloOrdemServico OSBase = novo ModeloOrdemServico ();
DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
SqlCommand cmd = new SqlCommand ();
cmd.Connection = conexabjetConexao;
//cmd.CommandText = "Selecione * em OrdemDeServico Onde ID_OS = @id_os";
SqlDataAdapter da = new SqlDataAdapter ("selecionar os.ID_OS, os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo, os.NumeroOS, os.DefeitoConstatado," +
"os.DataEntradaServico, os.Observacao, os.Valor, os.Descricao de Pessoa p inner join ordemdeservico os em p.ID_Cli = os.IdCliente", conexao.StringConexao);
da.Fill (tabela);
//cmd.Parameters.AddWithValue("@id_os ", ID_OS);
tente
{
conexao.Conectar ();
cmd.ExecuteReader ();
conexao.Desconectar ();
// OSBase = PreencherOS (tabela);
}
catch (Exception)
{
}
retorna PreencherOS (tabela);
}
/// <resumo>
/// Preenchendo a classe com as informações do DataTable
/// </ summary>
/// <param name = "tabela"> todo: descreve o parâmetro tabela no PreencherOS </ param>
/// <returns> O cliente. </ returns>
private estático ModeloOrdemServico PreencherOS (tabela DataTable)
{
List <string> OSBaseLista = new List <string> ();
ModeloOrdemServico OSBase = novo ModeloOrdemServico ();
Tente
{
foreach (DataRow r na tabela.Rows)
{
foreach (DataColumn c na tabela.Columns)
{
OSBaseLista.Add (r [c] .ToString ());
}
OSBase.IDCliente = Convert.ToInt32 (OSBaseLista [0]);
OSBase.ID_OS = Convert.ToInt32 (OSBaseLista [0]);
OSBase.Situacao = OSBaseLista [1];
OSBase.Garantia = OSBaseLista [2];
OSBase.DefeitoRelatado = OSBaseLista [3];
OSBase.NumeroSerie = OSBaseLista [4];
OSBase.Modelo = OSBaseLista [5];
OSBase.NumeroOS = OSBaseLista [6];
OSBase.DefeitoConstatado = OSBaseLista [7];
OSBase.DataEntradaServico = OSBaseLista [8];
OSBase.Observacao = OSBaseLista [9];
OSBase.Valor = Convert.ToDouble (OSBaseLista [10]);
OSBase.Descricao = OSBaseLista [11];
//OSBase.IDCliente = Convert.ToInt32 (OSBaseLista [12]);
}
catch (Exception)
{
}
OSBaseLista.Clear ();
retornar OSBase;
}
Meu ModeloOrdemServico:
public class ModeloOrdemServico
{
public ModeloOrdemServico()
{
this.ID_OS = 0;
this.IDCliente = 0;
this.Situacao = "";
this.DefeitoRelatado = "";
this.DefeitoConstatado = "";
this.Descricao = "";
this.Observacao = "";
this.NumeroSerie = "";
this.NumeroOS = "";
this.Modelo = "";
this.DataEntradaServico = "";
this.Valor = 0;
this.Garantia = "";
}
public ModeloOrdemServico(int ID_OS, int IDCliente, string Situacao, string DefeitoRelatado, string DefeitoConstatado, string Descricao, string Observacao, string NumeroSerie,
string NumeroOS, string Modelo, string DataEntradaServico, int Valor, string Garantia)
{
this.ID_OS = id_os;
this.IDCliente = IdCliente;
this.Situacao = situacao;
this.DefeitoRelatado = defeitoRelatado;
this.DefeitoConstatado = defeitoConstatado;
this.Descricao = descricao;
this.Observacao = observacao;
this.NumeroSerie = numeroSerie;
this.NumeroOS = numeroOS;
this.Modelo = modelo;
this.DataEntradaServico = dataEntradaServico;
this.Valor = valor;
this.Garantia = garantia;
}
private int id_os;
public int ID_OS
{
get { return this.id_os; }
set { this.id_os = value; }
}
private int IdCliente;
public int IDCliente
{
get { return this.IdCliente; }
set { this.IdCliente = value; }
}
private string situacao;
public string Situacao
{
get { return this.situacao; }
set { this.situacao = value; }
}
private string defeitoRelatado;
public string DefeitoRelatado
{
get { return this.defeitoRelatado; }
set { this.defeitoRelatado = value; }
}
private string defeitoConstatado;
public string DefeitoConstatado
{
get { return this.defeitoConstatado; }
set { this.defeitoConstatado = value; }
}
private string descricao;
public string Descricao
{
get { return this.descricao; }
set { this.descricao = value; }
}
private string observacao;
public string Observacao
{
get { return this.observacao; }
set { this.observacao = value; }
}
private string numeroSerie;
public string NumeroSerie
{
get { return this.numeroSerie; }
set { this.numeroSerie = value; }
}
private string numeroOS;
public string NumeroOS
{
get { return this.numeroOS; }
set { this.numeroOS = value; }
}
private string modelo;
public string Modelo
{
get { return this.modelo; }
set { this.modelo = value; }
}
private string dataEntradaServico;
public string DataEntradaServico
{
get { return this.dataEntradaServico; }
set { this.dataEntradaServico = value; }
}
private Double valor;
public Double Valor
{
get { return this.valor; }
set { this.valor = value; }
}
private string garantia;
public string Garantia
{
get { return this.garantia; }
set { this.garantia = value; }
}
}
Meu FormOS
private void Frm_NovaOS_Load(object sender, EventArgs e)
{
this.AlteraBotoes(1);
AualizarGridSemFiltro();
AtualizarListaDeOS();
AtualizarListaDeClientes();
txt_Data.Text = DateTime.Now.ToString("d/M/yy");
Dt_DataEntrada.Text = DateTime.Now.ToString("d/M/yy");
//Dt_DataEntrada.Text = DateTime.Now.ToString("yyyy/MM/dd");
//Dt_Garantia.Text = DateTime.Now.ToString("yyyy/MM/dd");
//Preenchendo o ComboBox com o nome de Clientes
TabelaDeClientes = ControleCliente.CarregarListaDeNomes();
if (TabelaDeClientes.Rows.Count != 0)
{
foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
{
foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
{
Txt_Clientes.Items.Add(r[c].ToString());
}
}
}
if (InicializacaoPeloFormularioExterno)
{
//Carregando as informações passadas pelo form de listagem de OS.
PreencherCamposDeTexto(IDChamado);
InicializacaoPeloFormularioExterno = false;
}
}
private void Btn_Salvar_Click(object sender, EventArgs e)
{
if (ControleCliente.VerificarExistencia(Txt_Clientes.Text))
{
string Retorno = ControleOS.Criar(PreencherOS());
MessageBox.Show(String.Format("{0}", Retorno), "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (MessageBox.Show("Deseja imprimir a ordem de serviço?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//TODO: Função para gerar uma ordem de serviço em PDF Aqui.
}
LimparCampos();
}
else
{
MessageBox.Show("Selecione um cliente!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void Txt_Clientes_TextUpdate(object sender, EventArgs e)
{
Txt_Clientes.Items.Clear();
if (TabelaDeClientes.Rows.Count != 0)
{
foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
{
foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
{
if (r[c].ToString().Trim().Contains(Txt_Clientes.Text.Trim()))
{
Txt_Clientes.Items.Add(r[c].ToString());
}
}
}
//Move o cursor para o Fim do combobox.
Txt_Clientes.SelectionStart = Txt_Clientes.Text.ToString().Length;
}
}
private void Btn_NovaOrdem_Click(object sender, EventArgs e)
{
Random R = new Random();
Txt_NumeroOS.Text = R.Next(99999).ToString();
this.LimparCampos();
this.AlteraBotoes(2);
}
private void Btn_Cancelar_Click(object sender, EventArgs e)
{
Txt_NumeroOS.Clear();
this.LimparCampos();
this.AlteraBotoes(1);
}
private void BtnAtualizaList_Click(object sender, EventArgs e)
{
Txt_pesquisar.Clear();
AualizarGridSemFiltro();
this.Data_Os.Update();
this.Data_Os.Refresh();
}
//Listar ordem de Serviços
private void AualizarGridSemFiltro()
{
Data_Os.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
Data_Os.DataSource = ControleOrdemServico.CarregarLista();
Data_Os.Columns[0].HeaderText = "NumeroOS";
Data_Os.Columns[0].Width = 100;
Data_Os.Columns[1].HeaderText = "Cliente";
Data_Os.Columns[1].Width = 120;
Data_Os.Columns[2].HeaderText = "Situação";
Data_Os.Columns[2].Width = 90;
Data_Os.Columns[3].HeaderText = "Equipamento";
Data_Os.Columns[3].Width = 140;
Data_Os.Columns[4].HeaderText = "Descrição";
Data_Os.Columns[4].Width = 140;
Data_Os.Columns[5].HeaderText = "Defeito";
Data_Os.Columns[5].Width = 140;
Data_Os.Columns[6].HeaderText = " Entrada";
Data_Os.Columns[6].Width = 80;
Data_Os.Columns[7].HeaderText = "Série";
Data_Os.Columns[7].Width = 80;
Data_Os.Columns[8].HeaderText = "Valor";
Data_Os.Columns[8].Width = 60;
Data_Os.Columns[9].HeaderText = "Observações";
Data_Os.Columns[9].Width = 160;
//Data_Os.Columns[10].HeaderText = "Tecnico";
//Data_Os.Columns[10].Width = 70;
//Data_Os.Columns[2].HeaderText = "Numero de Serie";
//Data_Os.Columns[4].HeaderText = "Data de Entrada";
}
private void AtualizarListaDeClientes()
{
Txt_IDPesquisa.Items.Clear();
DataTable tabela = new DataTable("ListaDeNomes");
tabela = ControleOS.CarregarListaDeIds();
if (tabela.Rows.Count != 0)
{
foreach (DataRow r in tabela.Rows)
{
foreach (DataColumn c in tabela.Columns)
{
Txt_IDPesquisa.Items.Add(r[c].ToString());
}
}
Txt_IDPesquisa.Text = Txt_IDPesquisa.Items[0].ToString();
}
}
private void Data_Os_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
Txt_IDPesquisa.Text = Data_Os.Rows[e.RowIndex].Cells["NumeroOS"].Value.ToString();
}
private void Btm_Carregar_Click(object sender, EventArgs e)
{
this.AlteraBotoes(3);
if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
{
PreencherCamposDeTexto(Convert.ToInt32(Txt_IDPesquisa.Text));
}
else
{
MessageBox.Show("Escolha uma ordem de serviço!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void PreencherCamposDeTexto(int id_os)
{
ModeloOrdemServico InformacoesOrdemDeServico = new ModeloOrdemServico();
InformacoesOrdemDeServico = ControleOS.Carregar(id_os);
IDChamado = InformacoesOrdemDeServico.ID_OS;
Txt_Clientes.Text = Convert.ToString(InformacoesOrdemDeServico.IDCliente);
Txt_Situacao.Text = InformacoesOrdemDeServico.Situacao;
txt_Data.Text = Convert.ToString(InformacoesOrdemDeServico.Garantia);
Txt_Defeito.Text = InformacoesOrdemDeServico.DefeitoRelatado;
Txt_Nserie.Text = InformacoesOrdemDeServico.NumeroSerie;
Txt_Equipamento.Text = InformacoesOrdemDeServico.Modelo;
Txt_NumeroOS.Text = InformacoesOrdemDeServico.NumeroOS;
Dt_DataEntrada.Text = Convert.ToString(InformacoesOrdemDeServico.DataEntradaServico);
Txt_DefeitoCons.Text = InformacoesOrdemDeServico.DefeitoConstatado;
Txt_Observacoes.Text = InformacoesOrdemDeServicbservacao;
Txt_ValotOrc.Text = Convert.ToString(InformacoesOrdemDeServico.Valor);
Txt_Descricao.Text = InformacoesOrdemDeServico.Descricao;
Txt_Clientes.Text = ControleCliente.VerificarNome(InformacoesOrdemDeServico.ID_OS);
}
/// <summary>
/// Carregando as informações dos TxtBox para a Classe Cliente.
/// </summary>
/// <returns></returns>
private ModeloOrdemServico PreencherOS()
{
ModeloOrdemServico OSBase = new ModeloOrdemServico();
OSBase.IDCliente = ControleCliente.VerificarID(Convert.ToString(Txt_Clientes.Text));
OSBase.DataEntradaServico = Dt_DataEntrada.Text;
OSBase.Garantia = txt_Data.Text;
OSBase.Descricao = Txt_Descricao.Text;
OSBase.Modelo = Txt_Equipamento.Text;
OSBase.DefeitoRelatado = Txt_Defeito.Text;
OSBase.DefeitoConstatado = Txt_Defeito.Text;
OSBase.NumeroSerie = Txt_Nserie.Text;
OSBase.Observacao = Txt_Observacoes.Text;
OSBase.NumeroOS = Txt_NumeroOS.Text;
OSBase.Situacao = Txt_Situacao.Text;
OSBase.Valor = Convert.ToDouble(Txt_ValotOrc.Text);
return OSBase;
}
private void AtualizarListaDeOS()
{
Txt_IDPesquisa.Items.Clear();
DataTable tabela = new DataTable("ListaDeOrdem");
tabela = ControleOS.CarregarListaDeIds();
if (tabela.Rows.Count != 0)
{
foreach (DataRow r in tabela.Rows)
{
foreach (DataColumn c in tabela.Columns)
{
Txt_IDPesquisa.Items.Add(r[c].ToString());
}
}
Txt_IDPesquisa.Text = Txt_IDPesquisa.Items[0].ToString();
}
}
Agradeço qualquer ajuda, um abraço!
Continue reading...