Example #1
0
        public async Task <IActionResult> FiltrarMatches(FiltroMatchViewModel model)
        {
            await CarregarDropDown(null, model.Categoria, null);

            // Validações
            if (!(model.DataInicial == null && model.DataFinal == null))
            {
                if (model.DataInicial == null || model.DataFinal == null)
                {
                    model.Criticas = "Para filtrar por período é necessário preencher os dois campos";
                }
                else
                {
                    if (model.DataInicial.Value > model.DataFinal.Value)
                    {
                        model.Criticas = "A data inicial não pode ser superior a data final";
                    }
                }
            }

            if (string.IsNullOrWhiteSpace(model.Criticas))
            {
                try
                {
                    await CarregarDoacoesNecessidades(model);
                }
                catch (SessaoExpiradaException)
                {
                    return(RedirectToAction("Logout", "Account"));
                }
            }

            return(View("Matches", model));
        }
Example #2
0
        public async Task <IActionResult> Matches(FiltroMatchViewModel model)
        {
            try
            {
                await CarregarDropDown(null, null, null);

                return(View(new FiltroMatchViewModel()));
            }
            catch (SessaoExpiradaException)
            {
                return(RedirectToAction("Logout", "Account"));
            }
        }
Example #3
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;
        }