コード例 #1
0
        public void CriarBroadcastsParaAberturaPeriodoRepasse(PeriodoRepasseDto periodoRepasseDto)
        {
            var funcionalidadesRepasse = _funcionalidadeRepository.Buscar(x => x.NmFuncionalidade.ToUpper().Contains("REPASSE"));
            var usuarios = _usuarioPerfilRepository.BuscarUsuariosPorFuncionalidades(funcionalidadesRepasse.Select(x => x.Id).ToArray()).Distinct();

            var lastBroadcastId = _broadcastItemRepository.BuscarUltimoId();
            var broadcastItem   = new BroadcastItem
            {
                //TO_DO validar auto-increment
                Id        = ++lastBroadcastId,
                Descricao = MontarDescricaoBroadcastDeAberturaPeriodoRepasse(periodoRepasseDto, periodoRepasseDto.ehAlteracaoCronograma),
                Titulo    = periodoRepasseDto.ehAlteracaoCronograma ? "Alteração de Cronograma - Periodo de Repasse" : "Abertura de Período de Repasse",
            };

            _broadcastItemRepository.Adicionar(broadcastItem);

            _broadcastRepository.AddRange(usuarios.Select(user => new Broadcast
            {
                LgUsuarioVinculado = user, IdBroadcastItem = broadcastItem.Id, DataCriacao = DateTime.Now
            }));
            _unitOfWork.Commit();
        }
コード例 #2
0
        public List <String> ObterEmailPorFuncionalidade(string[] funcionalidades)
        {
            List <string> emails             = new List <string>();
            var           objFuncionalidades = _funcionalidadeRepository.Buscar(x => funcionalidades.Any(y => y.Equals(x.NmFuncionalidade, StringComparison.InvariantCultureIgnoreCase)));

            if (objFuncionalidades != null)
            {
                var idPerfis = _vinculoPerfilFuncionalidadeRepository.Buscar(x => objFuncionalidades.Any(y => y.Id == x.IdFuncionalidade)).Select(x => x.IdPerfil);
                var logins   = _usuarioPerfilRepository.Buscar(x => idPerfis.Any(y => y == x.IdPerfil)).GroupBy(x => x.LgUsuario).Select(x => x.Key).ToList();
                emails = ObterEmailUsuariosAdPorLogin(logins);
            }

            return(emails);
        }
コード例 #3
0
 public bool IsSatisfiedBy(Funcionalidade funcionalidade)
 {
     return(_funcionalidadeRepository.Buscar(c => c.CodigoFuncionalidade.IdentificacaoCompleta.Equals(funcionalidade.CodigoFuncionalidade.IdentificacaoCompleta) &&
                                             c.Id != funcionalidade.Id) == null);
 }
コード例 #4
0
 public async Task <IEnumerable <Funcionalidade> > ObterPorCodigoFuncionalidade(string codigoFuncionalidade)
 {
     return(await _funcionalidadeRepository.Buscar(x => x.CodigoFuncionalidade.IdentificacaoCompleta.ToLower().Contains(codigoFuncionalidade.ToLower())));
 }