public IActionResult SalvarVaga(VagaDTO modeloDeDadosVaga)
        {
            if (ModelState.IsValid)
            {
                Vaga vaga = new Vaga();

                var data_atual = DateTime.Now;

                vaga.Abertura_vaga  = data_atual;
                vaga.Codigo_vaga    = modeloDeDadosVaga.Codigo_vaga;
                vaga.Descricao_vaga = modeloDeDadosVaga.Descricao_vaga;
                vaga.Projeto        = modeloDeDadosVaga.Projeto;
                vaga.Qtd_vaga       = modeloDeDadosVaga.Qtd_vaga;
                vaga.isActive       = true;


                foreach (var vt in modeloDeDadosVaga.Listatecnologias)
                {
                    var tecnologias = database.Tecnologias.First(t => t.Id == vt);

                    Tecnologia t = new Tecnologia();

                    t = tecnologias;

                    Vaga_tecnologia vaga_T = new Vaga_tecnologia();

                    vaga_T.Tecnologia = t;
                    vaga_T.Vaga       = vaga;

                    database.Vaga_Tecnologias.Add(vaga_T);
                }

                database.Vagas.Add(vaga);

                database.SaveChanges();

                return(RedirectToAction("Vagas"));
            }
            else
            {
                ViewBag.Tecnologia = database.Tecnologias.ToList();

                return(View("../Vaga/Cadastrar"));
            }
        }
Пример #2
0
        public IActionResult PopularBanco()
        {
            var temDados = database.Funcionarios.ToList().Count > 0;

            if (!temDados)
            {
                Gft unidadeBarueri = new Gft();

                unidadeBarueri.Cep      = "06454000";
                unidadeBarueri.Endereco = "Alameda Rio Negro, 585";
                unidadeBarueri.Cidade   = "Barueri";
                unidadeBarueri.Estado   = "SP";
                unidadeBarueri.Nome     = "Unidade GFT Barueri";
                unidadeBarueri.Telefone = "1121763253";

                Gft unidadeSorocaba = new Gft();

                unidadeSorocaba.Cep      = "18095450";
                unidadeSorocaba.Endereco = "Avenida de São Francisco , 96";
                unidadeSorocaba.Cidade   = "Sorocaba";
                unidadeSorocaba.Estado   = "SP";
                unidadeSorocaba.Nome     = "Unidade GFT Sorocaba";
                unidadeSorocaba.Telefone = "1121763253";

                List <Gft> unidades = new List <Gft>();

                unidades.Add(unidadeBarueri);
                unidades.Add(unidadeSorocaba);


                Tecnologia tecnologia = new Tecnologia();
                tecnologia.Nome = "JavaScript";

                Tecnologia tecnologiab = new Tecnologia();
                tecnologiab.Nome = "HTML";

                Tecnologia tecnologiac = new Tecnologia();
                tecnologiac.Nome = "CSS";

                Tecnologia tecnologiad = new Tecnologia();
                tecnologiad.Nome = "C#";

                Tecnologia tecnologiae = new Tecnologia();
                tecnologiae.Nome = "Java";

                Tecnologia tecnologiaf = new Tecnologia();
                tecnologiaf.Nome = "ReactJS";

                Tecnologia tecnologiag = new Tecnologia();
                tecnologiag.Nome = "Angular";

                List <Tecnologia> tecnologias = new List <Tecnologia>();

                tecnologias.Add(tecnologia);
                tecnologias.Add(tecnologiab);
                tecnologias.Add(tecnologiac);
                tecnologias.Add(tecnologiad);
                tecnologias.Add(tecnologiae);
                tecnologias.Add(tecnologiaf);
                tecnologias.Add(tecnologiag);

                Vaga vagaA = new Vaga();



                vagaA.Codigo_vaga    = "#52584050";
                vagaA.Projeto        = "Banco original";
                vagaA.Qtd_vaga       = 3;
                vagaA.Abertura_vaga  = DateTime.Now;
                vagaA.Descricao_vaga = "Desenvolvedor Mobile";
                vagaA.isActive       = true;

                List <Vaga> vagas = new List <Vaga>();

                vagas.Add(vagaA);

                Funcionario funcionarioA = new Funcionario();

                Funcionario_Tecnologia funcionarioATechA = new Funcionario_Tecnologia();

                funcionarioATechA.Funcionario = funcionarioA;
                funcionarioATechA.Tecnologia  = tecnologia;

                Funcionario_Tecnologia funcionarioATechB = new Funcionario_Tecnologia();

                funcionarioATechB.Funcionario = funcionarioA;
                funcionarioATechB.Tecnologia  = tecnologiab;

                Funcionario_Tecnologia funcionarioATechC = new Funcionario_Tecnologia();

                funcionarioATechC.Funcionario = funcionarioA;
                funcionarioATechC.Tecnologia  = tecnologiac;

                List <Funcionario_Tecnologia> funcionarioATech = new List <Funcionario_Tecnologia>();

                funcionarioATech.Add(funcionarioATechA);
                funcionarioATech.Add(funcionarioATechB);
                funcionarioATech.Add(funcionarioATechC);

                funcionarioA.Nome                   = "Castro Alves";
                funcionarioA.Cargo                  = "Desenvolvedor Front-end";
                funcionarioA.Matricula              = "3412365";
                funcionarioA.Gft                    = unidadeBarueri;
                funcionarioA.isActive               = true;
                funcionarioA.isAlocado              = false;
                funcionarioA.Inicio_wa              = new DateTime(2020, 11, 10, 9, 45, 0);
                funcionarioA.Termino_wa             = new DateTime(2020, 11, 25, 9, 45, 0);
                funcionarioA.FuncionarioTecnologias = funcionarioATech;

                Funcionario funcionarioB = new Funcionario();

                Funcionario_Tecnologia funcionarioBTechA = new Funcionario_Tecnologia();

                funcionarioBTechA.Funcionario = funcionarioB;
                funcionarioBTechA.Tecnologia  = tecnologiae;

                Funcionario_Tecnologia funcionarioBTechB = new Funcionario_Tecnologia();

                funcionarioBTechB.Funcionario = funcionarioA;
                funcionarioBTechB.Tecnologia  = tecnologiab;

                Funcionario_Tecnologia funcionarioBTechC = new Funcionario_Tecnologia();

                funcionarioBTechC.Funcionario = funcionarioA;
                funcionarioBTechC.Tecnologia  = tecnologiac;

                List <Funcionario_Tecnologia> funcionarioBTech = new List <Funcionario_Tecnologia>();

                funcionarioBTech.Add(funcionarioBTechA);
                funcionarioBTech.Add(funcionarioBTechB);
                funcionarioBTech.Add(funcionarioBTechC);

                funcionarioB.Nome                   = "Ada Lovelace";
                funcionarioB.Cargo                  = "Desenvolvedora Back-end";
                funcionarioB.Matricula              = "6784563";
                funcionarioB.Gft                    = unidadeSorocaba;
                funcionarioB.isActive               = true;
                funcionarioB.isAlocado              = false;
                funcionarioB.Inicio_wa              = new DateTime(2020, 11, 5, 10, 15, 0);
                funcionarioB.Termino_wa             = new DateTime(2020, 11, 20, 10, 15, 0);
                funcionarioB.FuncionarioTecnologias = funcionarioBTech;

                List <Funcionario> funcionarios = new List <Funcionario>();

                funcionarios.Add(funcionarioA);
                funcionarios.Add(funcionarioB);

                database.Tecnologias.AddRange(tecnologias);

                database.Vagas.AddRange(vagas);

                database.Gft.AddRange(unidades);

                database.Funcionarios.AddRange(funcionarios);

                database.SaveChanges();

                var vaga = database.Vagas.First();

                List <Vaga_tecnologia> vagaTe = new List <Vaga_tecnologia>();

                Vaga_tecnologia vagaTeA = new Vaga_tecnologia();

                Vaga_tecnologia vagaTeB = new Vaga_tecnologia();

                vagaTeA.Vaga       = vaga;
                vagaTeA.Tecnologia = tecnologiac;

                vagaTeB.Vaga       = vaga;
                vagaTeB.Tecnologia = tecnologiad;

                vagaTe.Add(vagaTeA);
                vagaTe.Add(vagaTeB);

                database.Vaga_Tecnologias.AddRange(vagaTe);

                database.SaveChanges();

                return(Json("1"));
            }
            else
            {
                return(Json("0"));
            }
        }
        public IActionResult SalvarAlteracoes(VagaDTO vagatemporaria)
        {
            if (ModelState.IsValid)
            {
                var vagaEditar = database.Vagas.First(v => v.Id == vagatemporaria.Id);


                vagaEditar.Descricao_vaga = vagatemporaria.Descricao_vaga;
                vagaEditar.Projeto        = vagatemporaria.Projeto;
                vagaEditar.Qtd_vaga       = vagatemporaria.Qtd_vaga;
                vagaEditar.Qtd_vaga       = vagatemporaria.Qtd_vaga;

                var vagaAlocacao = database.Alocacoes.Where(v => v.Vaga.Id == vagatemporaria.Id).Include(f => f.Funcionario).ToList();

                Funcionario funcionarioAlocacao = new Funcionario();

                if (vagaAlocacao.Count > 0)
                {
                    funcionarioAlocacao = vagaAlocacao[0].Funcionario;

                    database.Alocacoes.RemoveRange(vagaAlocacao);

                    database.Funcionarios.Remove(funcionarioAlocacao);
                }

                database.Vagas.Remove(vagaEditar);

                database.SaveChanges();

                foreach (var vt in vagatemporaria.Listatecnologias)
                {
                    var tecnologias = database.Tecnologias.First(t => t.Id == vt);

                    Tecnologia t = new Tecnologia();

                    t = tecnologias;

                    Vaga_tecnologia vaga_T = new Vaga_tecnologia();

                    vaga_T.Tecnologia = t;
                    vaga_T.Vaga       = vagaEditar;

                    database.Vaga_Tecnologias.Add(vaga_T);
                }

                if (vagaAlocacao.Count > 0)
                {
                    database.Vagas.Add(vagaEditar);

                    database.Funcionarios.Add(funcionarioAlocacao);

                    database.Alocacoes.AddRange(vagaAlocacao);
                }

                database.SaveChanges();

                return(RedirectToAction("Vagas"));
            }
            else
            {
                ViewBag.Tecnologia = database.Tecnologias.ToList();

                return(View("Editar"));
            }
        }