Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public void ValidarMatriculaTest()
        {
            var curso = new Curso {
                CodigoSupac = 387
            };

            var supacDataImporter = new SupacDataImporter();

            supacDataImporter.ValidarMatricula("215215179", curso);
        }
Esempio n. 3
0
        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);
        }