segunda-feira, 30 de maio de 2011

Sistema de Ordem de Serviço em C# - SQL Server e Crystal Reports Parte FINAL

Relatório

11. Relatório Cliente


Entre no frmRelCliente modifique as propriedades a seguir:
Propriedades
Valores
Size
615; 407
StartPosition
CenterScreen
Text
Relatório de Cliente

Adicione o componente pela ToolBox > Data > ReportView como na imagem: 


















O Relatório esta em branco vamos adicionar um campo do tipo Tabela que mostrara todos os Clientes cadastrados no Sistema.


















Clique em cima do relatório > Menu Report > Marque Page Header(Cabeçalho) e Page Footer(Rodapé) . Como na imagem:





























Arraste do ToolBox o componente Table e insira na Body do Relatório. Como na imagem:




















Insira as colunas do Data Sources em Detail. Obseve que ele colocar as labels correspondente em Header. Como na imagem:




















Faça isso com os campos que irão para o relatório. Para adicionar uma coluna clique na primeira linha e com o botão direito > Insert Column to the Left(Esquerda) ou Right(Direita).





















O layout ficou assim:

















Em Page Header Adicione uma TextBox e coloque o Texto : Cadastro de Cliente. Mude o tamanho do texto, a cor do texto e do fundo pela barra de ferramentas.













O Relatório esta pronto. Volte para o frmRelCliente, clique no ReportView na seta e selecione Repot1.rdlc Faça como a imagem a seguir:

















Faça isso com o Relatório Serviço e Relatório Ordem de Serviço


Siga o Passo Número 12.


Siga o Passo Número 12. 
Sistema desenvolvido por Natanael Santos.

Sistema de Ordem de Serviço em C# - SQL Server e Crystal Reports Parte XI

10. Tela Principal

Modifique as propriedades a seguir:
Propriedades
Valores
BackgroundImage
Escolha uma imagem de Plano de Fundo
IsMdiContainer
True
Size
1024; 785
StartPosition
CenterScreen
Text
Tela Principal

Adicione ToolBox >Menu & Toolbars > MenuStrip. Como na imagem:









Crie um sub Menu para o Cadastro como na imagem:

















Ao lado do Menu Cadastro existe um Texto chamado de Type Here clique nele e adicione o menu e o sub Menu como na imagem abaixo:














Adicione o componente chamado ToolBox > ToolStrip. Como na imagem:






Clique na Seta para baixo e adicione 4 Button chamado de:

Name Padrão
Modificar name Para
DisplayStyle
TextImageRelation
Text
toolStripButton1
tsbCliente
Image and Text
ImageAboveText
Cliente
toolStripButton2
tsbServico
Image and Text
ImageAboveText
Serviço
toolStripButton3
tsbOS
Image and Text
ImageAboveText
Ordem de Serviço
toolStripButton4
tsbLogoff
Image and Text
ImageAboveText
Logoff


Adicione as imagens de cada botão pela propriedade Image:
O Seu ToolStrip poderá ter ficado assim:




Caso as imagens estiverem pequenas desative(none) a propriedade ImageScaling.
Atenção: Essa propriedade desativar o tamanho padrão das imagens ser você colocar uma imagem com resolução muito grande ira ficar feio, portanto coloque resolução de ate 32x32 no seu projeto.

Arraste o componente chamado ToolBox>StatusStrip. Como na imagem:











Clique na seta para baixo e adicione 5 StatusLabel com as propriedades a seguir






Name Padrão
Modificar name Para
BorderSides
Text
toolStripStatusLabel1
tsslUsuario
Right
Vazio
toolStripStatusLabel2
tsslIP
Right
Vazio
toolStripStatusLabel3
tsslNomePC
Right
Vazio
toolStripStatusLabel4
tsslData
Right
Vazio
toolStripStatusLabel5
tsslHora
Right
Vazio

O StatusStrip ficara assim:





Clique duas vezes no formulário para abrir o event Load e insira o código a seguir:
//Nível de Acesso: Ser o usuario for Operador o formulario estara invisivel
            if (frmLogin.NivelAcesso == "Operador")
            {
                //Nível de Operador não podera cadastrar usuário
                usuárioToolStripMenuItem.Visible = false;
            }

            //Mostrar o usuário conectado
            tsslUsuario.Text = "Usuário: " + frmLogin.usuarioConectado;

            //Mostra o nome do PC
            string myHost = System.Net.Dns.GetHostName();
            tsslNomePC.Text = "Nome do PC: " + myHost;

            //Mostrar o IP do usuário
            System.Net.IPHostEntry myIPs = System.Net.Dns.GetHostEntry(myHost);
            foreach (System.Net.IPAddress myIP in myIPs.AddressList)
            {
                //Mostar o IP
                tsslIP.Text = "IP: " + myIP;

            }

Insira o Componente Timer modifique as propriedades (Enable para True e Interval para 1000) e clique duas vezes nele e adicione o trecho de código a seguir:
//Mostrar a Hora
            tsslData.Text = DateTime.Now.ToString("HH:mm");

Clique duas vezes no menu Cadastro> Usuário e insira o código abaixo:
  try
            {
                formulario.frmUsuario usuario = null; // form a ser aberto

                //procura form na relação de forms filhos
                foreach (Form frm in this.MdiChildren)
                {
                    //se encontrou inicializa instancia de frmUsuario com o form ja aberto
                    if (frm is formulario.frmUsuario)
                    {
                        usuario = (formulario.frmUsuario)frm;
                        break;
                    }
                }
                // se não encontrou na relação, instancia objeto, "seta"  form pai e exibe form
                if (usuario == null)
                {
                    usuario = new formulario.frmUsuario();
                    usuario.MdiParent = this;
                    usuario.Show();
                }
                //garante que ele fique em foco caso haja outros forms abertos
                usuario.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Cadastro > Cliente e insira o Código a seguir:
   try
            {
                frmCliente cliente = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmCliente)
                    {
                        cliente = (frmCliente)frm;
                        break;
                    }
                }
                if (cliente == null)
                {
                    cliente = new frmCliente();
                    cliente.MdiParent = this;
                    cliente.Show();
                }
               
                cliente.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Cadastro> Serviço e adicione o Código a seguir:
try
            {
                formulario.frmServico servico = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is formulario.frmServico)
                    {
                        servico = (formulario.frmServico)frm;
                        break;
                    }
                }
                if (servico == null)
                {
                    servico = new formulario.frmServico();
                    servico.MdiParent = this;
                    servico.Show();
                }

                servico.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Cadastro > Ordem de Serviço e adicione o código a seguir:
try
            {
                frmOS os = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmOS)
                    {
                        os = (frmOS)frm;
                        break;
                    }
                }
                if (os == null)
                {
                    os = new frmOS();
                    os.MdiParent = this;
                    os.Show();
                }

                os.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Relatório > Cliente e adicione o código a seguir:
  try
            {
                frmRelCliente relcliente = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmRelCliente)
                    {
                        relcliente = (frmRelCliente)frm;
                        break;
                    }
                }
                if (relcliente == null)
                {
                    relcliente = new frmRelCliente();
                    relcliente.MdiParent = this;
                    relcliente.Show();
                }

                relcliente.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Relatório > Serviço e adicione o código a seguir:
try
            {
                frmRelServico relServico = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmRelServico)
                    {
                        relServico = (frmRelServico)frm;
                        break;
                    }
                }
                if (relServico == null)
                {
                    relServico = new frmRelServico();
                    relServico.MdiParent = this;
                    relServico.Show();
                }

                relServico.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Relatório > Ordem de Serviço e adicione o código a seguir:
try
            {
                frmRelOS relOS = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmRelOS)
                    {
                        relOS = (frmRelOS)frm;
                        break;
                    }
                }
                if (relOS == null)
                {
                    relOS = new frmRelOS();
                    relOS.MdiParent = this;
                    relOS.Show();
                }

                relOS.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no toolStrip1 > Cliente e insira o Código:
   try
            {
                frmCliente cliente = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmCliente)
                    {
                        cliente = (frmCliente)frm;
                        break;
                    }
                }
                if (cliente == null)
                {
                    cliente = new frmCliente();
                    cliente.MdiParent = this;
                    cliente.Show();
                }
               
                cliente.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no toolStrip1 > Serviço e insira o Código:
try
            {
                formulario.frmServico servico = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is formulario.frmServico)
                    {
                        servico = (formulario.frmServico)frm;
                        break;
                    }
                }
                if (servico == null)
                {
                    servico = new formulario.frmServico();
                    servico.MdiParent = this;
                    servico.Show();
                }

                servico.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no toolStrip1 > Ordem de Serviço e insira o Código:
try
            {
                frmOS os = null;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm is frmOS)
                    {
                        os = (frmOS)frm;
                        break;
                    }
                }
                if (os == null)
                {
                    os = new frmOS();
                    os.MdiParent = this;
                    os.Show();
                }

                os.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível ser conectar ao formulário devido ao erro: " + ex.Message,
                    "Aviso",–
                        MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
            }

Clique duas vezes no menu Cadastro > Sair e adicione o código a seguir:
Application.Exit();
Entre no event do Formulario Tela Principal e clique na propriedade FormClosed e adicione o código a seguir:
Application.Exit();