예제 #1
0
        public IActionResult Salvar(VagaDTO vagaT)
        {
            if (ModelState.IsValid)
            {
                Vaga vaga = new Vaga();
                vaga.Projeto           = vagaT.Projeto;
                vaga.Descricao         = vagaT.Descricao;
                vaga.QuantidadeDeVagas = vagaT.QuantidadeDeVagas;
                vaga.CodigoDaVaga      = vagaT.CodigoDaVaga;
                vaga.AberturaDaVaga    = DateTime.Now;
                vaga.Status            = true;
                vaga.Cargo             = Database.Cargos.First(c => c.Id == vagaT.CargoId);

                Database.Vagas.Add(vaga);

                foreach (var id in vagaT.TecnologiaId)
                {
                    VagaTecnologia vagaTecnologia = new VagaTecnologia();
                    vagaTecnologia.Vaga       = vaga;
                    vagaTecnologia.Tecnologia = Database.Tecnologias.First(t => t.Id == id);
                    Database.Add(vagaTecnologia);
                }

                Database.SaveChanges();
                return(RedirectToAction("Vagas", "Wa"));
            }
            else
            {
                ViewBag.Cargos      = Database.Cargos.Where(n => n.Status == true).ToList();
                ViewBag.Tecnologias = Database.Tecnologias.Where(n => n.Status == true).ToList();

                return(View("../Vaga/Novo"));
            }
        }
예제 #2
0
        public IActionResult DeletarVagaTecnologia(VagaTecnologia vaga)
        {
            try
            {
                var     idUsuario = Convert.ToInt32(HttpContext.User.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Jti).Value);
                Empresa empresa   = _empresaIRepository.BuscarEmpresaPorIdUsuario(idUsuario);
                if (empresa == null)
                {
                    return(BadRequest());
                }

                if (_empresaIRepository.VerificarSeaVagaPertenceaEmpresa(empresa.IdEmpresa, vaga.IdVaga))
                {
                    return(BadRequest("Essa vaga não pertece a sua empresa"));
                }

                if (_empresaIRepository.RemoverTecnologiaDaVaga(vaga))
                {
                    return(Ok("Tecnologia removida da vaga com sucesso"));
                }
                else
                {
                    return(BadRequest("Não foi possivel remover a tecnologia"));
                }
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
예제 #3
0
        public int Cadastrar(VagaTecnologia entity)
        {
            try
            {
                const string query =
                    @"INSERT INTO VagaTecnologia (IdVaga, IdTecnologia, IdEmpresa, Peso) 
                          VALUES (:IdVaga, :IdTecnologia, :IdEmpresa, :Peso)";

                var parametros = new
                {
                    entity.IdVaga,
                    entity.IdTecnologia,
                    entity.IdEmpresa,
                    entity.Peso
                };

                string sequenceName = null;

                if (DataBaseType == DataBaseType.Oracle)
                {
                    sequenceName = SequenceHelper.GetSequenceName <VagaTecnologia>(entity);
                }

                return(Convert.ToInt32(IDbConn.CommandInsert(query, DataBaseType, parametros, sequenceName: sequenceName)));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
 public bool AdicionarTecnologiaNaVaga(VagaTecnologia vagaTecnologia)
 {
     using (DbSenaiContext ctx = new DbSenaiContext())
     {
         try
         {
             VagaTecnologia vaga = ctx.VagaTecnologia.FirstOrDefault(u => u.IdVaga == vagaTecnologia.IdVaga && u.IdTecnologia == 1);
             if (vaga == null)
             {
                 ctx.Add(vagaTecnologia);
                 ctx.SaveChanges();
                 return true;
             }
             else
             {
                 ctx.Add(vagaTecnologia);
                 ctx.Remove(vaga);
                 ctx.SaveChanges();
                 return true;
             }
         }
         catch (Exception)
         {
             return false;
         }
     }
 }
        public IActionResult deletarVaga(int id)
        {
            VagaTecnologia vagaTecnologia = _database.VagaTecnologias.Include(p => p.Vaga).Include(p => p.Tecnologia).FirstOrDefault(options => options.Id == id);
            Vaga           vaga           = _database.Vagas.FirstOrDefault(options => options.Id == id);

            if (_database.Aloc.FirstOrDefault(p => p.vag.Id == id) == null)
            {
                _database.VagaTecnologias.Remove(vagaTecnologia);
                _database.Vagas.Remove(vaga);

                _database.SaveChanges();
            }
            else
            {
                return(RedirectToAction("notDeletarVaga"));
            }

            if (vagaTecnologia.Equals(null))
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("vagas"));
            }
        }
        public VagaTecnologiaDto IncluirVagaTecnologia(VagaTecnologiaDto vagaTecnologiaDto)
        {
            var vagaTecnologia = new VagaTecnologia(vagaTecnologiaDto.VagaId, vagaTecnologiaDto.TecnologiaId, vagaTecnologiaDto.Peso);

            _vagaTecnologiaRepository.Armazenar(vagaTecnologia);
            _uow.Commit();
            return(vagaTecnologiaDto);
        }
예제 #7
0
        public bool DeletarEmpresaPorId(int idUsuario)
        {
            using (DbSenaiContext ctx = new DbSenaiContext())
            {
                try
                {
                    Empresa empresaBuscado = ctx.Empresa.FirstOrDefault(u => u.IdUsuario == idUsuario);
                    if (empresaBuscado == null)
                    {
                        return(false);
                    }

                    List <Estagio> ListaDeEstagios = ctx.Estagio.Where(i => i.IdEmpresa == empresaBuscado.IdEmpresa).ToList();
                    for (int i = 0; i < ListaDeEstagios.Count; i++)
                    {
                        if (DeletarEstagioPorId(ListaDeEstagios[i].IdEmpresa))
                        {
                            continue;
                        }

                        break;
                    }
                    List <VagaTecnologia> ListaDeVagaTecnologia = ctx.VagaTecnologia.Where(i => i.IdVagaNavigation.IdEmpresa == empresaBuscado.IdEmpresa).ToList();
                    for (int i = 0; i < ListaDeVagaTecnologia.Count; i++)
                    {
                        VagaTecnologia vaga = new VagaTecnologia()
                        {
                            IdTecnologia = ListaDeVagaTecnologia[i].IdTecnologia,
                            IdVaga       = ListaDeVagaTecnologia[i].IdVaga
                        };
                        if (RemoverTecnologiaDaVaga(vaga))
                        {
                            continue;
                        }

                        break;
                    }

                    List <Vaga> ListaDeVaga = ctx.Vaga.Where(i => i.IdEmpresa == empresaBuscado.IdEmpresa).ToList();
                    for (int i = 0; i < ListaDeVaga.Count; i++)
                    {
                        if (DeletarVaga(ListaDeVaga[i].IdVaga))
                        {
                            continue;
                        }
                    }
                    DeletarUsuarioEmpresaCandidato(empresaBuscado.IdUsuario);
                    ctx.SaveChanges();
                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
예제 #8
0
        /// <summary>
        /// Método responsável por vincular as Tecnologias Informadas a Vaga a ser criada.
        /// </summary>
        /// <param name="dtoVaga">Dto da Vaga que está sendo criada.</param>
        /// <param name="novaVaga">Nova vaga criada para vinculá-la as tecnologias.</param>
        private void VincularTecnologia(VagaDto dtoVaga, Vaga novaVaga)
        {
            foreach (var vagaTecnologiaAtual in dtoVaga.ListaVagaTecnologia)
            {
                VagaTecnologia vagaTecnologia = new VagaTecnologia();
                vagaTecnologia.TecnologiaId = vagaTecnologiaAtual.TecnologiaId;

                novaVaga.ListaVagaTecnologia.Add(vagaTecnologia);
            }
        }
예제 #9
0
        public int Cadastrar(VagaTecnologia entity)
        {
            using (var scope = new TransactionScope())
            {
                var result = _repository.Cadastrar(entity);

                if (result <= 0)
                {
                    throw new Exception("Ocorreu um erro ao cadastrar");
                }

                scope.Complete();
                return(result);
            }
        }
예제 #10
0
        public bool VerificarSeTecnologiaFoiAdicionada(int idTecnologia, int idVaga)
        {
            using (DbSenaiContext ctx = new DbSenaiContext())
            {
                try
                {
                    VagaTecnologia vaga = ctx.VagaTecnologia.FirstOrDefault(v => v.IdTecnologia == idTecnologia && v.IdVaga == idVaga);
                    if (vaga != null)
                        return true;

                    return false;
                }
                catch (Exception)
                {
                    return false;
                }
            }
        }
예제 #11
0
        public IActionResult Atualizar(VagaDTO vagaTemporaria)
        {
            if (ModelState.IsValid)
            {
                var vaga = database.vagas.First(v => v.Id == vagaTemporaria.Id);

                vaga.Id            = vagaTemporaria.Id;
                vaga.CodVaga       = vagaTemporaria.CodVaga;
                vaga.Projeto       = vagaTemporaria.Projeto;
                vaga.QtdVaga       = vagaTemporaria.QtdVaga;
                vaga.AberturaVaga  = vagaTemporaria.AberturaVaga;
                vaga.DescricaoVaga = vagaTemporaria.DescricaoVaga;
                database.SaveChanges();


                string[] arr  = vagaTemporaria.TecnologiaID.Split(",");
                string[] arr2 = vagaTemporaria.TecnologiaIDAntigos.Split(",");

                for (int i = 0; i < arr2.Length; i++)
                {
                    var vagtec = database.vagastecnologias.First(vt => vt.VagaID == vaga.Id && vt.TecnologiaID == Convert.ToInt32(arr2[i]));
                    database.vagastecnologias.Remove(vagtec);
                    database.SaveChanges();
                }

                for (int i = 0; i < arr.Length; i++)
                {
                    VagaTecnologia vt = new VagaTecnologia();

                    vt.Vaga       = database.vagas.First(f => f.Id == vaga.Id);
                    vt.Tecnologia = database.tecnologias.First(t => t.Id == Convert.ToInt32(arr[i]));

                    database.vagastecnologias.Add(vt);
                    database.SaveChanges();
                }

                return(RedirectToAction("Vagas", "Adm"));
            }
            else
            {
                ViewBag.tecnologias = database.tecnologias.ToList();
                return(View("../Adm/EditarVaga"));
            }
        }
        public IActionResult salvarVaga(VagaTecnologia vagaTecnologia)
        {
            if (vagaTecnologia.Id == 0)
            {
                _database.VagaTecnologias.Add(vagaTecnologia);
            }
            else
            {
                VagaTecnologia vagaTecnologiaBanco = _database.VagaTecnologias.Include(p => p.Vaga).Include(x => x.Tecnologia).FirstOrDefault(p => p.Id == vagaTecnologia.Id);
                vagaTecnologiaBanco.Vaga.AberturaVaga   = vagaTecnologia.Vaga.AberturaVaga;
                vagaTecnologiaBanco.Vaga.CodigoVaga     = vagaTecnologia.Vaga.CodigoVaga;
                vagaTecnologiaBanco.Vaga.DescricaoVaga  = vagaTecnologia.Vaga.DescricaoVaga;
                vagaTecnologiaBanco.Vaga.Projeto        = vagaTecnologia.Vaga.Projeto;
                vagaTecnologiaBanco.Vaga.QuantidadeVaga = vagaTecnologia.Vaga.QuantidadeVaga;

                vagaTecnologiaBanco.Tecnologia.Nome = vagaTecnologia.Tecnologia.Nome;
            }

            _database.SaveChanges();

            return(RedirectToAction("vagas"));
        }
예제 #13
0
        public IActionResult Salvar(VagaDTO vagaTemporaria)
        {
            if (ModelState.IsValid)
            {
                Vaga v = new Vaga();

                v.Id            = vagaTemporaria.Id;
                v.CodVaga       = vagaTemporaria.CodVaga;
                v.Projeto       = vagaTemporaria.Projeto;
                v.QtdVaga       = vagaTemporaria.QtdVaga;
                v.AberturaVaga  = DateTime.Now;
                v.DescricaoVaga = vagaTemporaria.DescricaoVaga;
                v.Status        = true;

                database.vagas.Add(v);
                database.SaveChanges();


                string[] arr = vagaTemporaria.TecnologiaID.Split(",");
                for (int i = 0; i < arr.Length; i++)
                {
                    VagaTecnologia vt = new VagaTecnologia();

                    vt.Vaga       = database.vagas.First(vaga => vaga.Id == v.Id);
                    vt.Tecnologia = database.tecnologias.First(t => t.Id == Convert.ToInt32(arr[i]));

                    database.vagastecnologias.Add(vt);
                    database.SaveChanges();
                }

                return(RedirectToAction("Vagas", "Adm"));
            }
            else
            {
                ViewBag.tecnologias = database.tecnologias.Where(t => t.Status == true).ToList();
                return(View("../Adm/CadastrarVaga"));
            }
        }
예제 #14
0
        public IActionResult AdicionarTecnologia(VagaTecnologia vagaTecnologia)
        {
            try
            {
                if (_empresaIRepository.VerificarSeTecnologiaFoiAdicionada(vagaTecnologia.IdTecnologia, vagaTecnologia.IdVaga))
                {
                    return(BadRequest("Essa tecnologia ja foi adicionada"));
                }

                if (_empresaIRepository.AdicionarTecnologiaNaVaga(vagaTecnologia))
                {
                    return(Ok("Tecnologia adicionada com sucesso"));
                }
                else
                {
                    return(BadRequest("Não foi possivel cadastrar a tecnologia"));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
예제 #15
0
        public IActionResult Atualizar(VagaDTO vagaT)
        {
            if (ModelState.IsValid)
            {
                var vaga = Database.Vagas.First(v => v.Id == vagaT.Id);
                vaga.Projeto           = vagaT.Projeto;
                vaga.Descricao         = vagaT.Descricao;
                vaga.CodigoDaVaga      = vagaT.CodigoDaVaga;
                vaga.QuantidadeDeVagas = vagaT.QuantidadeDeVagas;
                vaga.Cargo             = Database.Cargos.First(c => c.Id == vagaT.CargoId);

                var removerRelacao = Database.VagaTecnologias.Where(vt => vt.VagaId == vagaT.Id).ToList();
                foreach (var e in removerRelacao)
                {
                    Database.Remove(e);
                }
                Database.RemoveRange(removerRelacao);

                foreach (var id in vagaT.TecnologiaId)
                {
                    VagaTecnologia vagaTecnologia = new VagaTecnologia();
                    vagaTecnologia.Vaga       = vaga;
                    vagaTecnologia.Tecnologia = Database.Tecnologias.First(t => t.Id == id);
                    Database.Add(vagaTecnologia);
                }

                Database.SaveChanges();
                return(RedirectToAction("Vagas", "Wa"));
            }
            else
            {
                ViewBag.Cargos      = Database.Cargos.Where(n => n.Status == true).ToList();
                ViewBag.Tecnologias = Database.Tecnologias.Where(n => n.Status == true).ToList();

                return(View("../Vaga/Editar"));
            }
        }
예제 #16
0
        public bool RemoverTecnologiaDaVaga(VagaTecnologia vaga)
        {
            using (DbSenaiContext ctx = new DbSenaiContext())
            {
                try
                {
                    var BuscandoVagaTecnologia = ctx.VagaTecnologia.FirstOrDefault(u => u == vaga);
                    if (BuscandoVagaTecnologia == null)
                        return false;

                    int Vaga = ctx.VagaTecnologia.Where(u => u.IdVaga == vaga.IdVaga).Count();
                    if (Vaga == 1)
                        return false;

                    ctx.Remove(BuscandoVagaTecnologia);
                    ctx.SaveChanges();
                    return true;
                }
                catch (Exception)
                {
                    return false;
                }
            }
        }
예제 #17
0
        public IActionResult PopularDados()
        {
            Tecnologia tec1 = new Tecnologia();

            tec1.Nome   = ".NET";
            tec1.Status = true;
            database.tecnologias.Add(tec1);
            database.SaveChanges();

            Tecnologia tec2 = new Tecnologia();

            tec2.Nome   = "Java";
            tec2.Status = true;
            database.tecnologias.Add(tec2);
            database.SaveChanges();

            Tecnologia tec3 = new Tecnologia();

            tec3.Nome   = "Angular";
            tec3.Status = true;
            database.tecnologias.Add(tec3);
            database.SaveChanges();

            Tecnologia tec4 = new Tecnologia();

            tec4.Nome   = "SalesForce";
            tec4.Status = true;
            database.tecnologias.Add(tec4);
            database.SaveChanges();

            Tecnologia tec5 = new Tecnologia();

            tec5.Nome   = "Selenium";
            tec5.Status = true;
            database.tecnologias.Add(tec5);
            database.SaveChanges();

            Tecnologia tec6 = new Tecnologia();

            tec6.Nome   = "Node";
            tec6.Status = true;
            database.tecnologias.Add(tec6);
            database.SaveChanges();

            Tecnologia tec7 = new Tecnologia();

            tec7.Nome   = "React";
            tec7.Status = true;
            database.tecnologias.Add(tec7);
            database.SaveChanges();

            Tecnologia tec8 = new Tecnologia();

            tec8.Nome   = "TypeScript";
            tec8.Status = true;
            database.tecnologias.Add(tec8);
            database.SaveChanges();

            /////////////////////////////////////////////////////////////////////////////////////////////

            Gft unidade1 = new Gft();

            unidade1.Cep      = "06454-000";
            unidade1.Cidade   = "Barueri";
            unidade1.Endereco = "Alameda Rio Negro, 585 - Alphaville Industrial";
            unidade1.Estado   = "São Paulo";
            unidade1.Nome     = "Alphaville";
            unidade1.Telefone = "(11) 2176-3253";
            unidade1.Status   = true;
            database.gfts.Add(unidade1);
            database.SaveChanges();

            Gft unidade2 = new Gft();

            unidade2.Cep      = "80250-210";
            unidade2.Cidade   = "Curitiba";
            unidade2.Endereco = "Av. Sete de Setembro, 2451 - Rebouças";
            unidade2.Estado   = "Paraná";
            unidade2.Nome     = "Curitiba";
            unidade2.Telefone = "(41) 4009-5700";
            unidade2.Status   = true;
            database.gfts.Add(unidade2);
            database.SaveChanges();

            Gft unidade3 = new Gft();

            unidade3.Cep      = "18095-450";
            unidade3.Cidade   = "Sorocaba";
            unidade3.Endereco = "Av. São Francisco, 98 - Jardim Santa Rosália";
            unidade3.Estado   = "São Paulo";
            unidade3.Nome     = "Sorocaba";
            unidade3.Telefone = "(11) 2176-3253";
            unidade3.Status   = true;
            database.gfts.Add(unidade3);
            database.SaveChanges();

            /////////////////////////////////////////////////////////////////////////////////////////////

            Vaga vaga1 = new Vaga();

            vaga1.CodVaga       = "#ITAUNI";
            vaga1.Projeto       = "Itaú Unibanco";
            vaga1.QtdVaga       = 10;
            vaga1.AberturaVaga  = DateTime.Now;
            vaga1.DescricaoVaga = "Vagas para desenvolvedor backend .NET";
            vaga1.Status        = true;
            database.vagas.Add(vaga1);
            database.SaveChanges();

            VagaTecnologia vt1 = new VagaTecnologia();

            vt1.Vaga       = database.vagas.First(v => v.Id == vaga1.Id);
            vt1.Tecnologia = database.tecnologias.First(t => t.Id == 1);
            database.vagastecnologias.Add(vt1);
            database.SaveChanges();

            VagaTecnologia vt11 = new VagaTecnologia();

            vt11.Vaga       = database.vagas.First(v => v.Id == vaga1.Id);
            vt11.Tecnologia = database.tecnologias.First(t => t.Id == 3);
            database.vagastecnologias.Add(vt11);
            database.SaveChanges();

            Vaga vaga2 = new Vaga();

            vaga2.CodVaga       = "#RABANK";
            vaga2.Projeto       = "Rabo Bank";
            vaga2.QtdVaga       = 5;
            vaga2.AberturaVaga  = DateTime.Now;
            vaga2.DescricaoVaga = "Vagas para desenvolvedor frontend";
            vaga2.Status        = true;
            database.vagas.Add(vaga2);
            database.SaveChanges();

            VagaTecnologia vt2 = new VagaTecnologia();

            vt2.Vaga       = database.vagas.First(v => v.Id == vaga2.Id);
            vt2.Tecnologia = database.tecnologias.First(t => t.Id == 3);
            database.vagastecnologias.Add(vt2);
            database.SaveChanges();

            Vaga vaga3 = new Vaga();

            vaga3.CodVaga       = "#BANORI";
            vaga3.Projeto       = "Banco Original";
            vaga3.QtdVaga       = 15;
            vaga3.AberturaVaga  = DateTime.Now;
            vaga3.DescricaoVaga = "Vagas para QA";
            vaga3.Status        = true;
            database.vagas.Add(vaga3);
            database.SaveChanges();

            VagaTecnologia vt3 = new VagaTecnologia();

            vt3.Vaga       = database.vagas.First(v => v.Id == vaga3.Id);
            vt3.Tecnologia = database.tecnologias.First(t => t.Id == 5);
            database.vagastecnologias.Add(vt3);
            database.SaveChanges();

            VagaTecnologia vt31 = new VagaTecnologia();

            vt31.Vaga       = database.vagas.First(v => v.Id == vaga3.Id);
            vt31.Tecnologia = database.tecnologias.First(t => t.Id == 2);
            database.vagastecnologias.Add(vt31);
            database.SaveChanges();

            Vaga vaga4 = new Vaga();

            vaga4.CodVaga       = "#SULAME";
            vaga4.Projeto       = "Sul Ámerica";
            vaga4.QtdVaga       = 8;
            vaga4.AberturaVaga  = DateTime.Now;
            vaga4.DescricaoVaga = "Vagas para desenvolvedor SalesForce";
            vaga4.Status        = true;
            database.vagas.Add(vaga4);
            database.SaveChanges();

            VagaTecnologia vt4 = new VagaTecnologia();

            vt4.Vaga       = database.vagas.First(v => v.Id == vaga4.Id);
            vt4.Tecnologia = database.tecnologias.First(t => t.Id == 6);
            database.vagastecnologias.Add(vt4);
            database.SaveChanges();

            VagaTecnologia vt41 = new VagaTecnologia();

            vt41.Vaga       = database.vagas.First(v => v.Id == vaga4.Id);
            vt41.Tecnologia = database.tecnologias.First(t => t.Id == 7);
            database.vagastecnologias.Add(vt41);
            database.SaveChanges();

            VagaTecnologia vt42 = new VagaTecnologia();

            vt42.Vaga       = database.vagas.First(v => v.Id == vaga4.Id);
            vt42.Tecnologia = database.tecnologias.First(t => t.Id == 8);
            database.vagastecnologias.Add(vt42);
            database.SaveChanges();

            /////////////////////////////////////////////////////////////////////////////////////////////

            Funcionario func1 = new Funcionario();

            func1.Cargo     = "Desenvolvedor .NET";
            func1.InicioWA  = DateTime.Now;
            func1.Matricula = "1545884";
            func1.Nome      = "Fabiano Preto";
            func1.TerminoWA = DateTime.Now.AddDays(15);
            func1.Gft       = database.gfts.First(g => g.Id == 1);
            func1.Status    = true;
            database.funcionarios.Add(func1);
            database.SaveChanges();

            FuncionarioTecnologia ft1 = new FuncionarioTecnologia();

            ft1.Funcionario = database.funcionarios.First(f => f.Id == func1.Id);
            ft1.Tecnologia  = database.tecnologias.First(t => t.Id == 1);
            database.funcionariostecnologias.Add(ft1);
            database.SaveChanges();

            FuncionarioTecnologia ft11 = new FuncionarioTecnologia();

            ft11.Funcionario = database.funcionarios.First(f => f.Id == func1.Id);
            ft11.Tecnologia  = database.tecnologias.First(t => t.Id == 7);
            database.funcionariostecnologias.Add(ft11);
            database.SaveChanges();

            Funcionario func2 = new Funcionario();

            func2.Cargo     = "Desenvolvedora SalesForce";
            func2.InicioWA  = DateTime.Now;
            func2.Matricula = "1544521";
            func2.Nome      = "Ingrid Serello";
            func2.TerminoWA = DateTime.Now.AddDays(15);
            func2.Gft       = database.gfts.First(g => g.Id == 3);
            func2.Status    = true;
            database.funcionarios.Add(func2);
            database.SaveChanges();

            FuncionarioTecnologia ft2 = new FuncionarioTecnologia();

            ft2.Funcionario = database.funcionarios.First(f => f.Id == func2.Id);
            ft2.Tecnologia  = database.tecnologias.First(t => t.Id == 4);
            database.funcionariostecnologias.Add(ft2);
            database.SaveChanges();

            Funcionario func3 = new Funcionario();

            func3.Cargo     = "Desenvolvedora Frontend";
            func3.InicioWA  = DateTime.Now;
            func3.Matricula = "1684284";
            func3.Nome      = "Karine Martins";
            func3.TerminoWA = DateTime.Now.AddDays(15);
            func3.Gft       = database.gfts.First(g => g.Id == 2);
            func3.Status    = true;
            database.funcionarios.Add(func3);
            database.SaveChanges();

            FuncionarioTecnologia ft3 = new FuncionarioTecnologia();

            ft3.Funcionario = database.funcionarios.First(f => f.Id == func3.Id);
            ft3.Tecnologia  = database.tecnologias.First(t => t.Id == 3);
            database.funcionariostecnologias.Add(ft3);
            database.SaveChanges();

            FuncionarioTecnologia ft31 = new FuncionarioTecnologia();

            ft31.Funcionario = database.funcionarios.First(f => f.Id == func3.Id);
            ft31.Tecnologia  = database.tecnologias.First(t => t.Id == 8);
            database.funcionariostecnologias.Add(ft31);
            database.SaveChanges();

            Funcionario func4 = new Funcionario();

            func4.Cargo     = "Desenvolvedor Backend";
            func4.InicioWA  = DateTime.Now;
            func4.Matricula = "4523284";
            func4.Nome      = "Felipe Fernandes";
            func4.TerminoWA = DateTime.Now.AddDays(15);
            func4.Gft       = database.gfts.First(g => g.Id == 1);
            func4.Status    = true;
            database.funcionarios.Add(func4);
            database.SaveChanges();

            FuncionarioTecnologia ft4 = new FuncionarioTecnologia();

            ft4.Funcionario = database.funcionarios.First(f => f.Id == func4.Id);
            ft4.Tecnologia  = database.tecnologias.First(t => t.Id == 2);
            database.funcionariostecnologias.Add(ft4);
            database.SaveChanges();

            Funcionario func5 = new Funcionario();

            func5.Cargo     = "Desenvolvedora Backend";
            func5.InicioWA  = DateTime.Now;
            func5.Matricula = "4524952";
            func5.Nome      = "kemylly Cavalcante";
            func5.TerminoWA = DateTime.Now.AddDays(15);
            func5.Gft       = database.gfts.First(g => g.Id == 1);
            func5.Status    = true;
            database.funcionarios.Add(func5);
            database.SaveChanges();

            FuncionarioTecnologia ft5 = new FuncionarioTecnologia();

            ft5.Funcionario = database.funcionarios.First(f => f.Id == func5.Id);
            ft5.Tecnologia  = database.tecnologias.First(t => t.Id == 1);
            database.funcionariostecnologias.Add(ft5);
            database.SaveChanges();

            Funcionario func6 = new Funcionario();

            func6.Cargo     = "Desenvolvedora SalesForce";
            func6.InicioWA  = DateTime.Now;
            func6.Matricula = "4522152";
            func6.Nome      = "Samara Santos";
            func6.TerminoWA = DateTime.Now.AddDays(15);
            func6.Gft       = database.gfts.First(g => g.Id == 2);
            func6.Status    = true;
            database.funcionarios.Add(func6);
            database.SaveChanges();

            FuncionarioTecnologia ft6 = new FuncionarioTecnologia();

            ft6.Funcionario = database.funcionarios.First(f => f.Id == func6.Id);
            ft6.Tecnologia  = database.tecnologias.First(t => t.Id == 4);
            database.funcionariostecnologias.Add(ft6);
            database.SaveChanges();

            Funcionario func7 = new Funcionario();

            func7.Cargo     = "Desenvolvedor Backend";
            func7.InicioWA  = DateTime.Now;
            func7.Matricula = "4521642";
            func7.Nome      = "Matheus Ribeiro";
            func7.TerminoWA = DateTime.Now.AddDays(15);
            func7.Gft       = database.gfts.First(g => g.Id == 3);
            func7.Status    = true;
            database.funcionarios.Add(func7);
            database.SaveChanges();

            FuncionarioTecnologia ft7 = new FuncionarioTecnologia();

            ft7.Funcionario = database.funcionarios.First(f => f.Id == func7.Id);
            ft7.Tecnologia  = database.tecnologias.First(t => t.Id == 1);
            database.funcionariostecnologias.Add(ft7);
            database.SaveChanges();

            FuncionarioTecnologia ft71 = new FuncionarioTecnologia();

            ft71.Funcionario = database.funcionarios.First(f => f.Id == func7.Id);
            ft71.Tecnologia  = database.tecnologias.First(t => t.Id == 2);
            database.funcionariostecnologias.Add(ft71);
            database.SaveChanges();

            Funcionario func8 = new Funcionario();

            func8.Cargo     = "Desenvolvedor FullStack";
            func8.InicioWA  = DateTime.Now;
            func8.Matricula = "4523549";
            func8.Nome      = "João Oliveira";
            func8.TerminoWA = DateTime.Now.AddDays(15);
            func8.Gft       = database.gfts.First(g => g.Id == 1);
            func8.Status    = true;
            database.funcionarios.Add(func8);
            database.SaveChanges();

            FuncionarioTecnologia ft8 = new FuncionarioTecnologia();

            ft8.Funcionario = database.funcionarios.First(f => f.Id == func8.Id);
            ft8.Tecnologia  = database.tecnologias.First(t => t.Id == 6);
            database.funcionariostecnologias.Add(ft8);
            database.SaveChanges();

            FuncionarioTecnologia ft81 = new FuncionarioTecnologia();

            ft81.Funcionario = database.funcionarios.First(f => f.Id == func8.Id);
            ft81.Tecnologia  = database.tecnologias.First(t => t.Id == 7);
            database.funcionariostecnologias.Add(ft81);
            database.SaveChanges();

            FuncionarioTecnologia ft82 = new FuncionarioTecnologia();

            ft82.Funcionario = database.funcionarios.First(f => f.Id == func8.Id);
            ft82.Tecnologia  = database.tecnologias.First(t => t.Id == 8);
            database.funcionariostecnologias.Add(ft82);
            database.SaveChanges();

            /////////////////////////////////////////////////////////////////////////////////////////////

            Alocacao alo1 = new Alocacao();

            alo1.Id             = 0;
            alo1.InicioAlocacao = DateTime.Now;
            alo1.Vaga           = database.vagas.First(v => v.Id == 1);
            database.alocacoes.Add(alo1);
            database.SaveChanges();

            var funcio1 = database.funcionarios.First(f => f.Id == 1);

            funcio1.Alocacao = database.alocacoes.First(a => a.Id == 1);
            database.SaveChanges();

            var v1 = database.vagas.First(v => v.Id == 1);

            v1.QtdVaga = v1.QtdVaga - 1;
            database.SaveChanges();

            Alocacao alo2 = new Alocacao();

            alo2.Id             = 0;
            alo2.InicioAlocacao = DateTime.Now;
            alo2.Vaga           = database.vagas.First(v => v.Id == 4);
            database.alocacoes.Add(alo2);
            database.SaveChanges();

            var funcio2 = database.funcionarios.First(f => f.Id == 2);

            funcio2.Alocacao = database.alocacoes.First(a => a.Id == 2);
            database.SaveChanges();

            var v2 = database.vagas.First(v => v.Id == 4);

            v2.QtdVaga = v2.QtdVaga - 1;
            database.SaveChanges();

            Alocacao alo3 = new Alocacao();

            alo3.Id             = 0;
            alo3.InicioAlocacao = DateTime.Now;
            alo3.Vaga           = database.vagas.First(v => v.Id == 2);
            database.alocacoes.Add(alo3);
            database.SaveChanges();

            var funcio3 = database.funcionarios.First(f => f.Id == 3);

            funcio3.Alocacao = database.alocacoes.First(a => a.Id == 3);
            database.SaveChanges();

            var v3 = database.vagas.First(v => v.Id == 2);

            v3.QtdVaga = v3.QtdVaga - 1;
            database.SaveChanges();

            Alocacao alo4 = new Alocacao();

            alo4.Id             = 0;
            alo4.InicioAlocacao = DateTime.Now;
            alo4.Vaga           = database.vagas.First(v => v.Id == 1);
            database.alocacoes.Add(alo4);
            database.SaveChanges();

            var funcio4 = database.funcionarios.First(f => f.Id == 5);

            funcio4.Alocacao = database.alocacoes.First(a => a.Id == 4);
            database.SaveChanges();

            var v4 = database.vagas.First(v => v.Id == 1);

            v4.QtdVaga = v4.QtdVaga - 1;
            database.SaveChanges();

            /////////////////////////////////////////////////////////////////////////////////////////////

            Popular pop = new Popular();

            pop.ClaimCont = "Dados";
            pop.ValueCont = true;

            database.popular.Add(pop);
            database.SaveChanges();

            return(RedirectToAction("Index", "Adm"));
        }
        public IActionResult editarVaga(int id)
        {
            VagaTecnologia vagaTecnologia = _database.VagaTecnologias.Include(p => p.Vaga).Include(x => x.Tecnologia).First(options => options.Id == id);

            return(View("editarVaga", vagaTecnologia));
        }
        public IActionResult PopularBase()
        {
            foreach (var funcionario in _database.Funcionarios)
            {
                if (funcionario.Nome == "Vergara")
                {
                    return(RedirectToAction("PopularExist"));
                }
            }

            DateTime data1 = DateTime.Parse("2020-10-20 15:47:35");
            DateTime data2 = DateTime.Parse("2020-10-15 10:30:15");
            DateTime data3 = DateTime.Parse("2020-10-18 15:20:40");
            DateTime data4 = DateTime.Parse("2020-09-10 13:50:12");
            DateTime data5 = DateTime.Parse("2020-10-26 16:45:10");

            // VAGA
            Vaga vagaDotnetJr = new Vaga {
                AberturaVaga = data1, CodigoVaga = "7", DescricaoVaga = "Desenvolvedor .NET Júnior", Projeto = "UBS Bank", QuantidadeVaga = 15
            };
            Vaga vagaDotnetSr = new Vaga {
                AberturaVaga = data2, CodigoVaga = "5", DescricaoVaga = "Desenvolvedor .NET Sênior", Projeto = "UBS Bank", QuantidadeVaga = 10
            };
            Vaga vagaJavaSr = new Vaga {
                AberturaVaga = data3, CodigoVaga = "13", DescricaoVaga = "Desenvolvedor Java Sênior", Projeto = "Banco Original", QuantidadeVaga = 20
            };
            Vaga vagaAzure = new Vaga {
                AberturaVaga = data4, CodigoVaga = "8", DescricaoVaga = "Desenvolvedor Azure", Projeto = "Deutsche Bank", QuantidadeVaga = 3
            };
            Vaga vagaAws = new Vaga {
                AberturaVaga = data5, CodigoVaga = "2", DescricaoVaga = "Desenvolvedor AWS", Projeto = "Santander", QuantidadeVaga = 6
            };

            // TECNOLOGIA
            Tecnologia dotnet = new Tecnologia {
                Nome = ".NET"
            };
            Tecnologia java = new Tecnologia {
                Nome = "Java"
            };
            Tecnologia Azure = new Tecnologia {
                Nome = "Azure"
            };
            Tecnologia AWS = new Tecnologia {
                Nome = "AWS"
            };

            //VAGA TECNOLOGIA
            VagaTecnologia vagaTec1 = new VagaTecnologia {
                Vaga = vagaDotnetJr, Tecnologia = dotnet
            };
            VagaTecnologia vagaTec2 = new VagaTecnologia {
                Vaga = vagaDotnetSr, Tecnologia = dotnet
            };
            VagaTecnologia vagaTec3 = new VagaTecnologia {
                Vaga = vagaJavaSr, Tecnologia = java
            };
            VagaTecnologia vagaTec4 = new VagaTecnologia {
                Vaga = vagaAzure, Tecnologia = Azure
            };
            VagaTecnologia vagaTec5 = new VagaTecnologia {
                Vaga = vagaAws, Tecnologia = AWS
            };

            //FUNCIONARIO
            DateTime datainicio = DateTime.Now;
            DateTime datafinal  = datainicio.AddDays(15);

            Funcionario funcionario1 = new Funcionario {
                Nome            = "Eduardo",
                Cargo           = "Desenvolvedor .NET",
                InicioWa        = datainicio, TerminoWa = datafinal,
                Matricula       = "#1201",
                LocalDeTrabalho = _database.GFTs.FirstOrDefault(p => p.Nome == "GFT Curitiba"),
            };

            Funcionario funcionario2 = new Funcionario {
                Nome            = "Clécio",
                Cargo           = "Desenvolvedor .NET",
                InicioWa        = datainicio, TerminoWa = datafinal,
                Matricula       = "#1560",
                LocalDeTrabalho = _database.GFTs.FirstOrDefault(p => p.Nome == "GFT Alphaville"),
            };

            Funcionario funcionario3 = new Funcionario {
                Nome            = "Henrique",
                Cargo           = "Desenvolvedor Java",
                InicioWa        = datainicio, TerminoWa = datafinal,
                Matricula       = "#5601",
                LocalDeTrabalho = _database.GFTs.FirstOrDefault(p => p.Nome == "GFT Sorocaba"),
            };

            Funcionario funcionario4 = new Funcionario {
                Nome            = "Vidal",
                Cargo           = "Desenvolvedor Azure",
                InicioWa        = datainicio, TerminoWa = datafinal,
                Matricula       = "#4862",
                LocalDeTrabalho = _database.GFTs.FirstOrDefault(p => p.Nome == "GFT Sorocaba"),
            };

            Funcionario funcionario5 = new Funcionario {
                Nome            = "Vergara",
                Cargo           = "Desenvolvedor AWS",
                InicioWa        = datainicio, TerminoWa = datafinal,
                Matricula       = "#7562",
                LocalDeTrabalho = _database.GFTs.FirstOrDefault(p => p.Nome == "GFT Alphaville"),
            };

            FuncionarioTecnologia funcionarioTec1 = new FuncionarioTecnologia {
                Funcionario = funcionario1, Tecnologia = dotnet
            };
            FuncionarioTecnologia funcionarioTec2 = new FuncionarioTecnologia {
                Funcionario = funcionario2, Tecnologia = dotnet
            };
            FuncionarioTecnologia funcionarioTec3 = new FuncionarioTecnologia {
                Funcionario = funcionario3, Tecnologia = java
            };
            FuncionarioTecnologia funcionarioTec4 = new FuncionarioTecnologia {
                Funcionario = funcionario4, Tecnologia = Azure
            };
            FuncionarioTecnologia funcionarioTec5 = new FuncionarioTecnologia {
                Funcionario = funcionario5, Tecnologia = AWS
            };

            _database.Add(vagaDotnetJr);
            _database.Add(vagaDotnetSr);
            _database.Add(vagaJavaSr);
            _database.Add(vagaAzure);
            _database.Add(vagaAws);

            _database.Add(dotnet);
            _database.Add(java);
            _database.Add(Azure);
            _database.Add(AWS);

            _database.Add(vagaTec1);
            _database.Add(vagaTec2);
            _database.Add(vagaTec3);
            _database.Add(vagaTec4);
            _database.Add(vagaTec5);

            _database.Add(funcionario1);
            _database.Add(funcionario2);
            _database.Add(funcionario3);
            _database.Add(funcionario4);
            _database.Add(funcionario5);

            _database.Add(funcionarioTec1);
            _database.Add(funcionarioTec2);
            _database.Add(funcionarioTec3);
            _database.Add(funcionarioTec4);
            _database.Add(funcionarioTec5);

            _database.SaveChanges();

            return(View());
        }