示例#1
0
        private void Salva()
        {
            if (!editando)
            {
                return;
            }
            bool ok = false;

            if (tbCodigo.Text.Length <= 0)
            {
                if (MessageBox.Show("Código em branco, deseja gerar um código automaticamente?",
                                    "Aviso",
                                    MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Information) == DialogResult.Yes)
                {
                    tbCodigo.Text = orcamentoDAO.BuscaProxCodigoDisponivel().ToString();
                }
                ok = false;
                return;
            }

            if (listaorcamentoitens.Count <= 0)
            {
                MessageBox.Show("Um orçamento não pode ser salvo sem itens!",
                                "Problema ao salvar",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }

            orcamento = new Orcamento
            {
                OrcamentoID  = int.Parse(tbCodigo.Text),
                Pessoa       = buscaPessoa.pessoa,
                DataCadastro = dtpCadastro.Value,
                DataValidade = cbVencimento.Checked ? dtpVencimento.Value : (DateTime?)null,

                ValorTotalItens     = dbValorTotalItens.Valor,
                DescontoTotalItens  = dbDescontoTotalItens.Valor,
                DescontoOrcamento   = dbDescontoOrcamento.Valor,
                ValorTotalOrcamento = dbValorTotalOrcamento.Valor,

                OrcamentoItem = listaorcamentoitens
            };

            var controls = (ControlCollection)this.Controls;

            ok = validacao.ValidarEntidade(orcamento, controls);

            if (ok)
            {
                validacao.despintarCampos(controls);

                int resultado = orcamentoDAO.SalvaOuAtualiza(orcamento);

                if (resultado == 0)
                {
                    MessageBox.Show("Problema ao salvar o registro",
                                    "Problema ao salvar",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
                else if (resultado == 1)
                {
                    tbAjuda.Text = "Dados salvos com sucesso";
                    Editando(false);
                    btNotaGerar.Enabled = true;
                }
                else if (resultado == 2)
                {
                    tbAjuda.Text = "Dados atualizados com sucesso";
                    Editando(false);
                }
            }

            PreencheGridItens(listaorcamentoitens);
        }