Esempio n. 1
0
        public ActionResult Index()
        {
            PainelControleViewModel vm = new PainelControleViewModel()
            {
                Projetos = projetoRepository.SimpleWhere(p => p.UsuarioId == User.Id)
            };

            return(View("PainelControleView", vm));
        }
        public ActionResult EfetuaCadastro(FormularioProjetoViewModel vm)
        {
            Projeto projeto = vm.Projeto;

            projeto.UsuarioId          = User.Id;
            projeto.Vaga               = vm.Vagas.Where(v => v.Funcao != null && v.Descricao != null).ToList();
            projeto.CategoriaProjetoId = vm.IdCategoriaSelecionada;

            if (vm.ModoValor == FormularioProjetoViewModel.Modo.Cadastro && projetoRepository.SimpleWhere(p => p.Nome.Equals(projeto.Nome)).Count() != 0)
            {
                ModelState.AddModelError("Projeto.Nome", "Já existe um projeto com este título.");
            }

            if (projeto.Vaga.Count < 1)
            {
                ModelState.AddModelError("other", "É necessário cadastrar ao menos uma vaga.");
            }

            if (!ModelState.IsValid)
            {
                vm.Categorias = categoriaProjetoRepository.SimpleWhere(c => true);
                return(View("FormularioProjetoView", vm));
            }

            if (vm.ModoValor == FormularioProjetoViewModel.Modo.Cadastro)
            {
                projetoRepository.Save(projeto);
            }
            else if (vm.ModoValor == FormularioProjetoViewModel.Modo.Alteracao)
            {
                projetoRepository.UpdateWithVagas(projeto);
            }

            if (vm.ImagemCapa != null)
            {
                ImageFileService.StoreFile(ImageType.ProjetoCapa, vm.ImagemCapa, projeto.Id);
            }
            if (vm.ImagemLogo != null)
            {
                ImageFileService.StoreFile(ImageType.ProjetoLogo, vm.ImagemLogo, projeto.Id);
            }

            TempData["mensagemRetorno"] = "Projeto " + (vm.ModoValor == FormularioProjetoViewModel.Modo.Cadastro ?
                                                        "cadastrado" : "alterado") + " com sucesso!";

            return(RedirectToAction("Index", "Projeto", new { Id = projeto.Id }));
        }