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(); }
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); }
public bool IsSatisfiedBy(Funcionalidade funcionalidade) { return(_funcionalidadeRepository.Buscar(c => c.CodigoFuncionalidade.IdentificacaoCompleta.Equals(funcionalidade.CodigoFuncionalidade.IdentificacaoCompleta) && c.Id != funcionalidade.Id) == null); }
public async Task <IEnumerable <Funcionalidade> > ObterPorCodigoFuncionalidade(string codigoFuncionalidade) { return(await _funcionalidadeRepository.Buscar(x => x.CodigoFuncionalidade.IdentificacaoCompleta.ToLower().Contains(codigoFuncionalidade.ToLower()))); }