public async Task <AtivoViewDto> PesquisarAtivoPorIdAsync(Guid ativoId)
        {
            if (ativoId.Equals(null))
            {
                Notificar("O id informado é inválido!");
                return(null);
            }

            return(await _ativoRepository.PesquisarAtivoPorIdAsync(ativoId));
        }
        private async Task <bool> EhListaAtivoValida(ICollection <AtivoOcorrenciaPostDto> listaAtivosDto)
        {
            int qtdAtivoPrincipal = 0;

            foreach (AtivoOcorrenciaPostDto itemAtivoDto in listaAtivosDto)
            {
                AtivoViewDto viewDto = await _ativoRepository.PesquisarAtivoPorIdAsync(itemAtivoDto.Id);

                if (viewDto == null)
                {
                    Notificar("Existe um ativo na lista com Id inexistente!");
                    return(false);
                }

                if (itemAtivoDto.Principal.Equals(true))
                {
                    qtdAtivoPrincipal++;
                }

                if (itemAtivoDto.Principal.Equals(true))
                {
                    // verificar se há ocorrencia em aberto com este ativo
                    ICollection <OcorrenciaAtivo> listaOcorrenciaAtivo = await _ocorrenciaAtivoRepository.PesquisarOcorrenciaAtivoPorAtivo(itemAtivoDto.Id);

                    if (listaOcorrenciaAtivo.Count >= 1 && !listaOcorrenciaAtivo.Contains(null))
                    {
                        Notificar("Existe uma ocorrência com mesmo ativo principal!");
                        return(false);
                    }
                }
            }

            if (qtdAtivoPrincipal == 0)
            {
                Notificar("Não existe ativo principal na ocorrência!");
                return(false);
            }

            if (qtdAtivoPrincipal > 1)
            {
                Notificar("Existem mais de um ativo principal na lista!");
                return(false);
            }



            return(true);
        }