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 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; } } }