예제 #1
0
        /// <summary>
        /// Executar a pesquisa com fase nos filtros
        /// </summary>
        /// <param name="filtro">Objeto modelo de filtragem</param>
        protected async Task ExecutaPesquisa(FiltroItensViewModel filtro)
        {
            Guid?tipoItemId  = null;
            Guid?categoriaId = null;

            if (!string.IsNullOrWhiteSpace(filtro.TipoItem) && !filtro.TipoItem.Equals("-"))
            {
                tipoItemId = Guid.Parse(filtro.TipoItem);
            }

            if (!string.IsNullOrWhiteSpace(filtro.Categoria) && !filtro.Categoria.Equals("-"))
            {
                categoriaId = Guid.Parse(filtro.Categoria);
            }

            FiltroItemRequest request = new FiltroItemRequest()
            {
                DataInicial = filtro.DataInicial,
                DataFinal   = filtro.DataFinal,
                TipoItemId  = tipoItemId,
                CategoriaId = categoriaId
            };

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ObterToken());
            HttpResponseMessage resultApi = await _client.PostAsJsonAsync("/api/v1/Item/pesquisar", request);

            if (resultApi.StatusCode.Equals(HttpStatusCode.Unauthorized))
            {
                throw new SessaoExpiradaException();
            }
            string conteudo = await resultApi.Content.ReadAsStringAsync();

            filtro.Itens = JsonConvert.DeserializeObject <List <ItemDetalheViewModel> >(conteudo);
        }
예제 #2
0
        /// <summary>
        /// Carregar as doações e necessidades
        /// </summary>
        private async Task CarregarDoacoesNecessidades(FiltroMatchViewModel filtro)
        {
            Guid?categoriaId = null;

            if (!string.IsNullOrWhiteSpace(filtro.Categoria) && !filtro.Categoria.Equals("-"))
            {
                categoriaId = Guid.Parse(filtro.Categoria);
            }

            FiltroItemRequest request = new FiltroItemRequest()
            {
                DataInicial = filtro.DataInicial,
                DataFinal   = filtro.DataFinal,
                TipoItemId  = null,
                CategoriaId = categoriaId
            };

            // Carregando Doações
            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ObterToken());
            HttpResponseMessage resultApi = await _client.PostAsJsonAsync("/api/v1/Item/livres", request);

            if (resultApi.StatusCode.Equals(HttpStatusCode.Unauthorized))
            {
                throw new SessaoExpiradaException();
            }
            string conteudo = await resultApi.Content.ReadAsStringAsync();

            List <ItemResponse> itens = JsonConvert.DeserializeObject <List <ItemResponse> >(conteudo);

            List <ItemDetalheMatchViewModel> doacoes      = new List <ItemDetalheMatchViewModel>();
            List <ItemDetalheMatchViewModel> necessidades = new List <ItemDetalheMatchViewModel>();

            foreach (var item in itens)
            {
                ItemDetalheMatchViewModel tmpItem = new ItemDetalheMatchViewModel()
                {
                    Id           = item.Id,
                    DataInclusao = item.DataInclusao,
                    Nome         = item.Usuario.Nome,
                    Titulo       = item.Titulo,
                    Descricao    = item.Descricao,
                    Categoria    = item.Categoria.Descricao,
                    Peso         = item.Categoria.Pontuacao,
                    GerenciadaRh = item.Categoria.GerenciadaRh,
                    Telefone     = item.Usuario.UsuarioDados.TelefoneFixo,
                    Celular      = item.Usuario.UsuarioDados.TelefoneCelular,
                    Email        = item.Usuario.UsuarioDados.Email
                };

                if (item.TipoItem.Descricao.ToLower().Equals("necessidade"))
                {
                    necessidades.Add(tmpItem);
                }
                else
                {
                    doacoes.Add(tmpItem);
                }
            }

            filtro.ItensDoacao      = doacoes;
            filtro.ItensNecessidade = necessidades;
        }