public void registrar() { try { using (ServicoPontoClient serv = new ServicoPontoClient()) { PontoMarcacaoDTO marcacao = new PontoMarcacaoDTO(); marcacao.Colaborador = new ColaboradorDTO(); marcacao.Colaborador.Id = UsuarioLogado.IdColaborador; marcacao.DataMarcacao = DateTime.Today; List <PontoMarcacaoDTO> listaServ = serv.selectPontoMarcacao(marcacao); if (listaServ != null) { double resultado = listaServ.Count / 2; if (listaServ.Count % 2 == 0) { marcacao.TipoMarcacao = "E"; marcacao.ParEntradaSaida = "E" + (Math.Floor(resultado) + 1); } else { marcacao.TipoMarcacao = "S"; marcacao.ParEntradaSaida = "S" + (Math.Floor(resultado) + 1); } } serv.salvarAtualizarPontoMarcacao(marcacao); } } catch (Exception ex) { throw ex; } }
public void importarArquivo(string pNomeArquivo) { ComponentePonto.ComponentePonto ponto = new ComponentePonto.ComponentePonto(); ponto.processarArquivoAFD(pNomeArquivo); // pega o ID do relógio de ponto PontoRelogioDTO relogio = new PontoRelogioDTO(); relogio.NumeroSerie = ponto.pontoAFD.AFDCabecalho.Campo07; try { using (ServicoPontoClient serv = new ServicoPontoClient()) { List <PontoRelogioDTO> listaRelogio = serv.selectPontoRelogio(relogio); if (listaRelogio.Count > 0) { relogio = listaRelogio[0]; } } } catch (Exception ex) { throw ex; } // verificar se os dados estão no banco de dados e grava os que não estão for (int i = 0; i < ponto.pontoAFD.ListaAFDRegistro3.Count; i++) { // pega o ID do colaborador ColaboradorDTO colaborador = new ColaboradorDTO(); colaborador.PisNumero = ponto.pontoAFD.ListaAFDRegistro3[i].Campo05; try { using (ServicoPontoClient serv = new ServicoPontoClient()) { List <ColaboradorDTO> listaColaborador = serv.selectColaborador(colaborador); if (listaColaborador.Count > 0) { colaborador = listaColaborador[0]; PontoMarcacaoDTO marcacao = new PontoMarcacaoDTO(); marcacao.Colaborador = colaborador; marcacao.PontoRelogio = relogio; string dataMarcacao = ponto.pontoAFD.ListaAFDRegistro3[i].Campo03.Substring(0, 2) + "/" + ponto.pontoAFD.ListaAFDRegistro3[i].Campo03.Substring(2, 2) + "/" + ponto.pontoAFD.ListaAFDRegistro3[i].Campo03.Substring(4, 4); marcacao.DataMarcacao = System.DateTime.Parse(dataMarcacao); List <PontoMarcacaoDTO> listaMarcacao = serv.selectPontoMarcacao(marcacao); if (listaMarcacao.Count == 0) { marcacao.Nsr = int.Parse(ponto.pontoAFD.ListaAFDRegistro3[i].Campo01); string horaMarcacao = ponto.pontoAFD.ListaAFDRegistro3[i].Campo04.Substring(0, 2) + ":" + ponto.pontoAFD.ListaAFDRegistro3[i].Campo04.Substring(2, 2) + ":00"; marcacao.HoraMarcacao = horaMarcacao; marcacao.TipoRegistro = "O"; serv.salvarAtualizarPontoMarcacao(marcacao); } } } } catch (Exception ex) { throw ex; } } }