private List <Evento> BuscarEventos(SimuladorFormularioDeEvento filtro) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { context.Configuration.ProxyCreationEnabled = false; var consultaEventos = context.Eventos.AsQueryable(); if (!string.IsNullOrEmpty(filtro.EstadoBusca)) { consultaEventos = consultaEventos.Where(x => x.Estado == filtro.EstadoBusca); } if (!string.IsNullOrEmpty(filtro.ModalidadeBusca)) { consultaEventos = consultaEventos.Where(x => x.Modalidade.Contains(filtro.ModalidadeBusca)); } if (!string.IsNullOrEmpty(filtro.SituacaoBusca)) { consultaEventos = consultaEventos.Where(x => x.Situacao.ToUpper() == filtro.SituacaoBusca.ToUpper()); } if (!string.IsNullOrEmpty(filtro.DataInicioBusca)) { DateTime dataInicioBusca = DateTime.Parse(filtro.DataInicioBusca); consultaEventos = consultaEventos.Where(x => x.Data >= dataInicioBusca); } if (!string.IsNullOrEmpty(filtro.DataFimBusca)) { DateTime dataFimBusca = DateTime.Parse(filtro.DataFimBusca); consultaEventos = consultaEventos.Where(x => x.Data <= dataFimBusca); } return(consultaEventos.ToList()); } }
public HttpResponseMessage ListarEventos([FromBody] SimuladorFormularioDeEvento filtro) { try { var response = new HttpResponseMessage(HttpStatusCode.OK); List <Evento> listaDeEventos = BuscarEventos(filtro); response.Content = new StringContent(JsonConvert.SerializeObject(listaDeEventos)); response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(response); } catch (Exception ex) { throw new Exception("", ex); } }
public string CancelarEvento([FromBody] SimuladorFormularioDeEvento cancelamento, string token) { if (cancelamento.IdEvento != 0) { if (!string.IsNullOrEmpty(cancelamento.MotivoCancelamento)) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Administrador") { Evento eventoNoBanco = context.Eventos.FirstOrDefault(x => x.IdEvento == cancelamento.IdEvento); eventoNoBanco.Situacao = "Cancelado"; eventoNoBanco.MotivoCancelamento = cancelamento.MotivoCancelamento; context.SaveChanges(); return("Evento cancelado com sucesso!"); } else { return("Usuário de sessão inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao cancelar evento", ex); } } } else { return("Informe um motivo para cancelar o evento."); } } else { return("Evento inválido!"); } }