Ejemplo n.º 1
0
        private void VerificarRegistrosEAtualizarBanco(ICollection <Registro> registros)
        {
            //Cria o serviço, usando Injeção de Dependência.
            MarcacaoFrequenciaService marcacaoFrequenciaService =
                (MarcacaoFrequenciaService)ActivatorUtilities.CreateInstance(_provider, typeof(MarcacaoFrequenciaService));

            foreach (var registro in registros)
            {
                var registroAdicionavel = !_context.Registros.Where(r => r.Matricula.CompareTo(registro.Matricula) == 0 &&
                                                                    r.IdRelogio == registro.IdRelogio &&
                                                                    r.Marcacao == registro.Marcacao).Any();
                try
                {
                    if (registroAdicionavel)
                    {
                        _context.Registros.Add(new Registro()
                        {
                            IdRelogio         = registro.IdRelogio,
                            Marcacao          = registro.Marcacao,
                            Matricula         = registro.Matricula,
                            Migrado           = marcacaoFrequenciaService.VerificarMigrado(registro),
                            idMarcacaoRelogio = registro.idMarcacaoRelogio
                        });
                    }
                }catch (Exception e)
                {
                    _logger.LogError(e, $"Não foi possível migrar o registro {registro.idMarcacaoRelogio} do servidor {registro.Matricula}");
                }
            }
            _context.SaveChanges();
        }
Ejemplo n.º 2
0
        public void LancarRegistros(Relogio relogio, ICollection <Registro> registros)
        {
            //Cria o serviço, usando Injeção de Dependência.
            MarcacaoFrequenciaService marcacaoFrequenciaService =
                (MarcacaoFrequenciaService)ActivatorUtilities.CreateInstance(_provider, typeof(MarcacaoFrequenciaService));

            //Lança registro no SRH2
            marcacaoFrequenciaService.LancarRegistros(registros);
        }
Ejemplo n.º 3
0
        public async Task LerRelogioELancarAsync(Relogio relogio, DateTime Inicio, DateTime Fim, bool lancar = false)
        {
            //Função obtem registros e salva no banco.
            await this.ObterRegistrosAsync(relogio, Inicio, Fim);

            //Recupera registro do banco.
            var registrosParaEnvio = _context.Registros.Include(r => r.Relogio).AsNoTracking().Where(
                reg => reg.MigradoFrequencia == "F" &&
                reg.IdRelogio == relogio.Id &&
                reg.Marcacao >= Inicio &&
                reg.Marcacao <= Fim)
                                     .Select(reg => reg).ToList();

            if (lancar)
            {
                //Cria o serviço, usando Injeção de Dependência.
                MarcacaoFrequenciaService marcacaoFrequenciaService =
                    (MarcacaoFrequenciaService)ActivatorUtilities.CreateInstance(_provider, typeof(MarcacaoFrequenciaService));
                //Lança registro no SRH2
                marcacaoFrequenciaService.LancarRegistros(registrosParaEnvio);
            }
        }