public IActionResult AtualizarVaga(int idVaga, AtualizarVagaViewModel 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, idVaga)) { return(BadRequest("Essa vaga não pertece a sua empresa")); } if (_empresaIRepository.AtualizarVaga(idVaga, Vaga)) { return(Ok("Vaga atualizada com sucesso")); } else { return(BadRequest("Não foi possivel atualizar")); } } catch (Exception) { return(BadRequest()); } }
public bool AtualizarVaga(int idVaga, AtualizarVagaViewModel vaga) { using (DbSenaiContext ctx = new DbSenaiContext()) { try { Vaga vagaBuscada = ctx.Vaga.Find(idVaga); if (vagaBuscada == null) return false; if (vaga.Cep != null) vagaBuscada.Cep = vaga.Cep.Trim(); if (vaga.TituloVaga != null) vagaBuscada.TituloVaga = vaga.TituloVaga.Trim(); if (vaga.idTipoPresenca != 0) vagaBuscada.IdTipoRegimePresencial = vaga.idTipoPresenca; if (vaga.Complemento != null) vagaBuscada.Complemento = vaga.Complemento; if (vaga.DescricaoBeneficio != null) vagaBuscada.DescricaoBeneficio = vaga.DescricaoBeneficio; if (vaga.DescricaoEmpresa != null) vagaBuscada.DescricaoEmpresa = vaga.DescricaoEmpresa; if (vaga.DescricaoVaga != null) vagaBuscada.DescricaoVaga = vaga.DescricaoVaga; if (vaga.Estado != null) vagaBuscada.Estado = vaga.Estado; if (vaga.Experiencia != null) vagaBuscada.Experiencia = vaga.Experiencia; if (vaga.Localidade != null) vagaBuscada.Localidade = vaga.Localidade; if (vaga.IdArea != vagaBuscada.IdArea&&vaga.IdArea!=0) vagaBuscada.IdArea = vaga.IdArea; if (vaga.Logradouro != null) vagaBuscada.Logradouro = vaga.Logradouro; if (vaga.Salario != 0) vagaBuscada.Salario = vaga.Salario; if (vaga.TipoContrato != null) vagaBuscada.TipoContrato = vaga.TipoContrato; ctx.Update(vagaBuscada); ctx.SaveChanges(); return true; } catch (Exception e) { Console.WriteLine(e); return false; } } }