Beispiel #1
0
        private void BtnCadastrar_Click(object sender, EventArgs e)
        {
            string codDesativado = "";

            try
            {
                codDesativado = database.selectScalar(string.Format("SELECT cod_chave FROM chave" +
                                                                    " WHERE indice_chave = '{0}'", codigoChave));
            }
            catch { }

            int    contErros    = 0;
            string texto        = "Não foi possível cadastrar a retirada. Verifique os campos abaixo e tente novamente.\n\n";
            string tipoRetirada = groupTipo.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;

            if (tipoRetirada == "Proprietário (a)")
            {
                tipoRetirada = "PROPRIETARIO";
            }
            else if (tipoRetirada == "Funcionário (a)")
            {
                tipoRetirada = "FUNCIONARIO";
            }
            else
            {
                tipoRetirada = "OUTRO";
            }


            if (quemRetirouBox.Text.Length == 0)
            {
                contErros++;
                texto += "\n- Quem retirou (Preenchimento obrigatório)";
            }

            if (descricaoBox.Text.Length == 0)
            {
                contErros++;
                texto += "\n- Descrição/motivo (Preenchimento obrigatório)";
            }

            string dataAgora = dataHora.ToString("yyyy-MM-dd H:mm:ss");

            if (contErros == 0)
            {
                FormatarStrings format = new FormatarStrings();
                try
                {
                    database.insertInto(string.Format("INSERT INTO retirado (cod_chave, tipo_retirada, quem_retirou, descricao, data_retirada, cod_usuario, codigo_desativado)" +
                                                      " VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}')", codigoChave, tipoRetirada, format.inserirBD(quemRetirouBox.Text),
                                                      format.inserirBD(descricaoBox.Text), dataAgora, usuario, codDesativado));

                    database.update(string.Format("UPDATE chave " +
                                                  " SET situacao = 'INDISPONIVEL', localizacao = '{0}'," +
                                                  " situacao_imovel = 'INATIVO', cod_chave = null" +
                                                  " WHERE indice_chave = '{1}'", tipoRetirada, codigoChave));

                    database.update(string.Format("UPDATE reserva r" +
                                                  " SET situacao = 'FINALIZADO'" +
                                                  " FROM chaves_reserva cr" +
                                                  " WHERE  cr.cod_reserva = r.cod_reserva" +
                                                  " AND cod_chave = '{0}'", codigoChave));

                    database.delete(string.Format("DELETE FROM chaves_reserva cr" +
                                                  " USING reserva r" +
                                                  " WHERE cr.cod_reserva = r.cod_reserva" +
                                                  " AND cod_chave = '{0}'", codigoChave));

                    Message caixaMensagem = new Message("Chave retirada com sucesso!", "", "sucesso", "confirma");
                    caixaMensagem.ShowDialog();

                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                catch (Exception erro)
                {
                    Message caixaMensagem = new Message("Não foi possível cadastrar a retirada! \n\n Erro: " + erro.Message, "", "erro", "confirma");
                    caixaMensagem.ShowDialog();
                }
            }

            else
            {
                Message boxMsg = new Message(texto, "Erro ao cadastrar", "erro", "confirma");
                boxMsg.ShowDialog();
            }
        }
        private void BtnCadastrar_Click(object sender, EventArgs e)
        {
            string       cpf           = boxCpf.Text.Trim();
            string       verifCliente  = "0";
            DialogResult verifCadastro = DialogResult.Yes;


            if (cpf != "")
            {
                try
                {
                    verifCliente = database.selectScalar(string.Format("" +
                                                                       "SELECT count(cpf) FROM cliente WHERE cpf = '{0}'", cpf));
                }
                catch { }
            }

            if (int.Parse(verifCliente) > 0 && seletorTela == false)
            {
                Message caixaMensagem = new Message(string.Format("O CPF {0} ja está cadastrado! Deseja cadastrar mesmo assim?", boxCpf.Text.Trim()),
                                                    "Cliente já cadastrado", "aviso", "escolha");
                caixaMensagem.ShowDialog();

                verifCadastro = caixaMensagem.DialogResult;
                boxCpf.Text   = "";
            }
            if (DialogResult.Yes == verifCadastro)
            {
                string erros     = "";
                int    contErros = 0;

                if (boxCpf.Text.Length > 0 && boxCpf.Text.Length < 11)
                {
                    erros += "\n-CPF (É necessário ter 11 dígitos)";
                    contErros++;
                }

                if (boxNome.Text.Length == 0)
                {
                    erros += "\n-Nome (campo obrigatório)";
                    contErros++;
                }

                //if (comboDoc.SelectedIndex == -1)
                //{
                //    erros += "\n-Tipo do documento (Escolha obrigatória)";
                //    contErros++;
                //}
                if (boxEmail.Text.Length > 0 && (!boxEmail.Text.Contains("@") || !boxEmail.Text.Contains(".")))
                {
                    erros += "\n-Email (Formato incorreto)";
                    contErros++;
                }
                if (boxContato.Text.Length > 0 && boxContato.Text.Length < 10)
                {
                    erros += "\n-Contato principal (Precisa ter no mínimo 10 números";
                    contErros++;
                }
                if (boxContato2.Text.Length > 0 && boxContato2.Text.Length < 10)
                {
                    erros += "\n-Contato secundário (Precisa ter no mínimo 10 números";
                    contErros++;
                }

                FormatarStrings format = new FormatarStrings();

                string tipoDoc = "";

                try
                {
                    tipoDoc = comboDoc.SelectedItem.ToString().Trim();
                }
                catch
                {
                }

                if (contErros == 0)
                {
                    if (seletorTela == false)
                    {
                        try
                        {
                            database.insertInto(string.Format("" +
                                                              "INSERT INTO cliente (nome_cliente, cpf, email, tipo_documento, documento, contato_principal, contato_secundario, endereco)" +
                                                              " VALUES ('{0}', '{1}','{2}','{3}','{4}','{5}','{6}','{7}')", format.inserirBD(boxNome.Text.Trim()),
                                                              boxCpf.Text.Trim(), format.inserirBD(boxEmail.Text.Trim()), tipoDoc,
                                                              boxNumDoc.Text.Trim(), boxContato.Text.Trim(), boxContato2.Text.Trim(), format.inserirBD(boxEndereco.Text.Trim())));

                            Message caixaMessage = new Message("Cliente cadastrado com sucesso!", "Sucesso", "sucesso", "confirma");
                            caixaMessage.ShowDialog();

                            this.DialogResult = DialogResult.Yes;
                            this.Close();
                        }
                        catch (Exception erro)
                        {
                            Message caixaMessage = new Message("Não foi possível cadastrar pelo seguinte erro: \n\n-" + erro.Message, "Erro", "erro", "confirma");
                            caixaMessage.ShowDialog();
                        }
                    }
                    else
                    {
                        try
                        {
                            database.update(string.Format("" +
                                                          "UPDATE cliente" +
                                                          " SET nome_cliente = '{0}', cpf = '{1}', email = '{2}', tipo_documento = '{3}', documento = '{4}'," +
                                                          " contato_principal = '{5}', contato_secundario = '{6}', endereco = '{7}'" +
                                                          " WHERE cod_cliente = '{8}'", format.inserirBD(boxNome.Text.Trim()),
                                                          boxCpf.Text.Trim(), format.inserirBD(boxEmail.Text.Trim()), tipoDoc,
                                                          boxNumDoc.Text.Trim(), boxContato.Text.Trim(), boxContato2.Text.Trim(), format.inserirBD(boxEndereco.Text.Trim()), codigoCliente));

                            Message caixaMessage = new Message("Cliente editado com sucesso!", "Sucesso", "sucesso", "confirma");
                            caixaMessage.ShowDialog();

                            this.DialogResult = DialogResult.Yes;
                            this.Close();
                        }
                        catch (Exception erro)
                        {
                            Message caixaMessage = new Message("Não foi possível editar o cadastro!\nErro: " + erro.Message, "Sucesso", "sucesso", "confirma");
                            caixaMessage.ShowDialog();
                        }
                    }
                }
                else
                {
                    Message caixaMessage = new Message("Há erros no preenchemento do formulário! Confira: \n" + erros, "Erro no preenchimento", "erro", "confirma");
                    caixaMessage.ShowDialog();
                }
            }
        }
Beispiel #3
0
        private void BtnCadastrar_Click(object sender, EventArgs e)
        {
            bool verifExist = verificarExistencia();


            if (verifExist == true)
            {
                int contErros = 0;

                if (nomeBox.Text.Length == 0 || !nomeBox.Text.Contains(" "))
                {
                    contErros++;
                }


                if (contatoBox.Text.Length == 0)
                {
                    contErros++;
                }


                if (contErros == 0)
                {
                    FormatarStrings format = new FormatarStrings();
                    try
                    {
                        if (seletorTela == false)
                        {
                            database.insertInto(string.Format("INSERT INTO proprietario (nome, contato, email)" +
                                                              " VALUES ('{0}', '{1}', '{2}')", format.inserirBD(nomeBox.Text.Trim()), contatoBox.Text.Trim(),
                                                              format.inserirBD(emailBox.Text.Trim())));

                            Message caixaMensagem = new Message("O cadastro foi efetuado com sucesso!",
                                                                "Sucesso", "sucesso", "confirma");
                            caixaMensagem.ShowDialog();

                            this.Close();
                            this.DialogResult = DialogResult.OK;
                        }

                        else
                        {
                            database.update(string.Format("UPDATE proprietario " +
                                                          " SET nome = '{0}', contato = '{1}', email = '{2}'" +
                                                          " WHERE cod_proprietario = '{3}'", format.inserirBD(nomeBox.Text.Trim()), contatoBox.Text.Trim(), format.inserirBD(emailBox.Text.Trim()), codProprietario));

                            Message caixaMensagem = new Message("O cadastro foi atualizado com sucesso!",
                                                                "Sucesso", "sucesso", "confirma");
                            caixaMensagem.ShowDialog();

                            this.Close();
                            this.DialogResult = DialogResult.Yes;
                        }
                    }
                    catch (Exception erro)
                    {
                        Message caixaMensagem = new Message("Não foi possível acessar o banco de dados no momento pelo seguinte motivo:\n\n" + erro.Message,
                                                            "Erro no banco de dados", "erro", "confirma");
                        caixaMensagem.ShowDialog();
                    }
                }
                else
                {
                    Message caixaMensagem = new Message("Há campos não preenchidos corretamente! Verifique e tente novamente",
                                                        "Erro no banco de dados", "erro", "confirma");
                    caixaMensagem.ShowDialog();
                }
            }
        }
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            int contErros = 0;

            foreach (DataGridViewRow row in gridChaves.Rows)
            {
                if (row.Cells[6].Value.ToString() == "0" && row.Cells[7].Value.ToString() == "0")
                {
                    contErros++;
                }
            }

            if (contErros > 0)
            {
                Message msg = new Message("Nem todas as chaves possui quantidade de chaves/controle devolvidos! Preencha-os e tente novamente.",
                                          "", "erro", "confirma");
                msg.ShowDialog();
            }

            else
            {
                try
                {
                    string aviso = "Há divergências na quantidade de chaves ou de controles. Verifique abaixo:";


                    int contDivergencia = 0;
                    foreach (DataGridViewRow row in gridChaves.Rows)
                    {
                        if (row.Cells[3].Value.ToString() != row.Cells[6].Value.ToString() || row.Cells[4].Value.ToString() != row.Cells[7].Value.ToString())
                        {
                            contDivergencia++;
                            aviso += string.Format("\n\nCódigo: {0} - Foram devolvidos {1} chave(s) e {2} controle(s). \nForam retirados: {3} chave(s) e {4} controle(s)",
                                                   row.Cells[1].Value.ToString(), row.Cells[6].Value.ToString(), row.Cells[7].Value.ToString(), row.Cells[3].Value.ToString(), row.Cells[4].Value.ToString());
                        }
                    }

                    DialogResult verificar = DialogResult.Yes;

                    if (contDivergencia > 0)
                    {
                        Message caixMensagem = new Message(aviso,
                                                           "", "aviso", "escolha");
                        caixMensagem.ShowDialog();
                        verificar = caixMensagem.DialogResult;
                    }


                    if (verificar == DialogResult.Yes)
                    {
                        FormatarStrings format = new FormatarStrings();

                        foreach (DataGridViewRow row in gridChaves.Rows)
                        {
                            //    string sitChave = database.selectScalar(string.Format("SELECT situacao FROM chave" +
                            //                                                            " WHERE indice_chave = '{0}'",
                            //                                                            row.Cells[5].Value.ToString()));

                            if (row.Cells[1].Value.ToString() != "" && row.Cells[1].Value.ToString() != null)
                            {
                                database.update(string.Format("UPDATE chave" +
                                                              " SET situacao = 'DISPONIVEL', localizacao = 'IMOBILIARIA'" +
                                                              " WHERE indice_chave = '{0}'", row.Cells[5].Value.ToString()));
                            }



                            if (!(row.Cells[8].Value.ToString() == "" && row.Cells[9].Value.ToString() == "" && row.Cells[10].Value.ToString() == "" && row.Cells[11].Value.ToString() == ""))
                            {
                                database.insertInto(string.Format("INSERT INTO proposta (cod_chave, valor, condominio, forma_locacao, outros, emprestimo, data)" +
                                                                  " VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}')", row.Cells[5].Value.ToString(), format.inserirBD(row.Cells[8].Value.ToString()), format.inserirBD(row.Cells[9].Value.ToString()),
                                                                  format.inserirBD(row.Cells[10].Value.ToString()), format.inserirBD(row.Cells[11].Value.ToString()), codigoEmprestimo, dataHoje));
                            }
                        }

                        dataHoje = Convert.ToDateTime(dataHoje.ToString("yyyy-MM-dd HH:mm:ss"));


                        //if (qtdChaves.Value != quantChaves || qtdControles.Value != quantControles)
                        //{
                        //    Message caixMensagem = new Message(string.Format("Há divergências na quantidade de chaves ou de controles." +
                        //        " Foram retirados:\n - {0} chaves\n - {1} controles\n\nDeseja registrar a devolução mesmo assim?", quantChaves, quantControles),
                        //        "", "aviso", "escolha");
                        //    caixMensagem.ShowDialog();
                        //    verificar = caixMensagem.DialogResult;
                        //}

                        database.update(string.Format("UPDATE emprestimo" +
                                                      " SET data_entrega = '{0}', usuario_devolucao = '{1}', desc_devolucao = '{2}'" +
                                                      " WHERE cod_emprestimo = '{3}'", dataHoje, usuario, boxDescDevolucao.Text, codigoEmprestimo));



                        this.DialogResult = DialogResult.OK;

                        Message popup = new Message("A chave foi devolvida com sucesso! Por favor, coloque-a no quadro.", "", "sucesso", "confirma");
                        popup.ShowDialog();
                        this.Close();

                        verificarReserva();
                    }
                }

                catch (Exception erro)
                {
                    Message popup = new Message("Não foi possível realizar a solicitação pelo seguinte erro:\n\n" + erro.Message, "Erro", "erro", "confirma");
                    popup.ShowDialog();
                }
            }
        }
Beispiel #5
0
        private void BtnCadastrar_Click(object sender, EventArgs e)
        {
            int contErro = 0;

            string erro = "Não foi possível cadastrar a chave. Por favor, verifique os campos abaixo:\n";

            if (codImovel.Text.Length == 0)
            {
                erro += "\n- Código do Imóvel (não pode ficar vazio)";
                contErro++;
            }
            if (comboLocalizacao.SelectedIndex == -1)
            {
                erro += "\n- Localização do imóvel (Não pode ficar vazio)";
                contErro++;
            }

            try
            {
                if (boxOutraLocalizacao.Text.Length <= 0 && comboLocalizacao.SelectedItem.ToString() == "Outro")
                {
                    erro += "\n- Outra localização (Não pode ficar vazio)";
                    contErro++;
                }
            }
            catch { }

            if (boxLogradouro.Text.Length == 0)
            {
                erro += "\n- Logradouro (Não pode ficar vazio)";
                contErro++;
            }
            if (boxCidade.Text.Length == 0)
            {
                erro += "\n- Cidade(Não pode ficar vazio)";
                contErro++;
            }
            if (boxBairro.Text.Length == 0)
            {
                erro += "\n- Bairro (Não pode ficar vazio)";
                contErro++;
            }
            if (boxEstado.Text.Length == 0)
            {
                erro += "\n- Estado (Não pode ficar vazio)";
                contErro++;
            }
            if (boxNumero.Text.Length == 0)
            {
                erro += "\n- Número (Não pode ficar vazio)";
                contErro++;
            }
            if (radioChaveDisponivel.Checked == false && radioChaveIndisponivel.Checked == false)
            {
                erro += "\n- Situação da Chave (Seleção Obrigatória)";
                contErro++;
            }
            if (radioImovAtivo.Checked == false && radioImovInativo.Checked == false)
            {
                erro += "\n- Situação do imóvel (Seleção Obrigatória)";
                contErro++;
            }
            if (radioTipoCom.Checked == false && radioTipoRes.Checked == false)
            {
                erro += "\n- Tipo do imóvel (Seleção Obrigatória)";
                contErro++;
            }
            if (checkLocacao.Checked == false && checkVenda.Checked == false)
            {
                erro += "\n- Finalidade (Seleção Obrigatória)";
                contErro++;
            }

            if (boxCodProp.Text.Length == 0)
            {
                erro += "\n- Código do proprietário (Não pode ficar vazio)";
                contErro++;
            }
            if (boxCategImov.Text.Length == 0)
            {
                erro += "\n- Categoria do imóvel (Não pode ficar vazio)";
                contErro++;
            }

            FormatarStrings format = new FormatarStrings();

            if (contErro == 0)
            {
                string codigoImovel     = codImovel.Text.Trim();
                string logradouro       = format.inserirBD(boxLogradouro.Text.Trim());
                string cidade           = format.inserirBD(boxCidade.Text.Trim());
                string bairro           = format.inserirBD(boxBairro.Text.Trim());
                string estado           = format.inserirBD(boxEstado.Text.Trim());
                string numero           = format.inserirBD(boxNumero.Text.Trim());
                string complemento      = format.inserirBD(boxComplemento.Text.Trim());
                string codProprietario  = boxCodProp.Text.Trim();
                string situacaoChave    = groupSitChave.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;
                string situacaoImovel   = groupSitImovel.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;
                string tipoImovel       = groupTipoImovel.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text;;
                string finalidadeImovel = "";
                string aviso            = boxAviso.Text;

                if (checkLocacao.Checked && checkVenda.Checked)
                {
                    finalidadeImovel = "LOCAÇÃO/VENDA";
                }
                else if (checkLocacao.Checked && !checkVenda.Checked)
                {
                    finalidadeImovel = "LOCAÇÃO";
                }
                else if (!checkLocacao.Checked && checkVenda.Checked)
                {
                    finalidadeImovel = "VENDA";
                }


                string localizacao = "";

                if (comboLocalizacao.SelectedItem.ToString() == "Outro")
                {
                    localizacao = format.inserirBD(boxOutraLocalizacao.Text.Trim());
                }
                else
                {
                    localizacao = comboLocalizacao.SelectedItem.ToString();
                }

                try
                {
                    string proxCod = proximoCodigo();
                    if (seletorTela == false)
                    {
                        if (verificarExistencia(codImovel.Text) == true)
                        {
                            Message msg = new Message(string.Format("Já existe um cadastro de chave do imóvel {0}", codImovel.Text), "", "erro", "confirma");
                            msg.ShowDialog();
                        }
                        else
                        {
                            //MessageBox.Show(usuario);
                            database.insertInto(string.Format("" +
                                                              "INSERT INTO chave (rua, numero, complemento, bairro, cidade, estado, situacao," +
                                                              " localizacao, proprietario, cod_imob, tipo_imovel, finalidade, situacao_imovel, cod_chave," +
                                                              " quant_chaves, cond, categoria_imovel, aviso, data_cadastro, funcionario)" +
                                                              " VALUES ('{0}', '{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}'," +
                                                              " '{11}','{12}', '{13}', '{14}', '{15}', '{16}', '{17}', '{18}', '{19}')", logradouro, numero, complemento, bairro, cidade, estado, situacaoChave,
                                                              localizacao, codProprietario, codigoImovel, tipoImovel, finalidadeImovel, situacaoImovel, proxCod, boxQtdChaves.Value,
                                                              boxCond.Text, boxCategImov.Text, aviso, dataHoje, usuario));

                            Message popup = new Message("A chave foi cadastrada com o código " + proxCod + "!" +
                                                        "\n Deseja imprimir a etiqueta da chave?", "", "sucesso", "escolha");
                            popup.ShowDialog();

                            if (popup.DialogResult == DialogResult.Yes)
                            {
                                try
                                {
                                    ImprimirEtiquetas imprimir = new ImprimirEtiquetas(
                                        database.selectScalar(string.Format("SELECT indice_chave" +
                                                                            " FROM chave" +
                                                                            " WHERE cod_chave = '{0}'", proxCod)));
                                    imprimir.ShowDialog();
                                }
                                catch (Exception error)
                                {
                                    Message erroMsg = new Message("Não foi possível imprimir a etiqueta. \n\nERRO: " + error.Message
                                                                  , "", "erro", "confirma");
                                    erroMsg.ShowDialog();
                                }
                            }
                        }



                        this.Close();

                        this.DialogResult = DialogResult.Yes;
                    }
                    else
                    {
                        database.update(string.Format("" +
                                                      "UPDATE chave " +
                                                      " SET rua = '{0}', numero = '{1}', complemento = '{2}', bairro = '{3}', " +
                                                      " cidade = '{4}', estado = '{5}', situacao = '{6}', localizacao = '{7}', proprietario = '{8}', " +
                                                      " cod_imob = '{9}', tipo_imovel = '{10}', finalidade = '{11}', situacao_imovel = '{12}', quant_chaves = '{13}', cond = '{14}', categoria_imovel = '{15}', aviso = '{16}' " +
                                                      " WHERE indice_chave = '{17}'", logradouro, numero, complemento, bairro, cidade, estado, situacaoChave,
                                                      localizacao, codProprietario, codigoImovel, tipoImovel, finalidadeImovel, situacaoImovel, boxQtdChaves.Value,
                                                      boxCond.Text, boxCategImov.Text, aviso, codChave));



                        this.Close();

                        this.DialogResult = DialogResult.OK;
                    }
                }
                catch (Exception error)
                {
                    Message popup = new Message("Não foi possível cadastrar a chave pelo seguinte erro: \n\n" + error.Message, "Erro ao cadastrar", "erro", "confirma");
                    popup.ShowDialog();
                }
            }
            else
            {
                Message popup = new Message(erro, "Erro ao cadastrar", "erro", "confirma");
                popup.ShowDialog();
            }
        }
Beispiel #6
0
        private void BtnConfirmar_Click(object sender, EventArgs e)
        {
            int    contErros = 0;
            string erros     = "";

            FormatarStrings format = new FormatarStrings();

            string   tipo         = groupQuemEmpresta.Controls.OfType <RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text.ToLower();
            string   descricao    = format.inserirBD(descBox.Text);
            string   codigo       = codPessoaBox.Text;
            string   codCliente   = "";
            DateTime dataHojeUs   = new DateTime();
            DateTime dataRetirada = new DateTime();


            //Data de previsão
            try
            {
                dataRetirada = dateRetirada.Value;

                dataRetirada = Convert.ToDateTime(dataRetirada.ToString("yyyy-MM-dd HH:mm:ss"));
            }
            catch
            {
                contErros++;
                erros += "\n-Previsão de entrega (Escolha obrigatória)";
            }



            //Quem está emprestando
            if (tipo.Length == 0)
            {
                contErros++;
                erros += "\n-Quem está emprestando (Seleção obrigatória)";
            }
            //Data previsão
            if (dataRetirada.Date == null)
            {
                contErros++;
                erros += "\n-Previsão de entrega (Seleção obrigatória)";
            }

            if (codPessoaBox.Text.Length <= 0)
            {
                contErros++;
                erros += "\n-Dados do cliente/funcionário (Inserção obrigatória)";
            }
            if (gridChaves.Rows.Count == 0)
            {
                contErros++;
                erros += "\n-Nenhuma chave selecionada!";
            }

            int contErrosProp = 0;

            foreach (DataGridViewRow row in gridChaves.Rows)
            {
                string proprietario = database.selectScalar(string.Format("SELECT proprietario" +
                                                                          " FROM chave" +
                                                                          " WHERE indice_chave = '{0}'", row.Cells[3].Value.ToString()));

                if (proprietario != codPessoaBox.Text && radioProprietario.Checked)
                {
                    contErrosProp++;
                    contErros++;
                }
            }


            if (contErrosProp > 0)
            {
                erros += "\n-Nem todas as chaves pertencem ao mesmo proprietário!";
            }
            if (contErros == 0)
            {
                string proxCod = database.selectScalar("SELECT MAX(cod_reserva) + 1 FROM reserva");
                try
                {
                    if (tipo == "proprietario")
                    {
                        database.insertInto(string.Format("" +
                                                          "INSERT INTO reserva (data_reserva, descricao, cod_usuario, cod_proprietario)" +
                                                          " VALUES ('{0}', '{1}', '{2}', '{3}')",
                                                          dataRetirada, descricao, user, codPessoaBox.Text));
                    }
                    else if (tipo == "cliente")
                    {
                        database.insertInto(string.Format("" +
                                                          "INSERT INTO reserva (data_reserva, descricao, cod_usuario, cod_cliente)" +
                                                          " VALUES ('{0}', '{1}', '{2}', '{3}')",
                                                          dataRetirada, descricao, user, codPessoaBox.Text));
                    }
                    else
                    {
                        database.insertInto(string.Format("" +
                                                          "INSERT INTO reserva (data_reserva, descricao, cod_usuario)" +
                                                          " VALUES ('{0}', '{1}', '{2}')",
                                                          dataRetirada, descricao, codPessoaBox.Text));
                    }

                    foreach (DataGridViewRow row in gridChaves.Rows)
                    {
                        database.insertInto(string.Format("INSERT INTO chaves_reserva" +
                                                          " VALUES ((SELECT MAX(cod_reserva) FROM reserva), '{0}')", row.Cells[3].Value.ToString()));
                    }


                    Message caixaMensagem = new Message("Reserva cadastrada com sucesso! Você deseja imprimir a(s) etiqueta(s)?", "", "sucesso", "escolha");
                    caixaMensagem.ShowDialog();

                    try
                    {
                        if (caixaMensagem.DialogResult == DialogResult.Yes)
                        {
                            GerarRecibos gr = new GerarRecibos();
                            gr.reciboReserva(imagem, proxCod);
                            PrintImages();
                        }
                    }
                    catch (Exception erro)
                    {
                        Message msg = new Message(string.Format("Não foi possível imprimir a(s) etiqueta(s) no momento. \nErro: {0}", erro.Message), "", "erro", "confirma");
                        msg.ShowDialog();
                    }


                    this.Close();
                    this.DialogResult = DialogResult.OK;
                }
                catch (Exception erro)
                {
                    Message caixaMensagem = new Message("Erro ao cadastrar! \n\nDescrição: " + erro.Message, "Erro no banco de dados", "erro", "confirma");
                    caixaMensagem.ShowDialog();
                }
            }

            //}
            else
            {
                Message caixaMensagem = new Message("Corrija os erros abaixo antes de continuar!\n-" + erros, "Erro de preenchimento",
                                                    "erro", "confirma");
                caixaMensagem.ShowDialog();
            }



            //    int contErros = 0;
            //    string erros = "";

            //    FormatarStrings format = new FormatarStrings();

            //    string tipo = groupQuemEmpresta.Controls.OfType<RadioButton>().SingleOrDefault(rad => rad.Checked == true).Text.ToLower();
            //    string descricao = format.inserirBD(descBox.Text);
            //    string codigo = codPessoaBox.Text;
            //    DateTime dataHojeUs = new DateTime();



            //    //Quem está emprestando
            //    if (tipo.Length == 0)
            //    {
            //        contErros++;
            //        erros += "\n-Quem está reservando (Seleção obrigatória)";
            //    }

            //    if (codPessoaBox.Text.Length <= 0)
            //    {
            //        contErros++;
            //        erros += "\n-Dados do cliente/funcionário (Inserção obrigatória)";
            //    }

            //    if (contErros == 0)
            //    {
            //        //try
            //        //{
            //            if (tipo == "proprietario")
            //            {
            //                database.insertInto(string.Format("INSERT INTO reserva (cod_chave, data_reserva, cod_proprietario, cod_usuario, descricao)" +
            //                                                    " VALUES ('{0}', '{1}', '{2}', '{3}', '{4}')", codigoChave, dateRetirada.Value,
            //                                                    codPessoaBox.Text, user, format.inserirBD(descBox.Text)));
            //            }
            //            else if (tipo == "cliente")
            //            {
            //                database.insertInto(string.Format("INSERT INTO reserva (cod_chave, data_reserva, cod_cliente, cod_usuario, descricao)" +
            //                                                    " VALUES ('{0}', '{1}', '{2}', '{3}', '{4}')", codigoChave, dateRetirada.Value,
            //                                                    codPessoaBox.Text, user, format.inserirBD(descBox.Text)));
            //            }
            //            else
            //            {
            //                database.insertInto(string.Format("INSERT INTO reserva (cod_chave, data_reserva, cod_usuario, descricao)" +
            //                                                   " VALUES ('{0}', '{1}', '{2}', '{3}')", codigoChave, dateRetirada.Value, user, format.inserirBD(descBox.Text)));
            //            }

            //            Message popup = new Message("Reserva efetuada com sucesso!", "", "sucesso", "confirma");
            //            popup.ShowDialog();

            //            this.Close();
            //        //}
            //        //catch (Exception erro)
            //        //{
            //        //    Message popup = new Message("Não foi possível reservar a chave pelo seguinte erro: \n\n- " + erro.Message,
            //        //        "", "erro", "confirma");
            //        //    popup.ShowDialog();

            //        //}

            //    }
        }