Beispiel #1
0
        public async Task <bool> Remover(Guid id)
        {
            IEnumerable <Oportunidade> oportunidades = await _oportunidadeRepository.Buscar(o => o.Id == id &&
                                                                                            o.Excluido == false);

            Oportunidade    oportunidade    = new Oportunidade();
            OportunidadeLog oportunidadeLog = new OportunidadeLog();

            if (oportunidades.Any())
            {
                oportunidade = oportunidades.FirstOrDefault();
            }
            else
            {
                Notificar("Id não encontrado para exclusão!");
                return(false);
            }

            if (VerificaSeNaoEhMesmoVendedorAutenticado(oportunidade))
            {
                Notificar("Usuário somente tem acesso às oportunidades criadas por ele mesmo!");
                return(false);
            }

            if (VerificaSeStatusPossibilitaExclusao(oportunidade))
            {
                await _oportunidadeRepository.Remover(id);
            }
            else
            {
                oportunidade.Excluido     = true;
                oportunidade.DataExclusao = DateTime.Now;
                await _oportunidadeRepository.Atualizar(oportunidade);
            }

            oportunidadeLog = MapearOportunidadeParaOportunidadeLog(oportunidade);
            AdicionaOportunidadeLog(oportunidadeLog);

            return(true);
        }
 public async Task <IEnumerable <OportunidadeViewModel> > ObterTodos()
 {
     return(_mapper.Map <IEnumerable <OportunidadeViewModel> >(await _oportunidadeRepository.Buscar(o => o.Excluido == false)));
 }