private void Carregar(Entidades.PedidoConserto.Pedido pedido)
        {
            modo = ModoEdição.Alteração;

            AtualizarToolTips(pedido);

            optPertenceCliente.Checked = this.pedido.PertenceAoCliente;
            optPertenceEmpresa.Checked = !this.pedido.PertenceAoCliente;

            AtualizarVisibilidadeControlesDeOficina();
            AtualizarVisibilidadeEncomendaItem();

            switch (this.pedido.TipoPedido)
            {
                case Entidades.PedidoConserto.Pedido.Tipo.Conserto:
                    radioConserto.Checked = true;

                    if (this.pedido.DataOficina.HasValue)
                        dtOficina.Value = this.pedido.DataOficina.Value;

                    break;

                case Entidades.PedidoConserto.Pedido.Tipo.Pedido:
                    radioEncomenda.Checked = true;

                    break;
            }

            switch (this.pedido.EntregaPedido)
            {
                case Entidades.PedidoConserto.Pedido.Entrega.Despachar:
                    chkDespachar.Checked = true;
                    break;

                case Entidades.PedidoConserto.Pedido.Entrega.Levar:
                    chkLevar.Checked = true;
                    break;
            }


            txtValor.Double = this.pedido.Valor;

            if (this.pedido.Cliente != null)
                txtCliente.Pessoa = this.pedido.Cliente;
            else
                txtCliente.Text = this.pedido.NomeDoCliente;

            if (this.pedido.Cliente != null && this.pedido.Cliente.Região != null)
                txtRegião.Text = txtCliente.Pessoa.Região.Nome + " " + (this.pedido.Representante == null ? "" : " (" + this.pedido.Representante.PrimeiroNome + ")");
            else
                txtRegião.Text = "";

            txtFuncionário.Pessoa = this.pedido.Receptor;
            txtFuncionário.ReadOnly = true;
            dtRecepção.Value = this.pedido.DataRecepção;
            dtPrevisão.Value = this.pedido.DataPrevisão;

            if (this.pedido.DataConclusão.HasValue)
            {
                dtConclusão.Value = this.pedido.DataConclusão.Value;
                btnConclusao.Visible = false;
                dtConclusão.Visible = true;
                btnRemoverDataConclusão.Visible = true;
            }
            else
            {
                dtConclusão.Visible = false;
                dtConclusão.Enabled = true;
                btnConclusao.Visible = true;
                btnRemoverDataConclusão.Visible = false;
            }

            if (this.pedido.DataEntrega.HasValue)
            {
                dtEntrega.Text = ObterEntreguePor();

                dtEntrega.Visible = true;
                btnEntregar.Visible = false;
                btnRemoverDataEntrega.Visible = true;
            }
            else
            {
                dtEntrega.Visible = false;
                dtEntrega.Enabled = true;
                btnEntregar.Visible = true;
                btnRemoverDataEntrega.Visible = false;
            }

            txtDescrição.Text = this.pedido.Observações;

            títuloBaseInferior1.Título = (this.pedido.TipoPedido == Entidades.PedidoConserto.Pedido.Tipo.Pedido ? "Pedido " : "Conserto ") + this.pedido.Código.ToString();
            títuloBaseInferior1.Descrição = "Visualize ou edite os dados do pedido, caso necessário.";
        }
        private void Criar()
        {
            modo = ModoEdição.Inserção;
            pedido = new Entidades.PedidoConserto.Pedido();
            pedido.TipoPedido = Entidades.PedidoConserto.Pedido.Tipo.Pedido;
            radioEncomenda.Checked = true;

            radioConserto.Checked = false;

            chkDespachar.Checked = true;
            chkLevar.Checked = false;
            pedido.EntregaPedido = Entidades.PedidoConserto.Pedido.Entrega.Despachar;

            radioConserto.Enabled = radioEncomenda.Enabled = true;
            txtCliente.Pessoa = null;
            txtCliente.ReadOnly = false;
            txtFuncionário.Pessoa = Funcionário.FuncionárioAtual;
            txtFuncionário.ReadOnly = false;
            dtRecepção.Value = DadosGlobais.Instância.HoraDataAtual;

            // Como é um novo pedido, permitir gravação
            abrindo = false;
            AtualizarPrevisão();
            abrindo = true;

            dtPrevisão.Enabled = true;
            dtConclusão.Visible = false;
            dtConclusão.Enabled = true;
            btnConclusao.Visible = true;
            dtEntrega.Visible = false;
            dtEntrega.Enabled = true;
            btnEntregar.Visible = true;
            txtDescrição.Text = "";
            títuloBaseInferior1.Título = "Novo pedido";
            títuloBaseInferior1.Descrição = "";
            Gravar();
        }