Exemplo n.º 1
0
        private void txtOrcamento_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (index > -1)
            {
                int    numOrcamento   = faturamentos[index].numOrcamento;
                int    numFaturamento = faturamentos[index].id;
                String cliente        = faturamentos[index].cliente.nome;

                if (numOrcamento > 0)
                {
                    // Cria o menu de contexto
                    ContextMenuStrip  contextMenuStrip = new ContextMenuStrip();
                    ToolStripMenuItem toolStripMenuItem;

                    toolStripMenuItem        = new ToolStripMenuItem(String.Format("Desvicular orçamento {0} do faturamento {1}", numOrcamento, numFaturamento));
                    toolStripMenuItem.Click += (_sender, _e) => {
                        // desviculaOrcamentoDoFaturamento
                        faturamentos[index].numOrcamento = 0;
                        FaturamentoServicos.update(faturamentos[index]);

                        btnAtualizar_Click(null, null);
                    };
                    contextMenuStrip.Items.Add(toolStripMenuItem);

                    // Exibe o menu de contexto
                    contextMenuStrip.Show(this, this.PointToClient(MousePosition));
                }
                else
                {
                    // Cria o menu de contexto
                    ContextMenuStrip  contextMenuStrip = new ContextMenuStrip();
                    ToolStripMenuItem toolStripMenuItem;

                    toolStripMenuItem        = new ToolStripMenuItem(String.Format("Vincular faturamento {0} com orçamento do cliente {1}", numFaturamento, cliente));
                    toolStripMenuItem.Click += (_sender, _e) => {
                        // vincularOrcamentoAoFaturamento
                        consultaOrcamentoForm              = new ConsultaOrcamento(Util.TipoConsulta.Selecao, true, faturamentos[index].cliente.id);
                        consultaOrcamentoForm.FormClosing += (__sender, __e) => {
                            Orcamento orcamentoSelecionado = consultaOrcamentoForm.orcamentoSelecionado;

                            if (orcamentoSelecionado != null)
                            {
                                faturamentos[index].numOrcamento = orcamentoSelecionado.id;
                                FaturamentoServicos.update(faturamentos[index]);

                                btnAtualizar_Click(null, null);
                            }
                        };
                        consultaOrcamentoForm.Show();
                    };
                    contextMenuStrip.Items.Add(toolStripMenuItem);

                    // Exibe o menu de contexto
                    contextMenuStrip.Show(this, this.PointToClient(MousePosition));
                }
            }
        }
Exemplo n.º 2
0
        // Salva as alterações do orçamento
        private void btnGravar_Click(object sender, EventArgs e)
        {
            // Cria um novo orçamento
            Faturamento newFaturamento;

            // Cria os dados básicos do orçamento
            int idCliente = -1; int.TryParse(txtCdCliente.Text, out idCliente);

            if (txtCdCliente.Text.Trim().Length == 0)
            {
                MessageBox.Show("Não foi possível salvar o faturamento.\n\nDeve ser selecionado um cliente",
                                "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
            }
            else
            {
                Cliente cliente = ClienteServicos.Instance.read(idCliente);
                Veiculo veiculo = (Veiculo)cboVeiculo.SelectedItem;

                newFaturamento = new Faturamento(cliente, veiculo);
                FormaPagamento formaPagamento = null;

                if (cboFormasPagamento.SelectedIndex > -1)
                {
                    formaPagamento = (FormaPagamento)cboFormasPagamento.SelectedItem;
                }

                newFaturamento.formaPagamento    = formaPagamento;
                newFaturamento._idFormaPagamento = formaPagamento != null ? formaPagamento.id : 0;


                // Verifica se vai inserir um novo registro ou então salvá-lo
                if (windowMode == Util.WindowMode.ModoDeInsercao)
                {
                    // Cria novo orçameto

                    if (FaturamentoServicos.create(ref newFaturamento))
                    {
                        getFromRepositorio();
                        btnUltimo_Click(null, null);
                    }
                    else
                    {
                        clearFields();
                    }
                }
                else if (windowMode == Util.WindowMode.ModoDeEdicao)
                {
                    // Grava orçamento já existente

                    newFaturamento.id               = faturamentos[index].id;
                    newFaturamento.servicos         = faturamentos[index].servicos;
                    newFaturamento.custosAdicionais = faturamentos[index].custosAdicionais;
                    newFaturamento.dataCriacao      = faturamentos[index].dataCriacao;
                    newFaturamento.numOrcamento     = faturamentos[index].numOrcamento;

                    if (cliente != null)
                    {
                        newFaturamento._idCliente = cliente.id;
                    }

                    if (veiculo != null)
                    {
                        newFaturamento._idVeiculo = veiculo.id;
                    }

                    if (FaturamentoServicos.update(newFaturamento))
                    {
                        getFromRepositorio();
                    }

                    fillFields();
                }

                windowMode = Util.WindowMode.ModoNormal;
                windowModeChanged();
            }
        }