public JsonResult ValidarMatricula(string matricula, int cursoId) { var curso = _cursoAppService.GetById(cursoId); if (curso == null || string.IsNullOrEmpty(matricula)) { return(Json(true)); } if (matricula.Length < 9) { return(Json("Matrícula inválida.")); } var dataImporter = new SupacDataImporter(); try { if (!dataImporter.ValidarMatricula(matricula, curso)) { return(Json("Matrícula inválida.")); } } catch (Exception) { return(Json("Não foi possível validar a matrícula.")); } return(Json(true)); }
public void ValidarMatriculaTest() { var curso = new Curso { CodigoSupac = 387 }; var supacDataImporter = new SupacDataImporter(); supacDataImporter.ValidarMatricula("215215179", curso); }
public async Task <Estudante> Add(ExternalLoginViewModel model, ExternalLoginInfo info = null) { Estudante estudante = null; using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var curso = _cursoRepository.GetById(model.CursoId); var estudanteDataTask = Task.Run(() => SupacDataImporter.ObterDadosDeEstudante(model.Matricula, curso)); var user = new ApplicationUser { UserName = model.Email, Email = model.Email, PhoneNumber = model.PhoneNumber }; var result = await _userManager.CreateAsync(user); if (result.Succeeded) { //var caminhoFoto = SavePhoto(model.Email, model.CaminhoFoto); var genero = model.GeneroId == 1 ? Genero.Masculino : Genero.Feminino; var generosInteresse = model.GenerosInteresse.Where(x => x.IsChecked).Select(x => x.Text); var orientacaoSexual = ObterOrientacaoSexual(genero, generosInteresse.ToArray()); var estudanteDto = await estudanteDataTask; estudante = new Estudante { Nome = model.Nome, Sobrenome = model.Sobrenome, CaminhoFoto = model.CaminhoFoto, DataNascimento = model.DataNascimento, Descricao = model.Sobre, Genero = genero, OrientacaoSexual = orientacaoSexual, OrientacaoPoliticaId = model.OrientacaoPoliticaId == 0 ? null : model.OrientacaoPoliticaId, TipoDeConsumoBebidaId = model.TipoDeConsumoBebidaId == 0 ? null : model.TipoDeConsumoBebidaId, TiposDeAtracao = model.TiposDeAtracao.Where(x => x.IsChecked) .Select(tipoDeAtracao => new EstudanteHasTipoDeAtracao { TipoDeAtracaoId = tipoDeAtracao.Id }).ToList(), Localizacao = model.Localizacao, Matricula = model.Matricula, CursoId = model.CursoId, AnoIngresso = int.Parse(estudanteDto.Ingresso.Split('-')[0]), UsuarioId = user.Id }; Add(estudante); if (info != null) { await _userManager.AddLoginAsync(user, info); } } scope.Complete(); } return(estudante); }