Ejemplo n.º 1
0
        /// <summary>
        /// Verifica os idiomas, se dados novos foram inseridos, alterados e excluidos e faz as correções necessárias
        /// </summary>
        private void VerificarIdiomas()
        {
            bool      achou  = false;
            IdiomaDAO IdiDao = new IdiomaDAO();

            //Remove dados não válidos
            for (int n = 0; n < CurriculoNovo.Idiomas.Count; n++)
            {
                if (CurriculoNovo.Idiomas[n].Idioma == null)
                {
                    CurriculoNovo.Idiomas.RemoveAt(n);
                }
            }
            //Se o curriculo estava sem Idiomas  todos os dados devem ser inseridos
            if (CurriculoVelho.Idiomas.Count == 0 && CurriculoNovo.Idiomas.Count > 0)
            {
                foreach (IdiomaViewModel form in CurriculoNovo.Idiomas)
                {
                    form.IdCurriculo = CurriculoVelho.Id;
                    IdiDao.Inserir(form);
                }

                return;
            }
            //Verifica uma exclusão de Idiomas ou uma alteração
            foreach (IdiomaViewModel form in CurriculoVelho.Idiomas)
            {
                foreach (IdiomaViewModel form2 in CurriculoNovo.Idiomas)
                {
                    if (form2.Id == form.Id)
                    {
                        if (form2.IdCurriculo == -1)
                        {
                            IdiDao.Excluir(form2.Id, form.IdCurriculo);
                        }
                        else if (IdioChanged(form, form2))
                        {
                            IdiDao.Alterar(form2);
                        }
                        break;
                    }
                }
                // o Id não foi encontrado logo terá que ser excluido
            }
            //verifica inserção de dados
            foreach (IdiomaViewModel form2 in CurriculoNovo.Idiomas)
            {
                if (form2.Id == 0)
                {
                    form2.IdCurriculo = CurriculoVelho.Id;
                    IdiDao.Inserir(form2);
                }
            }
        }
        public IActionResult Salvar(CurriculoViewModel cur)
        {
            int id;

            try
            {
                ViewBag.Idioma = getSelectedLanguage();
                CurriculoDAO   dao  = new CurriculoDAO();
                FormacaoDAO    fdao = new FormacaoDAO();
                IdiomaDAO      Idao = new IdiomaDAO();
                HabilidadesDAO Hdao = new HabilidadesDAO();
                //cur.Nascimento = Convert.ToDateTime("10/07/1997");
                cur.ImagemEmByte = ConvertImageToByte(cur.Imagem);
                if (dao.Consulta(cur.Id) == null)
                {
                    id = dao.ProximoId();
                    dao.Inserir(cur);
                    if (cur.ImagemEmByte != null)
                    {
                        dao.AlterarImagem(cur.ImagemEmByte, id);
                    }
                    //garante que vai estar no ID correto
                    id = dao.ProximoId() - 1;
                    foreach (FormacaoViewModel f in cur.Formacao)
                    {
                        if (f.Descricao != null && f.Instituicao != null)
                        {
                            f.IdCurriculo = id;
                            fdao.Inserir(f);
                        }
                    }

                    foreach (IdiomaViewModel d in cur.Idiomas)
                    {
                        if (d.Idioma != null)
                        {
                            d.IdCurriculo = id;
                            Idao.Inserir(d);
                        }
                    }

                    foreach (HabilidadesViewModel h in cur.Habilidades)
                    {
                        if (h.Descricao != null)
                        {
                            h.IdCurriculo = id;
                            Hdao.Inserir(h);
                        }
                    }
                }
                else
                {
                    CompareCurriculos Compare = new CompareCurriculos(dao.Consulta(cur.Id), cur);
                    Compare.CompararCurriculo();
                    if (cur.StatusImg == "Editar")
                    {
                        dao.AlterarImagem(cur.ImagemEmByte, cur.Id);
                    }
                }

                return(RedirectToAction("index"));
            }
            catch (Exception erro)
            {
                return(View("Error", new ErrorViewModel(erro.ToString())));
            }
        }