public string GravarUsuario([FromBody] Usuario usuario) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { if (usuario != null) { try { var usuarioComMesmoLogin = UsuarioExistente(usuario.Login); if (usuarioComMesmoLogin == null) { usuario.IdUsuario = Guid.NewGuid().ToString(); context.Usuarios.Add(usuario); context.SaveChanges(); return("Usuário gravado com sucesso!"); } else { return("Login inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao gravar usuário", ex); } } else { return("Usuário inválido!"); } } }
public string Logar(string login, string senha) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { var usuario = context.Usuarios.Where(x => x.Login == login && x.Senha == senha).FirstOrDefault(); string token = Guid.NewGuid().ToString(); token = token.Replace("{", "").Replace("}", "").Replace("-", ""); LoginUsuario novoLogin = new LoginUsuario(); novoLogin.Usuario = usuario; novoLogin.Token = token; novoLogin.InicioSessao = DateTime.Now; novoLogin.FimSessao = novoLogin.InicioSessao.AddMinutes(30); context.LoginsUsuario.Add(novoLogin); context.SaveChanges(); return("Login efetuado com sucesso!"); } catch (Exception ex) { throw new Exception("Erro ao logar", ex); } } }
public string CancelarInscricaoAtletaEmEvento([FromBody] SimuladorFormularioDeAtleta formulario, string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Atleta") { EventoAtleta inscricao = context.EventosAtletas.FirstOrDefault(x => x.IdEventoAtleta == formulario.IdEventoAtleta); if (inscricao != null) { inscricao.InscricaoAtleta = "Cancelada"; context.SaveChanges(); return("Inscrição cancelada com sucesso!"); } else { return("Dados inválidos para cancelamento de inscrição!"); } } else { return("Usuário de sessão inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao cancelar inscrição de atleta no evento!", ex); } } }
public string GravarEvento([FromBody] Evento evento, string token) { if (evento != null) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Administrador") { context.Eventos.Add(evento); context.SaveChanges(); return("Evento cadastrado com sucesso!"); } else { return("Usuário de sessão inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao gravar evento", ex); } } } else { return("Evento inválido!"); } }
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()); } }
private List <EventoAtleta> BuscarInscricoesAtleta(SimuladorFormularioDeAtleta filtro) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { var consultaInscricoes = context.EventosAtletas.Include("Atleta").Include("Evento").Where(x => x.IdAtleta == filtro.IdAtleta).AsQueryable(); if (!string.IsNullOrEmpty(filtro.ModalidadeBusca)) { consultaInscricoes = consultaInscricoes.Where(x => x.Evento.Modalidade.Contains(filtro.ModalidadeBusca)); } if (!string.IsNullOrEmpty(filtro.SituacaoBusca)) { consultaInscricoes = consultaInscricoes.Where(x => x.Evento.Situacao.ToUpper() == filtro.SituacaoBusca.ToUpper()); } if (!string.IsNullOrEmpty(filtro.DataInicioBusca)) { DateTime dataInicioBusca = DateTime.Parse(filtro.DataInicioBusca); consultaInscricoes = consultaInscricoes.Where(x => x.DataInscricao >= dataInicioBusca); } if (!string.IsNullOrEmpty(filtro.DataFimBusca)) { DateTime dataFimBusca = DateTime.Parse(filtro.DataFimBusca); consultaInscricoes = consultaInscricoes.Where(x => x.DataInscricao <= dataFimBusca); } // return(consultaInscricoes.ToList()); } }
private Usuario UsuarioExistente(string login) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { var usuario = context.Usuarios.Where(x => x.Login == login).FirstOrDefault(); if (usuario != null) { return(usuario); } return(null); } }
public Usuario UsuarioLogado(string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { var usuario = context.LoginsUsuario.Where(x => x.Token == token && x.FimSessao >= DateTime.Now).Select(x => x.Usuario).FirstOrDefault(); if (usuario != null) { return(usuario); } return(null); } }
public void ExcluirUsuarioPorToken(string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { Usuario usuario = context.LoginsUsuario.FirstOrDefault(x => x.Token == token).Usuario; if (usuario != null) { context.LoginsUsuario.RemoveRange(usuario.LoginsUsuario); context.Usuarios.Remove(usuario); context.SaveChanges(); } } }
public string InscreverAtletaEmEvento([FromBody] SimuladorFormularioDeAtleta formulario, string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Atleta") { if (!string.IsNullOrEmpty(formulario.IdAtleta) && formulario.IdEventoInscricao != 0) { EventoAtleta novaInscricao = new EventoAtleta(); novaInscricao.Atleta = context.Atletas.FirstOrDefault(x => x.IdAtleta == formulario.IdAtleta); novaInscricao.Evento = context.Eventos.FirstOrDefault(x => x.IdEvento == formulario.IdEventoInscricao); novaInscricao.InscricaoAtleta = "Ativa"; novaInscricao.DataInscricao = DateTime.Now; context.EventosAtletas.Add(novaInscricao); context.SaveChanges(); return("Inscrição realizada com sucesso!"); } else { return("Dados inválidos para inscrição!"); } } else { return("Usuário de sessão inválido!"); } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { System.Diagnostics.Debug.WriteLine("Entidade do tipo \"{0}\" com estado \"{1}\" tem os seguintes erros de validação:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { System.Diagnostics.Debug.WriteLine("- Propriedade: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } } }
public string AlterarEvento([FromBody] Evento evento, string token) { if (evento != null) { 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 == evento.IdEvento); eventoNoBanco.Nome = evento.Nome; eventoNoBanco.Descricao = evento.Descricao; eventoNoBanco.Data = evento.Data; eventoNoBanco.Hora = evento.Hora; eventoNoBanco.Local = evento.Local; eventoNoBanco.Estado = evento.Estado; eventoNoBanco.Modalidade = evento.Modalidade; eventoNoBanco.ValorInscricao = evento.ValorInscricao; eventoNoBanco.TerminoInscricoes = evento.TerminoInscricoes; eventoNoBanco.TempoLimiteEvento = evento.TempoLimiteEvento; eventoNoBanco.Responsavel = evento.Responsavel; eventoNoBanco.Percurso = evento.Percurso; eventoNoBanco.Situacao = evento.Situacao; eventoNoBanco.MotivoCancelamento = eventoNoBanco.MotivoCancelamento; context.SaveChanges(); return("Evento alterado com sucesso!"); } else { return("Usuário de sessão inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao alterar evento", ex); } } } else { return("Evento inválido!"); } }
public string Deslogar(string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { var login = context.LoginsUsuario.Where(x => x.Token == token).FirstOrDefault(); login.FimSessao = DateTime.Now; context.SaveChanges(); return("Usuário deslogado com sucesso!"); } catch (Exception ex) { throw new Exception("Erro ao deslogar", ex); } } }
public string GravarAtleta([FromBody] Atleta atleta, string token) { if (atleta != null) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Atleta") { atleta.IdAtleta = Guid.NewGuid().ToString(); atleta.IdUsuario = usuarioSessao.IdUsuario; context.Atletas.Add(atleta); context.SaveChanges(); return("Seu cadastro foi realizado com sucesso!"); } else { return("Usuário de sessão inválido!"); } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { System.Diagnostics.Debug.WriteLine("Entidade do tipo \"{0}\" com estado \"{1}\" tem os seguintes erros de validação:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { System.Diagnostics.Debug.WriteLine("- Propriedade: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } } } else { return("Dados inválidos!"); } }
public string ExcluirAtleta([FromBody] SimuladorFormularioDeAtleta formulario, string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Atleta") { Atleta atleta = context.Atletas.FirstOrDefault(x => x.IdAtleta == formulario.IdAtleta); if (atleta != null) { //antes dessa parte, lembrar de cancelar inscrição do atleta, se ele tiver inscrito em algum evento if (atleta.EventosAtleta.Count > 0) { context.EventosAtletas.RemoveRange(atleta.EventosAtleta); } context.Atletas.Remove(atleta); usuarioController.Deslogar(token); context.SaveChanges(); usuarioController.ExcluirUsuarioPorToken(token); return("Atleta excluído com sucesso!"); } else { return("Atleta não pode ser excluído"); } } else { return("Usuário de sessão inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao excluir atleta!", ex); } } }
public string AtualizarSessao(string token) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { var login = context.LoginsUsuario.Where(x => x.Token == token).FirstOrDefault(); login.InicioSessao = DateTime.Now; login.FimSessao = login.InicioSessao.AddMinutes(30); context.SaveChanges(); return("Sessão atualizada com sucesso!"); } catch (Exception ex) { throw new Exception("Erro ao atualizar sessão", 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!"); } }
public string AlterarAtleta([FromBody] Atleta atleta, string token) { if (atleta != null) { using (SportingTrainingEntities context = new SportingTrainingEntities()) { try { Usuario usuarioSessao = usuarioController.UsuarioLogado(token); if (usuarioSessao != null && usuarioSessao.TipoUsuario == "Atleta") { Atleta atletaNoBanco = context.Atletas.FirstOrDefault(x => x.IdAtleta == atleta.IdAtleta); atletaNoBanco.Nome = atleta.Nome; atletaNoBanco.Endereco = atleta.Endereco; atletaNoBanco.DataNascimento = atleta.DataNascimento; atletaNoBanco.TipoSanguineo = atleta.TipoSanguineo; atletaNoBanco.PlanoDeSaude = atleta.PlanoDeSaude; atletaNoBanco.Cpf = atleta.Cpf; atletaNoBanco.Nacionalidade = atleta.Nacionalidade; atletaNoBanco.Equipe = atleta.Equipe; context.SaveChanges(); return("Seu cadastro foi alterado com sucesso!"); } else { return("Usuário de sessão inválido!"); } } catch (Exception ex) { throw new Exception("Erro ao alterar cadastro", ex); } } } else { return("Dados inválidos!"); } }
// GET api/values public IEnumerable <Usuario> Get() { SportingTrainingEntities context = new SportingTrainingEntities(); return(context.Usuarios.ToList()); }