예제 #1
0
        public async Task <ActionResult> Editar(AlunoVM alunoVM, string returnUrl = "")
        {
            try
            {
                if (alunoVM.ImagemUpload != null)
                {
                    alunoVM.ImagemUrl = AlunoHelper.ObterNomeArquivo(alunoVM);
                    AlunoHelper.SalvarImagemAluno(alunoVM.ImagemUpload, AlunoHelper.ObterCaminhoImagemAluno(alunoVM, Server));
                }
                var alunoModel = Mapper.Map <AlunoVM, Aluno>(alunoVM);
                await _bussinesAluno.AlterarAsync(alunoModel);

                if (string.IsNullOrEmpty(returnUrl))
                {
                    TempData["Mensagem"] = "Aluno alterado com sucesso.";
                    return(RedirectToAction(nameof(Index)));
                }

                return(Redirect(returnUrl));
            }
            catch (ArgumentException ex)
            {
                ViewBag.ReturnUrl    = returnUrl;
                TempData["Mensagem"] = ex.Message;
                return(View(alunoVM));
            }
        }
예제 #2
0
        public ActionResult Cadastrar(AlunoVM alu)
        {
            repositorioAluno.Inserir(alu.Aluno);


            return(RedirectToAction("Listar"));
        }
예제 #3
0
        public ActionResult Edit(AlunoVM alunoRecebido, string codTurma)
        {
            var query = ObterListaTurmas().Where(t => t.Codigo.Equals(codTurma)).ToList();

            if (query.Count == 0)
            {
                return(HttpNotFound());
            }

            Turma turmaRecebida = query.First();
            Aluno novoAluno     = alunoRecebido.ToAluno(turmaRecebida);

            ModelState["Turma"].Errors.Clear();

            bool matriculaExistente = ObterListaAlunos()
                                      .FirstOrDefault(a => a.Matricula.Equals(novoAluno.Matricula, StringComparison.InvariantCultureIgnoreCase) && !a.Id.Equals(novoAluno.Id)) != null;

            if (matriculaExistente)
            {
                ModelState.AddModelError("Matricula", "Já existe um aluno com essa matricula");
            }
            novoAluno.AnoApresentacao = alunoRecebido.AnoApresentacao;
            ModelState["AnoApresentacao"].Errors.Clear();

            novoAluno.MesApresentacao = alunoRecebido.MesApresentacao;
            ModelState["MesApresentacao"].Errors.Clear();

            Aluno alunoSalvo = ObterListaAlunos()
                               .Where(a => a.Id == novoAluno.Id)
                               .FirstOrDefault();

            if (ObterPrevisaoInicialApresentacao(alunoSalvo)[0] > alunoRecebido.AnoApresentacao)
            {
                ModelState.AddModelError("MesApresentacao", "Restauramos a combinação Ano/Semestre pois a inserida não representava uma data posterior a data de previsão padrao");
            }
            else if (ObterPrevisaoInicialApresentacao(alunoSalvo)[0] == alunoRecebido.AnoApresentacao && ObterPrevisaoInicialApresentacao(alunoSalvo)[1] > alunoRecebido.MesApresentacao)
            {
                ModelState.AddModelError("MesApresentacao", "Restauramos a combinação Ano/Semestre pois a inserida não representava uma data posterior a data de previsão padrao");
            }

            if (ModelState.IsValid)
            {
                bool podeEditar = ObterListaAlunos().Where(a => a.Id == alunoSalvo.Id).FirstOrDefault() != null;
                if (!podeEditar)
                {
                    return(RedirectToAction("Unauthorized", "Erro"));
                }

                _alunoRepository.Update(alunoSalvo, novoAluno, query.First());
                return(RedirectToAction("Index"));
            }
            ViewBag.DataAntiga = new int[] { alunoSalvo.AnoApresentacao, alunoSalvo.MesApresentacao };
            ViewBag.turmas     = ObterListaTurmas()
                                 .ToTurmaVM();

            novoAluno.AnoApresentacao = alunoSalvo.AnoApresentacao;
            novoAluno.MesApresentacao = novoAluno.MesApresentacao;

            return(View(novoAluno.ToAlunoVM()));
        }
예제 #4
0
        public ActionResult Listar(string sortOrder, string currentFilter, string searchString, int?page)
        {
            ViewBag.CurrentSort = sortOrder;
            ViewBag.NomeParam   = String.IsNullOrEmpty(sortOrder) ? "NOME" : "";
            ViewBag.DataParam   = sortOrder == "Datetime" ? "DataNascimento" : "Datetime";

            var viewModel = new AlunoVM();

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;

            viewModel.Alunos = repositorioAluno.ListaAluno();


            if (!String.IsNullOrEmpty(searchString))
            {
                viewModel.Alunos =
                    repositorioAluno.ListaAluno().Where(x => x.Nome.ToUpper().Contains(searchString.ToUpper()) ||
                                                        x.Email.ToUpper().Contains(searchString));
            }



            switch (sortOrder)
            {
            case "NOME":
                viewModel.Alunos = viewModel.Alunos.OrderBy(x => x.Nome);
                break;

            case "Datetime":
                viewModel.Alunos = viewModel.Alunos.OrderBy(x => x.DataNascimento);
                break;

            case "DataNascimento":
                viewModel.Alunos = viewModel.Alunos.OrderByDescending(x => x.DataNascimento);
                break;

            default:
                viewModel.Alunos = viewModel.Alunos.OrderByDescending(x => x.Nome);

                break;
            }

            int pageSize   = 3;
            int pageNumber = (page ?? 1);

            return(View(viewModel.Alunos.ToPagedList(pageNumber, pageSize)));
        }
예제 #5
0
        public ActionResult Cadastrar()
        {
            var viewModel = new AlunoVM();


            viewModel.ListaCurso = new SelectList(repositorioCurso.ListaCurso(), "COD_CURSO", "NOME");

            viewModel.ListaSexo = new SelectList(repositorioSexo.ListaSexo(), "Cod_Sexo", "DESCRICAO");

            return(View(viewModel));
        }
예제 #6
0
        public ActionResult Endereco(AlunoVM vm, int id)
        {
            vm.Aluno.Cod_Aluno = id;
            vm.Aluno.Cod_Curso = vm.Aluno.Cod_Curso;
            vm.Aluno.Cod_Sexo  = vm.Aluno.Cod_Sexo;


            repositorioAluno.AtualizarEndereco(vm.Aluno);

            return(RedirectToAction("Listar"));
        }
예제 #7
0
        public ActionResult Editar(int id)
        {
            var viewModel = new AlunoVM();


            viewModel.ListaCurso = new SelectList(repositorioCurso.ListaCurso(), "COD_CURSO", "NOME");

            viewModel.ListaSexo = new SelectList(repositorioSexo.ListaSexo(), "Cod_Sexo", "DESCRICAO");

            viewModel.Aluno = repositorioAluno.ListaAluno().Single(x => x.Cod_Aluno == id);

            return(View(viewModel));
        }
        public static string ObterCaminhoImagemAluno(AlunoVM alunoVM, HttpServerUtilityBase server)
        {
            var caminhoFisico = server.MapPath(PathImagens);

            if (!Directory.Exists(caminhoFisico))
            {
                Directory.CreateDirectory(caminhoFisico);
            }

            var path = Path.Combine(caminhoFisico, alunoVM.ImagemUrl);

            return(path);
        }
예제 #9
0
        public IActionResult Pesquisa(AlunoVM vm)
        {
            LoadViewBags();

            //Filters - BEGINS
            var alunosFiltrados = Db.Alunos.Where(r => !r.Excluded);

            alunosFiltrados = alunosFiltrados.Where(c => c.Matricula.ToString().Contains(vm.FilterMatricula.ToString()));
            alunosFiltrados = alunosFiltrados.Where(c => c.Idade.ToString().Contains(vm.FilterIdade.ToString()));
            alunosFiltrados = alunosFiltrados.Where(c => c.Nome.ToUpper().Contains(vm.FilterNome.ToUpper()));

            //Filters - ENDS
            //filtro parou aqui preciso verificar (ocorreu um erro)
            vm.Alunos = alunosFiltrados.ToList();

            //vm.Alunos = alunosFiltrados.ToList();
            return(View(vm)); //Model da View = List de Produtos
        }
예제 #10
0
        public IActionResult CreateBulkInsert(AlunoVM vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            foreach (var aluno in vm.Alunos)
            {
                Db.Alunos.Add(aluno);
            }

            Db.SaveChanges();

            LoadViewBags();
            NotifySuccess("Sucesso:", "Cadastro inserido com sucesso!");

            return(RedirectToAction("Index"));
        }
        public static string ObterNomeArquivo(AlunoVM alunoVM)
        {
            if (alunoVM.ImagemUpload == null)
            {
                throw new ArgumentException("Nenhuma foto do aluno foi definida.");
            }

            var formatoImagem = alunoVM.ImagemUpload.ContentType;

            formatoImagem = formatoImagem.Substring(formatoImagem.IndexOf("/") + 1);

            if (!formatos.Contains(formatoImagem))
            {
                throw new ArgumentException("Formato de imagem inválido.");
            }

            var fileName = $"{alunoVM.Id} - {alunoVM.Nome}.{formatoImagem}";

            return(fileName);
        }
예제 #12
0
        public async Task <ActionResult> Novo(AlunoVM alunoVM)
        {
            try
            {
                alunoVM.Id = await _bussinesAluno.ObterUltimoIdAsync() + 1;

                alunoVM.ImagemUrl = AlunoHelper.ObterNomeArquivo(alunoVM);
                var alunoModel = Mapper.Map <AlunoVM, Aluno>(alunoVM);

                await _bussinesAluno.InserirAsync(alunoModel);

                AlunoHelper.SalvarImagemAluno(alunoVM.ImagemUpload, AlunoHelper.ObterCaminhoImagemAluno(alunoVM, Server));

                return(RedirectToRoute("Matricular", new { controller = "Matriculas", idAluno = alunoVM.Id }));
            }
            catch (ArgumentException ex)
            {
                ViewBag.TiposResponsaveis = Enum.GetValues(typeof(TipoResponsavelEnum));
                TempData["Mensagem"]      = ex.Message;
                return(View(alunoVM));
            }
        }
예제 #13
0
        public ActionResult Add(AlunoVM alunoRecebido, string codTurma)
        {
            var query = ObterListaTurmas().Where(t => t.Codigo.Equals(codTurma)).ToList();

            if (query.Count == 0)
            {
                return(HttpNotFound());
            }

            Turma turmaRecebida = query.First();
            Aluno novoAluno     = alunoRecebido.ToAluno(turmaRecebida);

            ModelState["Turma"].Errors.Clear();

            bool matriculaExistente = ObterListaAlunos()
                                      .FirstOrDefault(a => a.Matricula.Equals(novoAluno.Matricula, StringComparison.InvariantCultureIgnoreCase) && !a.Id.Equals(novoAluno.Id)) != null;

            if (matriculaExistente)
            {
                ModelState.AddModelError("Matricula", "Já existe um aluno com essa matricula");
            }

            ModelState["AnoApresentacao"].Errors.Clear();
            novoAluno.AnoApresentacao = ObterPrevisaoInicialApresentacao(novoAluno)[0];

            ModelState["MesApresentacao"].Errors.Clear();
            novoAluno.MesApresentacao = ObterPrevisaoInicialApresentacao(novoAluno)[1];

            if (ModelState.IsValid)
            {
                _alunoRepository.Persist(novoAluno);
                return(RedirectToAction("Index"));
            }
            ViewBag.turmas = ObterListaTurmas()
                             .ToTurmaVM();
            return(View(novoAluno.ToAlunoVM()));
        }
예제 #14
0
 public ValidarIdadeAluno()
 {
     InitializeComponent();
     BindingContext = new AlunoVM();
 }