private void dgvResultado_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try{
                if (retorno)
                {
                    ContratoAluguelNegocios contratoAluguelNegocios = new ContratoAluguelNegocios();

                    contratoAluguelRetorno = contratoAluguelNegocios.ConsultaPorID(int.Parse(dgvResultado.SelectedRows[0].Cells[0].Value.ToString()))[0];
                    Close();
                }
                else
                {
                    if (user.TipoUsuario.TipoUsuarioDescricao == "Administrador")
                    {
                        ContratoAluguelNegocios             contratoAluguelNegocios = new ContratoAluguelNegocios();
                        ObjetoTransferencia.ContratoAluguel contratoAluguel         = new ObjetoTransferencia.ContratoAluguel();
                        contratoAluguel = contratoAluguelNegocios.ConsultaPorID(int.Parse(dgvResultado.SelectedRows[0].Cells[0].Value.ToString()))[0];

                        frmAlterarContratoAluguel frmAlterarContratoAluguel = new frmAlterarContratoAluguel(contratoAluguel, user);
                        frmAlterarContratoAluguel.ShowDialog();
                        BtnConsultar_Click(sender, e);
                    }
                    else
                    {
                        MessageBox.Show("Somente usuários administradores.", "Permissão negada.");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Houve algum erro, por favor, tente novamente.", "Por favor, tente novamente.");
            }
        }
        public frmAlterarContratoAluguel(ObjetoTransferencia.ContratoAluguel contratoP, ObjetoTransferencia.Usuario usuario)
        {
            InitializeComponent();
            this.Region        = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
            panelInside.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, panelInside.Width, panelInside.Height, 20, 20));

            contratoAluguel = contratoP;
            user            = usuario;
        }
        public frmConsultaContratoAluguel(Boolean retornoP, ObjetoTransferencia.Usuario usuario)
        {
            InitializeComponent();
            user = usuario;
            dgvResultado.AutoGenerateColumns = false;
            contratoAluguelRetorno           = new ObjetoTransferencia.ContratoAluguel();
            this.Region        = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
            panelInside.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, panelInside.Width, panelInside.Height, 20, 20));


            retorno = retornoP;
        }
        private void dgvResultado_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                ContratoAluguelNegocios             contratoAluguelNegocios = new ContratoAluguelNegocios();
                ObjetoTransferencia.ContratoAluguel contratoAluguel         = new ObjetoTransferencia.ContratoAluguel();
                contratoAluguel = contratoAluguelNegocios.ConsultaPorID(int.Parse(dgvResultado.SelectedRows[0].Cells[0].Value.ToString()))[0];

                PastoNegocios             pastoNegocios             = new PastoNegocios();
                EstoqueLocalidadeNegocios estoqueLocalidadeNegocios = new EstoqueLocalidadeNegocios();

                contratoAluguel.Pastos                      = pastoNegocios.ConsultaPorContratoAluguel(contratoAluguel.ContratoAluguelID);
                contratoAluguel.EstoquesLocalidade          = estoqueLocalidadeNegocios.ConsultaPorContratoAluguel(contratoAluguel.ContratoAluguelID);
                contratoAluguel.QuantidadePasto             = contratoAluguel.Pastos.Count;
                contratoAluguel.QuantidadeEstoqueLocalidade = contratoAluguel.EstoquesLocalidade.Count;

                string Path = "ContratoAluguelReport.rdlc";

                List <ReportParameter> listReportParameter = new List <ReportParameter>();
                listReportParameter.Add(new ReportParameter("TipoRelatorio", "Relatório de Contrato de Aluguel"));
                listReportParameter.Add(new ReportParameter("UsuarioEmissor", usuario.UsuarioNome));
                listReportParameter.Add(new ReportParameter("DataEmissao", DateTime.Now.ToString("dd/MM/yyy")));
                listReportParameter.Add(new ReportParameter("ContratoAluguelID", contratoAluguel.ContratoAluguelID.ToString()));
                listReportParameter.Add(new ReportParameter("ContratoAluguelDataInicial", contratoAluguel.ContratoAluguelDataInicial.ToString()));
                listReportParameter.Add(new ReportParameter("ContratoAluguelDataFinal", contratoAluguel.ContratoAluguelDataFinal.ToString()));
                listReportParameter.Add(new ReportParameter("ContratoAluguelValor", contratoAluguel.ContratoAluguelValor.ToString()));
                listReportParameter.Add(new ReportParameter("QuantidadeEstoqueLocalidade", contratoAluguel.EstoquesLocalidade.Count.ToString()));
                listReportParameter.Add(new ReportParameter("QuantidadePasto", contratoAluguel.Pastos.Count.ToString()));
                if (contratoAluguel.Pessoa.PessoaFisica.PessoaFisicaCPF != "")
                {
                    listReportParameter.Add(new ReportParameter("Pessoa", "Pessoa Física: " + contratoAluguel.Pessoa.PessoaID.ToString() +
                                                                " | " + contratoAluguel.Pessoa.PessoaFisica.PessoaFisicaCPF +
                                                                " | " + contratoAluguel.Pessoa.PessoaFisica.PessoaFisicaNome + "."));
                }
                else
                {
                    listReportParameter.Add(new ReportParameter("Pessoa", "Pessoa Jurídica: " + contratoAluguel.Pessoa.PessoaID.ToString() +
                                                                " | " + contratoAluguel.Pessoa.PessoaJuridica.PessoaJuridicaCNPJ +
                                                                " | " + contratoAluguel.Pessoa.PessoaJuridica.PessoaJuridicaRazaoSocial +
                                                                " | " + contratoAluguel.Pessoa.PessoaJuridica.PessoaJuridicaNomeFicticio + "."));
                }

                List <ReportDataSource> reportDataSources = new List <ReportDataSource>();

                List <PastoRelatorio> pastosRelatorio = new List <PastoRelatorio>();
                for (int i = 0; i < contratoAluguel.Pastos.Count; i++)
                {
                    pastosRelatorio.Add(new PastoRelatorio()
                    {
                        PastoID        = contratoAluguel.Pastos[i].PastoID,
                        PastoDescricao = contratoAluguel.Pastos[i].PastoDescricao,
                        PastoTamanho   = contratoAluguel.Pastos[i].PastoTamanho,
                        PastoAtivo     = contratoAluguel.Pastos[i].PastoAtivo,
                        CidadeNome     = contratoAluguel.Pastos[i].Cidade.CidadeNome,
                        EstadoNome     = contratoAluguel.Pastos[i].Cidade.EstadoNome
                    });
                }
                reportDataSources.Add(new ReportDataSource("DataSetPasto", pastosRelatorio));

                List <EstoqueLocalidadeRelatorio> estoquesLocalidadeRelatorio = new List <EstoqueLocalidadeRelatorio>();
                for (int i = 0; i < contratoAluguel.EstoquesLocalidade.Count; i++)
                {
                    estoquesLocalidadeRelatorio.Add(new EstoqueLocalidadeRelatorio()
                    {
                        EstoqueLocalidadeID        = contratoAluguel.EstoquesLocalidade[i].EstoqueLocalidadeID,
                        EstoqueLocalidadeDescricao = contratoAluguel.EstoquesLocalidade[i].EstoqueLocalidadeDescricao,
                        EstoqueLocalidadeEndereco  = contratoAluguel.EstoquesLocalidade[i].EstoqueLocalidadeEndereco,
                        CidadeNome = contratoAluguel.EstoquesLocalidade[i].Cidade.CidadeNome,
                        EstadoNome = contratoAluguel.EstoquesLocalidade[i].Cidade.EstadoNome
                    });
                }
                reportDataSources.Add(new ReportDataSource("DataSetEstoqueLocalidade", estoquesLocalidadeRelatorio));


                Variados.Reports.ReportGenerator report = new Variados.Reports.ReportGenerator();
                report.CallReport(Path, reportDataSources, listReportParameter);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Houve algum erro, por favor, tente novamente.", "Por favor, tente novamente.");
            }
        }