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);
                }
            }
        }
Example #3
0
        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);
                }
            }
        }
Example #4
0
 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!");
     }
 }
Example #5
0
        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());
            }
        }
Example #6
0
        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();
                }
            }
        }
Example #10
0
        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;
                }
            }
        }
Example #11
0
        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!");
            }
        }
Example #12
0
        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);
                }
            }
        }
Example #13
0
 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!");
     }
 }
Example #14
0
        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);
                }
            }
        }
Example #15
0
        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);
                }
            }
        }
Example #16
0
        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!");
            }
        }
Example #17
0
        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!");
            }
        }
Example #18
0
        // GET api/values
        public IEnumerable <Usuario> Get()
        {
            SportingTrainingEntities context = new SportingTrainingEntities();

            return(context.Usuarios.ToList());
        }