private void btnImprimir_Click(object sender, EventArgs e)
        {
            int ID = int.Parse(txtID.Text);
            OrdemServicoServico ordemServicoServico = new OrdemServicoServico();
            OrdemServico        ordemServico        = ordemServicoServico.SelecionarPorID(ID);

            bool podeImprimir = false;

            if (ordemServico.EtiquetaImpressa)
            {
                podeImprimir = true;
            }
            else
            {
                DialogResult dialogResult = MessageBox.Show("Deseja Realmente Imprimir a Etiqueta? Após a impressão não será possíveis alterar os dados impressos na etiqueta.", "Impressão da Etiqueta", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    (new OrdemServicoServico()).MarcarComoEtiquetaImpressa(ID);
                    HabilitarCamposEtiqueta(false);
                    podeImprimir = true;
                }
            }

            if (podeImprimir)
            {
                MdiPrincipal mdi         = (MdiPrincipal)this.MdiParent;
                FrmEtiqueta  frmEtiqueta = (FrmEtiqueta)mdi.AbrirForm(typeof(FrmEtiqueta));
                frmEtiqueta.ExibirRelatorio(ID);
            }
        }
        public void ExibirRelatorio(int id)
        {
            // Set the processing mode for the ReportViewer to Local
            reportViewer1.ProcessingMode = ProcessingMode.Local;
            LocalReport localReport = reportViewer1.LocalReport;

            localReport.ReportEmbeddedResource = "_3gSolucoesAutomacao.Etiqueta.rdlc";

            OrdemServicoServico ordemServicoServico = new OrdemServicoServico();
            OrdemServico        ordemServico        = ordemServicoServico.SelecionarPorID(id);

            ClienteServico clienteServico = new ClienteServico();
            Cliente        cliente        = clienteServico.SelecionarPorID(ordemServico.IdCliente);

            localReport.SetParameters(
                new ReportParameter[] {
                new ReportParameter("ID", id.ToString("000000")),
                new ReportParameter("DescricaoEquipamento", ordemServico.DescricaoEquipamento),
                new ReportParameter("ClienteNome", cliente.Nome),
                new ReportParameter("DataEntrada", ordemServico.DataEntrada.ToString("dd/MM/yyyy", new CultureInfo("pt-BR")))
            });

            // Refresh the report
            reportViewer1.RefreshReport();
        }
        public void Carregar(int ID)
        {
            OrdemServicoServico ordemServicoServico = new OrdemServicoServico();
            OrdemServico        ordemServico        = ordemServicoServico.SelecionarPorID(ID);

            txtID.Text                = ordemServico.ID.ToString("000000");
            dtpDataEntrada.Value      = ordemServico.DataEntrada;
            txtEquipamento.Text       = ordemServico.DescricaoEquipamento;
            txtDescricaoProblema.Text = ordemServico.DescricaoProblema;
            SetarStatus(ordemServico.Status);
            SetarCliente(ordemServico.IdCliente);
            dtpDataRetirada.Enabled = ordemServico.DataRetirada.HasValue;
            if (ordemServico.DataRetirada.HasValue)
            {
                dtpDataRetirada.Value = ordemServico.DataRetirada.Value;
            }
            HabilitarCamposEtiqueta(!ordemServico.EtiquetaImpressa);
            btnImprimir.Enabled = true;
        }