private List <EscaladorDTO> DadosEscalador(string identidadeEscalador)
        {
            using (var banco = new DBEscaladores())
            {
                /*Procura no banco usando a  identidade*/
                var dadosEscalador = banco.Escaladores.Where(E => identidadeEscalador == E.identidade)
                                     .Select(E => new EscaladorDTO
                {
                    TelefoneEmergencia    = E.telefoneEmergencia,
                    NomeContatoEmergencia = E.nomeContatoEmergencia,
                    TipoIdentidade        = E.tipoIdentidade,
                    Telefone            = E.telefone,
                    TipoSanguineo       = E.tipoSanguineo,
                    Genero              = E.genero,
                    Identidade          = E.identidade,
                    Nome                = E.nome,
                    Bairro              = E.bairro,
                    CEP                 = E.CEP,
                    ClubeAssociacao     = E.clubeAssociacao,
                    ComplementoEndereco = E.complementoEndereco,
                    Email               = E.email,
                    Endereco            = E.endereco,
                    NumEndereco         = E.numEndereco,
                    Cidade              = E.cidade,
                    Estado              = E.UF,
                    Paises              = E.país
                }).ToList();

                return(dadosEscalador);
            }
        }
        private void BtnBuscarEscalador_Click(object sender, EventArgs e)
        {
            using (var banco = new DBEscaladores())
            {
                _editarEscalador = banco.Escaladores.Find(txtBuscarIdentidade.Text);
            }
            if (_editarEscalador != null)
            {
                txtAlterarNome.Text               = _editarEscalador.nome;
                txtAlterarBairro.Text             = _editarEscalador.bairro;
                txtAlterarCEP.Text                = _editarEscalador.CEP;
                txtAlterarClubeAssociacao.Text    = _editarEscalador.clubeAssociacao;
                txtAlterarComplemento.Text        = _editarEscalador.complementoEndereco;
                txtAlterarContatoEmergencia.Text  = _editarEscalador.nomeContatoEmergencia;
                txtAlterarEmail.Text              = _editarEscalador.email;
                txtAlterarEndereco.Text           = _editarEscalador.endereco;
                txtAlterarNumeroEndereco.Text     = Convert.ToString(_editarEscalador.numEndereco);
                txtAlterarProfissao.Text          = _editarEscalador.profissao;
                txtAlterarTelefoneEmergencia.Text = _editarEscalador.telefoneEmergencia;
                txtAlterarTelefoneEscalador.Text  = _editarEscalador.telefone;
                cmbAlterarCidadeEscalador.Text    = _editarEscalador.cidade;
                cmbAlterarEstadoEscalador.Text    = _editarEscalador.UF;
                cmbAlterarPaísEscalador.Text      = _editarEscalador.país;
            }

            else
            {
                MessageBox.Show("Não existe registro para esse número de identificação", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            txtBuscarIdentidade.Text = "";
        }
Exemple #3
0
        private void BtnBuscarEscalador_Click(object sender, EventArgs e)
        {
            using (var banco = new DBEscaladores())
            {
                try
                {
                    var identidadeEscalador = txtNovaEntrada.Text;

                    var registrosIdentificacao = banco.Escaladores.Where(s => s.identidade == identidadeEscalador).Count();/*Lista filtrad usando o N° de IDENTIFICAÇÂO*/

                    if (registrosIdentificacao > 0)
                    {
                        new NovaVisita(identidadeEscalador).ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("Não existe registro para esse número de identificação", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    AtualizarTabela();
                }
                catch (Exception)
                {
                    MessageBox.Show("Preencha o campo com a identificação!!!", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }


                txtNovaEntrada.Text = "";
            }
        }
Exemple #4
0
        private void BtnExcluir_Click(object sender, EventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("Tem certeza que deseja apagar o registro?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) && dgvEscaladores.SelectedRows.Count > 0)
            {
                if (dgvEscaladores.SelectedRows.Count > 0)
                {
                    string identidadeEscaladorExcluir = dgvEscaladores.SelectedRows[0].Cells[11].Value.ToString();/*Pega  celula q tem o ID do registros selecionado no datagrid view*/
                    // int teste = int.Parse(dgvEscaladores.SelectedRows[0].Cells[11].Value.ToString());



                    using (var banco = new DBEscaladores())
                    {
                        var excluirEscalador = banco.Registros.Find(long.Parse(identidadeEscaladorExcluir));  /*Apaga somente registros*/
                        banco.Registros.Remove(excluirEscalador);
                        banco.SaveChanges();
                    }


                    AtualizarTabela();
                }
                else
                {
                    this.Close();
                }
            }
        }
Exemple #5
0
        private void AtualizarTabela()
        {
            {
                using (var banco = new DBEscaladores())
                {
                    var hoje = DateTime.Now.Date;/*Pega a data do dia*/



                    var dadosBanco = banco.Registros.Where(e => e.data == hoje)
                                     .Join(banco.Escaladores,                                  // a tabela de origem da união interna
                                           regID => regID.escaladorIdentidade,                 // Selecione a chave primária (a primeira parte da cláusula "on" em uma instrução sql "join")
                                           escaladorID => escaladorID.identidade,              // Selecione a chave estrangeira(a segunda parte da cláusula "on")
                                           (regID, escaladorID) => new { regID, escaladorID }) // seleção
                                     .Select(x => new DadosTabelaDTO                           // onde declaração
                    {
                        EscaladorIdentidade = x.escaladorID.identidade,
                        Nome               = x.escaladorID.nome,
                        Estado             = x.escaladorID.UF,
                        Genero             = x.escaladorID.genero,
                        Saida              = x.regID.saida,
                        Entrada            = x.regID.entrada,
                        Cidade             = x.escaladorID.cidade,
                        País               = x.escaladorID.país,
                        ID                 = x.regID.id,
                        NumPulseira        = x.regID.numPulseira,
                        NumPlacaID         = x.regID.numPlacaID,
                        TelefoneEmergencia = x.escaladorID.telefoneEmergencia,
                        Data               = x.regID.data
                    }).ToList();


                    /*Ordena e formata os horarios de entrada e saida*/
                    var registrosOrdenados = dadosBanco.OrderByDescending(E => E.Entrada)
                                             .Select(E => new
                    {
                        EscaladorIdentidade = E.EscaladorIdentidade,
                        Nome               = E.Nome,
                        Cidade             = E.Cidade,
                        Entrada            = E.Entrada.ToString(@"hh\:mm"),
                        País               = E.País,
                        NumPulseira        = E.NumPulseira,
                        NumPlacaID         = E.NumPlacaID,
                        TelefoneEmergencia = E.TelefoneEmergencia,
                        Genero             = E.Genero,
                        ID     = E.ID,
                        Estado = E.Estado,
                        Saida  = E.Saida == null ? "" : E.Saida.Value.ToString(@"hh\:mm"),
                    }).ToList();



                    lblContador.Text = registrosOrdenados.Count().ToString();

                    dgvEscaladores.DataSource = registrosOrdenados;
                    dgvEscaladores.Refresh();
                }
            }
        }
        private void BtnSalvarAteracoes_Click(object sender, EventArgs e)
        {
            try
            {
                if (rbtMasculino.Checked)
                {
                    _editarEscalador.genero = "MASCULINO";
                }
                else if (rbtFeminino.Checked)
                {
                    _editarEscalador.genero = "FEMININO";
                }
                _editarEscalador.nome                  = txtAlterarNome.Text;
                _editarEscalador.cidade                = cmbAlterarCidadeEscalador.Text;
                _editarEscalador.bairro                = txtAlterarBairro.Text;
                _editarEscalador.CEP                   = txtAlterarCEP.Text;
                _editarEscalador.clubeAssociacao       = txtAlterarClubeAssociacao.Text;
                _editarEscalador.complementoEndereco   = txtAlterarComplemento.Text;
                _editarEscalador.email                 = txtAlterarEmail.Text;
                _editarEscalador.endereco              = txtAlterarEndereco.Text;
                _editarEscalador.nomeContatoEmergencia = txtAlterarContatoEmergencia.Text;

                if (txtAlterarNumeroEndereco.Text == "")
                {
                    _editarEscalador.numEndereco = null;
                }
                else
                {
                    _editarEscalador.numEndereco = int.Parse(txtAlterarNumeroEndereco.Text);
                }


                _editarEscalador.país               = cmbAlterarPaísEscalador.Text;
                _editarEscalador.profissao          = txtAlterarProfissao.Text;
                _editarEscalador.telefone           = txtAlterarTelefoneEscalador.Text;
                _editarEscalador.telefoneEmergencia = txtAlterarTelefoneEmergencia.Text;
                _editarEscalador.UF = cmbAlterarEstadoEscalador.Text;

                using (var banco = new DBEscaladores())
                {
                    banco.Entry(_editarEscalador).State = System.Data.Entity.EntityState.Modified;

                    banco.SaveChanges();
                }
                string mensagem = "Alteração feita com Sucesso!!!";
                MessageBox.Show(mensagem);
                this.Close();
            }
            catch (IOException E)
            {
                MessageBox.Show((E.Source));
                MessageBox.Show("ERRO{0}", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Question);
            }
        }
Exemple #7
0
        private void BtnSalvarHorarioSaida_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Deseja adicionar o horário de saída para esse escalador??", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (result == DialogResult.Yes)
            {
                if (dgvEscaladores.SelectedRows.Count > 0)
                {
                    int addHorarioSaida = int.Parse(dgvEscaladores.SelectedRows[0].Cells[11].Value.ToString());    /*Pega  celula q tem o ID do registros selecionado no datagrid view*/

                    using (var banco = new DBEscaladores())
                    {
                        var addHorario = banco.Registros.Find(addHorarioSaida);     /*Apaga somente registros*/
                        addHorario.saida = TimeSpan.Parse(txtAddHorarioSaida.Text); /*Adiciona o horario de saida ao escalador selecionar no datagridview*/

                        banco.SaveChanges();
                    }
                }
                txtAddHorarioSaida.Text = "";
                AtualizarTabela();
            }
        }
        private List <RegitrosDTO> BuscarRegistros(string identidadeEscalador, DateTime dataInicio, DateTime dataFim)
        {
            using (var banco = new DBEscaladores())
            {
                /*Filtra os registros atraves das datas informadas */
                var registroFiltradosData = banco.Registros
                                            .Where(t => t.data >= dataInicio && t.data <= dataFim && identidadeEscalador == t.escaladorIdentidade)
                                            .Select(E => new RegitrosDTO
                {
                    NumPlacaID  = E.numPlacaID,
                    Valor       = E.valor,
                    ID          = E.id,
                    NumPulseira = E.numPulseira,
                    Saida       = E.saida,
                    Entrada     = E.entrada,
                    Data        = E.data
                }).ToList();



                /*Ordena e formata os horarios de entrada e saida para o datagrid*/
                var registrosOrdenados = registroFiltradosData.OrderByDescending(E => E.Data)
                                         .Select(E => new RegitrosDTO
                {
                    NumPlacaID  = E.NumPulseira,
                    Valor       = E.Valor,
                    ID          = E.ID,
                    NumPulseira = E.NumPulseira,
                    Entrada     = E.Entrada,
                    //Saida = E.Saida == null ? E.Entrada : E.Saida,
                    Saida = E.Saida,
                    Data  = E.Data
                }).ToList();

                return(registrosOrdenados);
            }
        }
Exemple #9
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            var novoEscalador = new Escalador();

            // var novoRegistro = new Registro();
            if (txtIdentidade.Text == "" || txtNome.Text == "")
            {
                MessageBox.Show("Os campos de \"Documento de identificação e Nome\" são obrigatórios !!!", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                using (var _dbeEscalador = new DBEscaladores())
                {
                    var identidadeProcurar = txtIdentidade.Text;
                    var registros          = _dbeEscalador.Escaladores.Where(E => E.identidade == identidadeProcurar).Count();
                    if (registros == 0)
                    {
                        try
                        {
                            novoEscalador.nome       = RemoverAcentos(txtNome.Text);
                            novoEscalador.identidade = txtIdentidade.Text;
                            novoEscalador.país       = cmbPaísEscalador.Text;
                            novoEscalador.cidade     = cmbCidadeEscalador.Text;
                            novoEscalador.UF         = cmbEstadoEscalador.Text;
                            novoEscalador.CEP        = txtCEP.Text;
                            if (txtNumeroEndereco.Text == "")
                            {
                                novoEscalador.numEndereco = null;
                            }
                            else
                            {
                                novoEscalador.numEndereco = int.Parse(txtNumeroEndereco.Text);
                            }

                            novoEscalador.clubeAssociacao       = txtClubeAssociacao.Text;
                            novoEscalador.bairro                = txtBairro.Text;
                            novoEscalador.telefone              = txtTelefoneEscalador.Text;
                            novoEscalador.email                 = txtEmail.Text;
                            novoEscalador.tipoSanguineo         = txtTipoSanguineo.Text;
                            novoEscalador.profissao             = txtProfissao.Text;
                            novoEscalador.nomeContatoEmergencia = txtContatoEmergencia.Text;
                            novoEscalador.telefoneEmergencia    = txtTelefoneEmergencia.Text;
                            novoEscalador.complementoEndereco   = txtComplemento.Text;
                            novoEscalador.endereco              = txtEndereco.Text;



                            if (rbtCPF.Checked)
                            {
                                novoEscalador.tipoIdentidade = "CPF";
                            }
                            else if (rbtRG.Checked)
                            {
                                novoEscalador.tipoIdentidade = "RG";
                            }
                            else if (rbtOutroDocumento.Checked)
                            {
                                novoEscalador.tipoIdentidade = "Outro Documento";
                            }



                            if (rbtMasculino.Checked)
                            {
                                novoEscalador.genero = "MASCULINO";
                            }
                            else if (rbtFeminino.Checked)
                            {
                                novoEscalador.genero = "FEMININO";
                            }

                            _dbeEscalador.Escaladores.Add(novoEscalador);
                            // novoRegistro.IdentidadeEscalador = novoEscalador;
                            // _dbeEscalador.Registros.Add(novoRegistro);
                            _dbeEscalador.SaveChanges();


                            string mensagem = "Cadastro Feito com Sucesso!!!";
                            MessageBox.Show(mensagem);


                            this.Close();
                        }

                        catch
                        {
                            MessageBox.Show("O campo de \" Documento de identificação\" é obrigatório !!!", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Já existe um usuário com este numero de identificação,apenas adicione uma nova entrada!!!", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
            }
        }
        private void SalvarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DateTime dataInicio = dtpInicioBuscarEscalador.Value.Date;
            DateTime dataFim    = dtpTerminoBuscaEscalador.Value.Date;

            identidadeEscalador = txtBuscarIdentidade.Text;

            decimal totalPagoPeriodo = 0;
            var     totalHoras       = new TimeSpan();
            var     horaVazia        = new TimeSpan();
            var     visitasTotal     = 0;
            decimal valorTotal       = 0;
            var     horaFormatada    = "";



            var listaRegistros = BuscarRegistros(identidadeEscalador, dataInicio, dataFim);
            var EscaladorDados = DadosEscalador(identidadeEscalador);

            #region Total de visitas e valor pago

            using (var banco = new DBEscaladores())
            {
                /*Todas as visitas do escalador,e todos dos valores*/
                var totalVisitas = banco.Registros.Where(t => identidadeEscalador == t.escaladorIdentidade).Select(E => new { visitas = E.IdentidadeEscalador.identidade, valorTotal = E.valor }).ToList();
                visitasTotal = totalVisitas.Count();

                // lblTotalVisitas.Text = visitasTotal.ToString(); /*total das visitas do escalador*/
                foreach (var t in totalVisitas)
                {
                    valorTotal = valorTotal + t.valorTotal;/*Total pago de todas as vezes*/
                }

                //lblTotalPago.Text = valorTotal.ToString();
            }



            #endregion
            #region Total Pago Periodo
            var totalPago = listaRegistros.Select(E => new { total = E.Valor }).ToList();

            foreach (var v in totalPago)
            {
                totalPagoPeriodo = totalPagoPeriodo + v.total;
                //lblValorPagoPeriodo.Text = total.ToString();/*Total de pagamentos no periodo escolhido*/
            }
            #endregion
            #region Total Horas
            /*LIsta os horarios */
            var listaHorarios = listaRegistros.Select(E => new { E.Saida, E.Entrada }).ToList();
            int contador      = 0;

            foreach (var i in listaHorarios)
            {
                if (i.Saida != null)
                {
                    var entrada = Convert.ToDateTime(i.Entrada.ToString());
                    var saida   = Convert.ToDateTime(i.Saida.ToString());

                    var dif = saida.Subtract(entrada);
                    //mostra o tempo de permanencia no parque
                    totalHoras = horaVazia.Add(dif);
                    horaVazia  = totalHoras;
                    // lblTotalHorasParque.Text = totalHoras.ToString(@"d\.hh\:mm");
                    var hora = totalHoras.TotalHours.ToString().Split(',');
                    //txtTotalHorasParque.Text = totalHoras.ToString(@"d\.hh\:mm");
                    horaFormatada = hora[0] + ":" + totalHoras.Minutes.ToString();
                }
                else if (i.Saida == null && contador < 1)
                {
                    MessageBox.Show("Algum horário de saida não foi incluido!!\nPode ocorrer diferenças no total de \"Horas de permanência no parque\"", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    contador++;
                }
            }

            #endregion
            #region Salvar
            var save = new SaveFileDialog
            {
                Title  = "Salvar",
                Filter = " Documento do Word |* .doc | Excel | * .csv | Todos os arquivos(*. *) | * .txt *"
            };
            save.ShowDialog();


            if (string.IsNullOrEmpty(save.FileName) == false)
            {
                //Crio outro using, dentro dele instancio o StreamWriter (classe para gravar os dados)
                //que recebe como parâmetro a variável fs, referente ao FileStream criado anteriormente
                try
                {
                    using (StreamWriter sw = new StreamWriter(save.FileName, false, Encoding.UTF8))
                    {
                        if (save.FilterIndex == 1)
                        {
                            sw.WriteLine("PERÍODO ESCOLHIDO");
                            sw.WriteLine("DATA DE INÍCIO: {0}  ----- DATA DE TÉRMINO: {1} ", dataInicio.ToShortDateString(), dataFim.ToShortDateString());
                            sw.WriteLine("");
                            sw.WriteLine("DADOS PESSOAIS");
                            foreach (var p in EscaladorDados)
                            {
                                sw.WriteLine("NOME :{0} , NUMERO DE IDETIFICAÇÃO : {1} , TIPO : {2}", p.Nome, p.Identidade, p.TipoIdentidade);
                                sw.WriteLine("EMAIL : {0} , CLUBE/ASSOCIAÇÃO DE ESCALADA : {1}", p.Email, p.ClubeAssociacao);
                                sw.WriteLine("TELEFONE : {0} , TIPO SANGUÍNEO : {1} , GENÊRO : {2}", p.Telefone, p.TipoSanguineo, p.Genero);
                                sw.WriteLine("CONTATO EMERGENCIA : {0} , NUMERO DO CONTATO : {1}", p.NomeContatoEmergencia, p.TelefoneEmergencia);
                                sw.WriteLine("");
                                sw.WriteLine("DADOS DE ENDEREÇO");
                                sw.WriteLine("ENDEREÇO : {0} , NUMERO : {1} , COMPLEMENTO : {2}", p.Endereco, p.NumEndereco, p.ComplementoEndereco);
                                sw.WriteLine("BAIRRO : {0} , CIDADE : {1} , ESTADO : {2}", p.Bairro, p.Cidade, p.Estado);
                                sw.WriteLine("CEP : {0} , PAÍS :{1}", p.CEP, p.Paises);
                            }
                            sw.WriteLine("");
                            sw.WriteLine("REGISTROS");
                            sw.WriteLine(" ENTRADA -  SAÍDA  - N° PULSEIRA - N° PLACA - VALOR PAGO - DATA");
                            foreach (var r in listaRegistros)
                            {
                                sw.WriteLine("{0} - {1} -   {2}   -   {3}   -   {4}   - {5}", r.Entrada.ToString(@"hh\:mm"), r.Saida == null? "" : r.Saida.Value.ToString(@"hh\:mm"), r.NumPulseira, r.NumPlacaID, r.Valor, r.Data.ToShortDateString());
                            }
                            sw.WriteLine("");
                            sw.WriteLine("DADOS REFERENTES AO PERIODO ESCOLHIDO");
                            sw.WriteLine("QUANTIDADE DE VISITAS : {0} , HORAS DE PERMANÊNCIA NO PARQUE : {1} , VALOR PAGO : {2}", listaRegistros.Count(), horaFormatada, totalPagoPeriodo);
                            sw.WriteLine("");
                            sw.WriteLine("TOTAIS GERAIS DO ESCALADOR");
                            sw.WriteLine("TOTAL DE VISITA : {0} , TOTAL PAGO : {1}", visitasTotal, valorTotal);
                        }
                        if (save.FilterIndex == 2)
                        {
                            sw.WriteLine("PERÍODO ESCOLHIDO");
                            sw.WriteLine("DATA DE INÍCIO:;{0};DATA DE TÉRMINO:;{1}", dataInicio.ToShortDateString(), dataFim.ToShortDateString());
                            sw.WriteLine("");
                            sw.WriteLine("DADOS PESSOAIS");
                            foreach (var p in EscaladorDados)
                            {
                                sw.WriteLine("NOME:;{0};NUMERO DE IDETIFICAÇÃO:;{1};TIPO:;{2}", p.Nome, p.Identidade, p.TipoIdentidade);
                                sw.WriteLine("EMAIL:;{0} ;CLUBE/ASSOCIAÇÃO DE ESCALADA:;{1}", p.Email, p.ClubeAssociacao);
                                sw.WriteLine("TELEFONE:;{0};TIPO SANGUÍNEO:;{1};GENÊRO:;{2}", p.Telefone, p.TipoSanguineo, p.Genero);
                                sw.WriteLine("CONTATO EMERGENCIA:;{0} ; NUMERO DO CONTATO:; {1}", p.NomeContatoEmergencia, p.TelefoneEmergencia);
                                sw.WriteLine("");
                                sw.WriteLine("DADOS DE ENDEREÇO");
                                sw.WriteLine("ENDEREÇO:;{0};NUMERO:;{1};COMPLEMENTO:;{2}", p.Endereco, p.NumEndereco, p.ComplementoEndereco);
                                sw.WriteLine("BAIRRO:;{0};CIDADE:;{1};ESTADO:;{2}", p.Bairro, p.Cidade, p.Estado);
                                sw.WriteLine("CEP:;{0};PAÍS:;{1}", p.CEP, p.Paises);
                            }
                            sw.WriteLine("");
                            sw.WriteLine("REGISTROS");
                            sw.WriteLine("ENTRADA;SAÍDA;N° PULSEIRA;N° PLACA;VALOR PAGO;DATA");
                            foreach (var r in listaRegistros)
                            {
                                sw.WriteLine("{0};{1};{2};{3};{4};{5}", r.Entrada.ToString(@"hh\:mm"), r.Saida == null ? "" : r.Saida.Value.ToString(@"hh\:mm"), r.NumPulseira, r.NumPlacaID, r.Valor, r.Data.ToShortDateString());
                            }
                            sw.WriteLine("");
                            sw.WriteLine("DADOS REFERENTES AO PERIODO ESCOLHIDO");
                            sw.WriteLine("QUANTIDADE DE VISITAS:;{0};HORAS DE PERMANÊNCIA NO PARQUE:;{1};VALOR PAGO:;{2}", listaRegistros.Count(), horaFormatada, totalPagoPeriodo);
                            sw.WriteLine("");
                            sw.WriteLine("TOTAIS GERAIS DO ESCALADOR");
                            sw.WriteLine("TOTAL DE VISITA:;{0};TOTAL PAGO:;{1}", visitasTotal, valorTotal);
                        }
                        if (save.FilterIndex == 3)
                        {
                            sw.WriteLine("PERÍODO ESCOLHIDO");
                            sw.WriteLine("DATA DE INÍCIO: {0}  ----- DATA DE TÉRMINO: {1} ", dataInicio.ToShortDateString(), dataFim.ToShortDateString());
                            sw.WriteLine("");
                            sw.WriteLine("DADOS PESSOAIS");
                            foreach (var p in EscaladorDados)
                            {
                                sw.WriteLine("NOME :{0} , NUMERO DE IDETIFICAÇÃO : {1} , TIPO : {2}", p.Nome, p.Identidade, p.TipoIdentidade);
                                sw.WriteLine("EMAIL : {0} , CLUBE/ASSOCIAÇÃO DE ESCALADA : {1}", p.Email, p.ClubeAssociacao);
                                sw.WriteLine("TELEFONE : {0} , TIPO SANGUÍNEO : {1} , GENÊRO : {2}", p.Telefone, p.TipoSanguineo, p.Genero);
                                sw.WriteLine("CONTATO EMERGENCIA : {0} , NUMERO DO CONTATO : {1}", p.NomeContatoEmergencia, p.TelefoneEmergencia);
                                sw.WriteLine("");
                                sw.WriteLine("DADOS DE ENDEREÇO");
                                sw.WriteLine("ENDEREÇO : {0} , NUMERO : {1} , COMPLEMENTO : {2}", p.Endereco, p.NumEndereco, p.ComplementoEndereco);
                                sw.WriteLine("BAIRRO : {0} , CIDADE : {1} , ESTADO : {2}", p.Bairro, p.Cidade, p.Estado);
                                sw.WriteLine("CEP : {0} , PAÍS :{1}", p.CEP, p.Paises);
                            }
                            sw.WriteLine("");
                            sw.WriteLine("REGISTROS");
                            sw.WriteLine(" ENTRADA -  SAÍDA  - N° PULSEIRA - N° PLACA - VALOR PAGO - DATA");
                            foreach (var r in listaRegistros)
                            {
                                sw.WriteLine("{0} - {1} -   {2}   -   {3}   -   {4}   - {5}", r.Entrada.ToString(@"hh\:mm"), r.Saida == null ? "" : r.Saida.Value.ToString(@"hh\:mm"), r.NumPulseira, r.NumPlacaID, r.Valor, r.Data.ToShortDateString());
                            }
                            sw.WriteLine("");
                            sw.WriteLine("DADOS REFERENTES AO PERIODO ESCOLHIDO");
                            sw.WriteLine("QUANTIDADE DE VISITAS : {0} , HORAS DE PERMANÊNCIA NO PARQUE : {1} , VALOR PAGO : {2}", listaRegistros.Count(), horaFormatada, totalPagoPeriodo);
                            sw.WriteLine("");
                            sw.WriteLine("TOTAIS GERAIS DO ESCALADOR");
                            sw.WriteLine("TOTAL DE VISITA : {0} , TOTAL PAGO : {1}", visitasTotal, valorTotal);
                        }
                        sw.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Não foi possivel salvar o arquivo \n\n ERRO: " + ex.Message, "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                #endregion
            }
        }
        private void Mostrar(string identidadeEscalador, DateTime dataInicio, DateTime dataFim)
        {
            var     horaVazia  = new TimeSpan();
            decimal total      = 0;
            decimal valorTotal = 0;
            var     regitros   = BuscarRegistros(identidadeEscalador, dataInicio, dataFim);


            var dadosEscalador = DadosEscalador(identidadeEscalador);

            if (dadosEscalador == null)
            {
                MessageBox.Show("Não existe cadastro para esse número de identificação", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                foreach (var dados in dadosEscalador)
                {
                    if (dados.TipoIdentidade == "Outro Documento")
                    {
                        txtTipoDocumento.Text = "Outro Documento";
                    }
                    else
                    {
                        txtTipoDocumento.Text = dados.TipoIdentidade;
                    }

                    txtTelefone.Text                = dados.Telefone;
                    txtTipoSanguineo.Text           = dados.TipoSanguineo;
                    txtGenero.Text                  = dados.Genero;
                    txtIdentidade.Text              = dados.Identidade;
                    txtNome.Text                    = dados.Nome;
                    txtBairro.Text                  = dados.Bairro;
                    txtCEP.Text                     = dados.CEP;
                    txtClubeAssociacao.Text         = dados.ClubeAssociacao;
                    txtComplemento.Text             = dados.ComplementoEndereco;
                    txtNomeContatoEmergencia.Text   = dados.NomeContatoEmergencia;
                    txtNumeroContatoEmergencia.Text = dados.TelefoneEmergencia;

                    txtEmail.Text          = dados.Email;
                    txtEndereco.Text       = dados.Endereco;
                    txtNumeroEndereco.Text = Convert.ToString(dados.NumEndereco);
                    txtCidade.Text         = dados.Cidade;
                    txtEstado.Text         = dados.Estado;
                    txtPaís.Text           = dados.Paises;
                }
            }

            txtQuantVisitas.Text = regitros.Count().ToString();/*Conta e escreve a quantidade de registros do periodo escolhido*/

            /*Formata os horarios*/   /*TENTAR MELHORAR ISSO*/
            var registroFormatados = regitros.Select(E => new
            {
                NumPlacaID  = E.NumPlacaID,
                Valor       = E.Valor,
                ID          = E.ID,
                NumPulseira = E.NumPulseira,
                //Saida = E.Saida.Value.ToString(@"hh\:mm"),
                Saida   = E.Saida == null ?  "" :E.Saida.Value.ToString(@"hh\:mm"),
                Entrada = E.Entrada.ToString(@"hh\:mm"),
                Data    = E.Data
            }).ToList();

            dgvBuscarEscalador.DataSource = registroFormatados;
            //dgvBuscarEscalador.Refresh();

            #region Total de visitas e valor pago

            using (var banco = new DBEscaladores())
            {
                /*Todas as visitas do escalador,e todos dos valores*/
                var totalVisitas = banco.Registros.Where(t => identidadeEscalador == t.escaladorIdentidade).Select(E => new { visitas = E.IdentidadeEscalador.identidade, valorTotal = E.valor }).ToList();
                var visitasTotal = totalVisitas.Count();

                txtTotalVisitas.Text = visitasTotal.ToString(); /*total das visitas do escalador*/
                foreach (var t in totalVisitas)
                {
                    valorTotal = valorTotal + t.valorTotal;/*Total pago de todas as vezes*/
                }

                txtTotalPago.Text = valorTotal.ToString();
            }



            #endregion
            #region Total Pago Periodo
            var totalPago = regitros.Select(E => new { total = E.Valor }).ToList();

            foreach (var v in totalPago)
            {
                total = total + v.total;
                txtValorPagoPeriodo.Text = total.ToString();/*Total de pagamentos no periodo escolhido*/
            }
            #endregion
            #region Total Horas
            /*LIsta os horarios */
            var totalHora = regitros.Select(E => new { E.Saida, E.Entrada }).ToList();
            int contador  = 0;

            foreach (var i in totalHora)
            {
                if (i.Saida != null)
                {
                    var entrada = Convert.ToDateTime(i.Entrada.ToString());
                    var saida   = Convert.ToDateTime(i.Saida.ToString());


                    var dif = saida.Subtract(entrada);
                    //mostra o tempo de permanencia no parque
                    var totalHoras = horaVazia.Add(dif);
                    horaVazia = totalHoras;
                    var hora = totalHoras.TotalHours.ToString().Split(',');
                    //txtTotalHorasParque.Text = totalHoras.ToString(@"d\.hh\:mm");
                    txtTotalHorasParque.Text = hora[0] + ":" + totalHoras.Minutes.ToString();
                }

                if (i.Saida == null && contador < 1)
                {
                    MessageBox.Show("Algum horário de saída não foi incluido!!\nPode ocorrer diferenças no total de \"Horas de permanência no parque\"!!!", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    contador++;
                }
            }

            #endregion

            dgvBuscarEscalador.Refresh();
        }