public async Task <IActionResult> Edit(int id, [Bind("formacaoId,nome_instituicao,nome_curso,nivel,competencias,dataInicio,dataFim")] formacao formacao)
        {
            if (id != formacao.formacaoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(formacao);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!formacaoExists(formacao.formacaoId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(formacao));
        }
        public async Task <IActionResult> Create([Bind("formacaoId,nome_instituicao,nome_curso,nivel,competencias,dataInicio,dataFim")] formacao formacao)
        {
            if (ModelState.IsValid)
            {
                _context.Add(formacao);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(formacao));
        }
Esempio n. 3
0
        public ObjectReturn <Curriculo> Salvar(Curriculo cur, string path)
        {
            var ret = new ObjectReturn <Curriculo> {
                Success = true
            };

            try
            {
                using (var context = new perfilCurricularContext())
                {
                    curriculo curriculoDB = null;
                    curriculoDB = context.curriculo.FirstOrDefault(where => where.id == cur.id);

                    curriculoDB.nomeCompleto    = cur.nomeCompleto;
                    curriculoDB.email           = cur.email;
                    curriculoDB.profissao       = cur.profissao;
                    curriculoDB.perfilCarreira  = cur.perfilCarreira;
                    curriculoDB.linkedinDisplay = cur.linkedinDisplay;
                    curriculoDB.linkedin        = cur.linkedin;
                    curriculoDB.introProjeto    = cur.introProjeto;
                    if (!String.IsNullOrEmpty(cur.nomeFoto))
                    {
                        curriculoDB.foto = cur.nomeFoto;
                    }

                    if (cur.interesse != null && cur.interesse.Count > 0)
                    {
                        var insercao  = cur.interesse.Where(where => where.id == 0);
                        var alteracao = cur.interesse.Where(where => where.id > 0);
                        var ids       = alteracao.Select(sel => sel.id).ToList();

                        var itemsInteresseDB = curriculoDB.interesse.Where(where => ids.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracao)
                        {
                            var interesseDB = itemsInteresseDB.FirstOrDefault(where => where.id == item.id);
                            interesseDB.descricao = item.descricao;
                        }

                        foreach (var novoInteresse in insercao)
                        {
                            var novoInteresseDB = new interesse()
                            {
                                descricao = novoInteresse.descricao,
                                Curriculo = cur.id
                            };
                            context.interesse.Add(novoInteresseDB);
                        }
                    }


                    if (cur.proficiencia != null && cur.proficiencia.Count > 0)
                    {
                        var insercaoProficiencia  = cur.proficiencia.Where(where => where.id == 0);
                        var alteracaoProficiencia = cur.proficiencia.Where(where => where.id > 0);
                        var idsProficiencia       = alteracaoProficiencia.Select(sel => sel.id).ToList();

                        var itemsProficienciaDB = curriculoDB.proficiencia.Where(where => idsProficiencia.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracaoProficiencia)
                        {
                            var ProficienciaDB = itemsProficienciaDB.FirstOrDefault(where => where.id == item.id);
                            if (ProficienciaDB != null)
                            {
                                ProficienciaDB.descricao   = item.descricao;
                                ProficienciaDB.porcentagem = item.porcentagem;
                            }
                        }

                        foreach (var novaProficiencia in insercaoProficiencia)
                        {
                            var novaProficienciaDB = new proficiencia()
                            {
                                descricao   = novaProficiencia.descricao,
                                porcentagem = novaProficiencia.porcentagem,
                                Curriculo   = cur.id
                            };
                            context.proficiencia.Add(novaProficienciaDB);
                        }
                    }


                    if (cur.telefone != null && cur.telefone.Count > 0)
                    {
                        var insercaoTelefone  = cur.telefone.Where(where => where.id == 0);
                        var alteracaoTelefone = cur.telefone.Where(where => where.id > 0);
                        var idsTelefone       = alteracaoTelefone.Select(sel => sel.id).ToList();

                        var itemsTelefoneDB = curriculoDB.telefone.Where(where => idsTelefone.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracaoTelefone)
                        {
                            var TelefoneDB = itemsTelefoneDB.FirstOrDefault(where => where.id == item.id);
                            if (TelefoneDB != null)
                            {
                                TelefoneDB.ddd    = item.ddd;
                                TelefoneDB.numero = item.numero;
                            }
                        }

                        foreach (var novaTelefone in insercaoTelefone)
                        {
                            var novaTelefoneDB = new telefone()
                            {
                                ddd       = novaTelefone.ddd,
                                numero    = novaTelefone.numero,
                                Curriculo = cur.id
                            };
                            context.telefone.Add(novaTelefoneDB);
                        }
                    }


                    if (cur.projeto != null && cur.projeto.Count > 0)
                    {
                        var insercaoProjeto  = cur.projeto.Where(where => where.id == 0);
                        var alteracaoProjeto = cur.projeto.Where(where => where.id > 0);
                        var idsProjeto       = alteracaoProjeto.Select(sel => sel.id).ToList();

                        var itemsProjetoDB = curriculoDB.projeto.Where(where => idsProjeto.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracaoProjeto)
                        {
                            var ProjetoDB = itemsProjetoDB.FirstOrDefault(where => where.id == item.id);
                            if (ProjetoDB != null)
                            {
                                ProjetoDB.nomeProjeto      = item.nomeProjeto;
                                ProjetoDB.descricaoProjeto = item.descricaoProjeto;
                            }
                        }

                        foreach (var novaProjeto in insercaoProjeto)
                        {
                            var novaProjetoDB = new projeto()
                            {
                                nomeProjeto      = novaProjeto.nomeProjeto,
                                descricaoProjeto = novaProjeto.descricaoProjeto,
                                Curriculo        = cur.id
                            };
                            context.projeto.Add(novaProjetoDB);
                        }
                    }


                    if (cur.lingua != null && cur.lingua.Count > 0)
                    {
                        var insercaoLingua  = cur.lingua.Where(where => where.id == 0);
                        var alteracaoLingua = cur.lingua.Where(where => where.id > 0);
                        var idsLingua       = alteracaoLingua.Select(sel => sel.id).ToList();

                        var itemsLinguaDB = curriculoDB.lingua.Where(where => idsLingua.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracaoLingua)
                        {
                            var LinguaDB = itemsLinguaDB.FirstOrDefault(where => where.id == item.id);
                            if (LinguaDB != null)
                            {
                                LinguaDB.descricao = item.descricao;
                                LinguaDB.Nivel     = item.nivelId;
                            }
                        }

                        foreach (var novaLingua in insercaoLingua)
                        {
                            var novaLinguaDB = new lingua()
                            {
                                descricao = novaLingua.descricao,
                                Nivel     = novaLingua.nivelId,
                                Curriculo = cur.id
                            };
                            context.lingua.Add(novaLinguaDB);
                        }
                    }


                    if (cur.formacao != null && cur.formacao.Count > 0)
                    {
                        var insercaoFormacao  = cur.formacao.Where(where => where.id == 0);
                        var alteracaoFormacao = cur.formacao.Where(where => where.id > 0);
                        var idsFormacao       = alteracaoFormacao.Select(sel => sel.id).ToList();

                        var itemsFormacaoDB = curriculoDB.formacao.Where(where => idsFormacao.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracaoFormacao)
                        {
                            var FormacaoDB = itemsFormacaoDB.FirstOrDefault(where => where.id == item.id);
                            if (FormacaoDB != null)
                            {
                                FormacaoDB.curso             = item.curso;
                                FormacaoDB.instituicaoEnsino = item.instituicaoEnsino;
                                FormacaoDB.anoInicio         = item.anoInicio;
                                FormacaoDB.anoFim            = item.anoFim;
                                FormacaoDB.graduacao         = item.graduacao;
                            }
                        }

                        foreach (var novaFormacao in insercaoFormacao)
                        {
                            var novaFormacaoDB = new formacao()
                            {
                                curso             = novaFormacao.curso,
                                instituicaoEnsino = novaFormacao.instituicaoEnsino,
                                anoInicio         = novaFormacao.anoInicio,
                                anoFim            = novaFormacao.anoFim,
                                graduacao         = novaFormacao.graduacao,
                                Curriculo         = cur.id
                            };
                            context.formacao.Add(novaFormacaoDB);
                        }
                    }


                    if (cur.experiencia != null && cur.experiencia.Count > 0)
                    {
                        var insercaoExperiencia  = cur.experiencia.Where(where => where.id == 0);
                        var alteracaoExperiencia = cur.experiencia.Where(where => where.id > 0);
                        var idsExperiencia       = alteracaoExperiencia.Select(sel => sel.id).ToList();

                        var itemsExperienciaDB = curriculoDB.experiencia.Where(where => idsExperiencia.Contains(where.id) && where.Curriculo == cur.id);
                        foreach (var item in alteracaoExperiencia)
                        {
                            var ExperienciaDB = itemsExperienciaDB.FirstOrDefault(where => where.id == item.id);
                            if (ExperienciaDB != null)
                            {
                                ExperienciaDB.cargo             = item.cargo;
                                ExperienciaDB.empresa           = item.empresa;
                                ExperienciaDB.anoInicio         = item.anoInicio;
                                ExperienciaDB.anoFim            = item.anoFim;
                                ExperienciaDB.localidadeEmpresa = item.localidadeEmpresa;
                                ExperienciaDB.descricao         = item.descricao;
                            }
                        }

                        foreach (var novaExperiencia in insercaoExperiencia)
                        {
                            var novaExperienciaDB = new experiencia()
                            {
                                cargo             = novaExperiencia.cargo,
                                empresa           = novaExperiencia.empresa,
                                anoInicio         = novaExperiencia.anoInicio,
                                anoFim            = novaExperiencia.anoFim,
                                localidadeEmpresa = novaExperiencia.localidadeEmpresa,
                                descricao         = novaExperiencia.descricao,
                                Curriculo         = cur.id
                            };
                            context.experiencia.Add(novaExperienciaDB);
                        }
                    }
                    context.SaveChanges();

                    if (!String.IsNullOrEmpty(cur.nomeFoto))
                    {
                        cur.fotoArray = Convert.FromBase64String(cur.foto);
                        System.IO.File.WriteAllBytes(path, cur.fotoArray);
                    }
                }
                ret.Result = cur;
            }
            catch (Exception ex)
            {
                ret.Ex      = ex;
                ret.Message = ex.Message;
                ret.Success = false;
                ret.Result  = cur;
            }

            return(ret);
        }