public async Task <IActionResult> ListarPeriodos(ProcurarPeriodo filtro) { if (filtro == null) { return(new FeedbackResult(new Feedback(TipoFeedback.Atencao, "As informações para a procura não foram preenchidas.", tipoAcao: TipoAcaoAoOcultarFeedback.Ocultar))); } PeriodoOrdenarPor ordenarPor; switch (_datatablesHelper.OrdenarPor) { case "nome": ordenarPor = PeriodoOrdenarPor.Nome; break; case "dataInicio": ordenarPor = PeriodoOrdenarPor.DataInicio; break; default: ordenarPor = PeriodoOrdenarPor.DataFim; break; } filtro.Nome = _datatablesHelper.PalavraChave; filtro.OrdenarPor = ordenarPor; filtro.OrdenarSentido = _datatablesHelper.OrdenarSentido; filtro.PaginaIndex = _datatablesHelper.PaginaIndex; filtro.PaginaTamanho = _datatablesHelper.PaginaTamanho; var saida = await _proxy.ProcurarPeriodos(filtro); if (!saida.Sucesso) { return(new FeedbackResult(new Feedback(TipoFeedback.Erro, "Não foi possível obter a relação de períodos cadastrados.", saida.Mensagens))); } return(new DatatablesResult(_datatablesHelper.Draw, saida.Retorno.TotalRegistros, saida.Retorno.Registros?.Select(x => new { id = x.Id, nome = x.Nome, dataInicio = x.DataInicio.ToString("dd/MM/yyyy HH:mm:ss"), dataFim = x.DataFim.ToString("dd/MM/yyyy HH:mm:ss"), quantidadeDias = x.QuantidadeDias }))); }
public async Task <IActionResult> ObterPeriodosPorPalavraChave(string palavraChave) { var filtro = new ProcurarPeriodo { Nome = palavraChave, OrdenarPor = PeriodoOrdenarPor.DataInicio, OrdenarSentido = "DESC", PaginaIndex = 1, PaginaTamanho = 10 }; var saida = await _proxy.ProcurarPeriodos(filtro); return(new JsonResult(saida.Retorno.Registros?.Select(x => new { id = x.Id, nome = x.Nome, dataInicio = x.DataInicio.ToString("dd/MM/yyyy HH:mm:ss"), dataFim = x.DataFim.ToString("dd/MM/yyyy HH:mm:ss"), quantidadeDias = x.QuantidadeDias }).ToArray())); }