예제 #1
0
        public List <TabelaPrecoAvulsoNotificacao> RetornaNotificacoesPendentes(Usuario usuario)
        {
            try
            {
                var parametroTabelaPrecoAvulsoNotificacao = _parametroNotificacaoAplicacao
                                                            .BuscarPor(x =>
                                                                       x.TipoNotificacao.Entidade == Entidades.TabelaPrecoAvulso &&
                                                                       x.Aprovadores.Any(m => m.Usuario.Id == usuario.Id))
                                                            .FirstOrDefault();

                var listaTabelaPrecoAvulso = new List <TabelaPrecoAvulso>();
                if (parametroTabelaPrecoAvulsoNotificacao != null)
                {
                    listaTabelaPrecoAvulso = _tabelaPrecoAvulsoAplicacao.BuscarPor(x => x.Notificacoes.Any(m => m.Notificacao.Status == StatusNotificacao.Aguardando)).ToList();
                }

                var listaTabelaPrecoAvulsoNotificacao = new List <TabelaPrecoAvulsoNotificacao>();

                foreach (var item in listaTabelaPrecoAvulso)
                {
                    foreach (var item2 in item.Notificacoes)
                    {
                        var TabelaPrecoAvulsoNotif = new TabelaPrecoAvulsoNotificacao()
                        {
                            TabelaPrecoAvulso = item,
                            Notificacao       = item2.Notificacao
                        };
                        listaTabelaPrecoAvulsoNotificacao.Add(TabelaPrecoAvulsoNotif);
                    }
                }
                return(listaTabelaPrecoAvulsoNotificacao);
            }
            catch (Exception ex)
            {
                throw new System.Exception("Erro ao buscar as notificações pendentes de Preço : " + ex.Message + "trace: " + ex.StackTrace);
            }
        }
        public TabelaPrecoAvulsoViewModel GetTabelaPrecoAvulsoPadrao(int idUnidade)
        {
            var entidade = _tabelaPrecoAvulsoAplicacao.BuscarPor(x => x.Padrao == true)?.ToList()?.LastOrDefault(x => x.ListaUnidade != null && x.ListaUnidade.Any(y => y.Unidade.Id == idUnidade)) ?? null;

            return(entidade != null ? new TabelaPrecoAvulsoViewModel(entidade) : null);
        }