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 = ""; }
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 = ""; } }
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(); } } }
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); } }
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); } }
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(); }