public IActionResult Salvar(VagaViewModel vagaVM) { try { if (ModelState.IsValid) { if (vagaVM == null) { throw new Exception("Vaga inválida!"); } var vaga = vagaVM.ToModel(); _vagaRepository.Salvar(vaga); _tecnologiaRepository.SalvarTecnologiasDaVaga(vaga, vagaVM.TecnologiaIds); return(RedirectToAction("Index")); } else { ViewData["tecnologias"] = _tecnologiaRepository.GetTodosAtivos(); return(View("Vaga", vagaVM)); } } catch (EntidadeNaoEncontradaException) { return(NotFound("Vaga não encontrada")); } catch (Exception ex) { return(StatusCode(500, ex)); } }
private OportunidadeViewModel SaveVaga(VagaViewModel vaga) { try { var usuario = PixCoreValues.UsuarioLogado; var jss = new JavaScriptSerializer(); var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpOportunidades/SalvarOportunidade/" + usuario.idCliente + "/" + usuario.IdUsuario; vaga.status = 1; vaga.IdEmpresa = PixCoreValues.UsuarioLogado.idEmpresa; var op = Oportundiade.Convert(vaga); var empresa = GetEmpresa(op.IdEmpresa); op.EmailEmpresa = empresa.Email; var envio = new { oportunidade = op, }; var data = jss.Serialize(envio); var helper = new ServiceHelper(); var resut = helper.Post <OportunidadeViewModel>(url, envio); return(resut); } catch (Exception e) { throw new Exception("Não foi possível salvar o usuário.", e); } }
public ActionResult EditarVaga(VagaViewModel model) { try { //using (var db = new FinderJobsContext()) //{ // var atualiza = db.Vagas.FirstOrDefault(vaga => vaga.Id == model.Id); // if (atualiza != null) // { // atualiza.Empresa = model.Empresa; // atualiza.Descricao = model.Descricao; // atualiza.Cep = model.Cep; // atualiza.Habilidades = model.Habilidades; // db.SaveChanges(); // } //} TempData["mensagem"] = "Realizado!"; return View("VagaEditar"); } catch (Exception erro) { TempData["mensagem"] = "Ocorreu um erro!"; throw erro; } }
public VagaViewModel GetOportunidade(int id) { var usuario = PixCoreValues.UsuarioLogado; var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpOportunidades/BuscarOportunidadePorID/" + usuario.idCliente + "/" + usuario.IdUsuario; var envio = new { id, }; var helper = new ServiceHelper(); var o = helper.Post <OportunidadeViewModel>(url, envio); var vaga = new VagaViewModel() { Id = o.ID, Nome = o.Nome, ProfissionalNome = o.DescProfissional, Qtd = o.Quantidade, Valor = o.Valor, DataEvento = o.DataOportunidade, IdEmpresa = o.IdEmpresa }; return(vaga); }
public ActionResult CriarVaga(string ddlprova) { if ((string)TempData.Peek("EmailCandidato") == ("*****@*****.**")) { string provaid = ddlprova ?? ""; if (provaid == "") { var provas = _provaAppService.ObterProvasSemVaga().Where(x => x.DataHoraInicio > DateTime.Today); ViewBag.Provas = provas.Select(x => new SelectListItem() { Text = ("Data Inicio: " + x.DataHoraInicio.ToString("dd/MM/yyy HH:mm:ss") + " / Tempo Prova: " + x.TempoProva.Hours.ToString() + " / Data Término: " + x.DataHoraTermino.ToString("dd/MM/yyy HH:mm:ss")), Value = x.ProvaId.ToString() }); return(View(new VagaViewModel())); } else { var prova = _provaAppService.ObterPorId(Guid.Parse(provaid.ToString()), true); var vaga = new VagaViewModel() { Prova = prova }; return(View(vaga)); } } else { return(RedirectToAction("Error", "Home", new { mensagem = "você não tem permissão para acessar essa página" })); } }
public ActionResult Remover(VagaViewModel model) { try { var usuario = PixCoreValues.UsuarioLogado; var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpOportunidades/DeletarOportunidade/" + usuario.idCliente + "/" + usuario.IdUsuario; var op = Oportundiade.Convert(model); var envio = new { oportunidade = op, }; var helper = new ServiceHelper(); var resut = helper.Post <object>(url, envio); GeraMultasPorCancelamento(usuario, op, resut); //var oportunidades = GetOportunidades(op.IdEmpresa); return(View("Index")); } catch (Exception e) { ViewBag.ErrorMessage = "Não foi possível desativar a oportunidade."; return(View("Index")); } }
public ActionResult PublicarAgora(VagaViewModel vaga) { try { vaga.status = 1; vaga.DataEvento = Convert.ToDateTime(vaga.Date); vaga.Numero = Convert.ToInt32(vaga.NumeroString); if (FinanceiroHelper.VerifcaSaldoCliente(vaga.Valor, PixCoreValues.UsuarioLogado)) { var op = SaveVaga(vaga); if (op != null && op.ID > 0) { FinanceiroHelper.LancaTransacoes(op, PixCoreValues.UsuarioLogado); return(Json("ok")); } else { return(Json("Desculpe, o sistema encontrou um erro ao efetuar sua solicitação." + " Entre em contato com nosso suporte técnico.")); } } else { return(Json("Saldo insuficiente.")); } } catch (Exception e) { return(Json(e)); } }
public ActionResult Cadastrar(VagaViewModel model) { if (model != null) { return(View(model)); } return(View(new VagaViewModel())); }
public void Alterar(VagaViewModel vaga) { var vagaRetorna = _mapper.Map <VagaViewModel>(_vagaRepositorio.BuscarPorId(vaga.Id)); if (vagaRetorna == null) { throw new Exception("Id não encontrada"); } _vagaRepositorio.Alterar(_mapper.Map <VagaEntidade>(vaga)); }
public void Inserir(VagaViewModel vaga) { try { _vagaRepositorio.Inserir(_mapper.Map <VagaEntidade>(vaga)); } catch (Exception ex) { throw new Exception(ex.Message); } }
public IActionResult Post([FromBody] VagaViewModel vagaViewModel) { if (!ModelState.IsValid) { return(Response()); } var retorno = _vagasAppService.ProcessarVaga(vagaViewModel); return(Response(result: retorno.ToList())); }
public ActionResult Inscricao(VagaViewModel v) { var user = _candidatoAppService.ObterPorEmail(Request.Form["emailUser"]); var vagasUser = _candidatoAppService.ObterVagas(user.CandidatoId.ToString()); if (!vagasUser.Any(x => x.VagaId.Equals(v.VagaId))) { _candidatoAppService.AdicionarVaga(user.CandidatoId.ToString(), v.VagaId.ToString()); } return(RedirectToAction("Vagas", "Candidato")); }
public ActionResult Post(VagaViewModel vaga) { try { _vagaServico.Inserir(vaga); return(Ok(vaga)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult PublicarMaisTarde(VagaViewModel vaga) { vaga.status = 2; if (SaveVaga(vaga)) { return(RedirectToAction("Gerenciar")); } else { return(Json("Desculpe, o sistema encontrou um erro ao efetuar sua solicitação. Entre em contato" + " com nosso suporte técnico.")); } }
public ActionResult PublicarAgora(VagaViewModel vaga) { vaga.status = 1; vaga.DataEvento = DateTime.Now; if (SaveVaga(vaga)) { return(RedirectToAction("Gerenciar")); } else { return(Json("Desculpe, o sistema encontrou um erro ao efetuar sua solicitação." + " Entre em contato com nosso suporte técnico.")); } }
private static bool SaveVaga(VagaViewModel vaga) { try { var usuario = PixCoreValues.UsuarioLogado; var jss = new JavaScriptSerializer(); var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpOportunidades/SalvarOportunidade/" + usuario.idCliente + "/" + PixCoreValues.UsuarioLogado.IdUsuario; vaga.status = 1; var op = Oportundiade.Convert(vaga); var envio = new { oportunidade = op, }; var data = jss.Serialize(envio); var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(data); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); if (string.IsNullOrEmpty(result) || "null".Equals(result.ToLower())) { throw new Exception("Ouve um erro durante o processo."); } } return(true); } catch (Exception e) { throw new Exception("Não foi possível salvar o usuário.", e); } }
public IActionResult Create(VagaViewModel vaga) { if (ModelState.IsValid) { if (vaga.DataValidade == null || vaga.DataValidade < DateTime.Now) { vaga.DataValidade = DateTime.Now.AddDays(15); } Vaga.Insert(vaga.Funcao, vaga.Descricao, vaga.DataValidade, vaga.Cidade, decimal.Parse(vaga.Cpf), vaga.NomeResponsavel); return(Redirect("~/Home")); } return(View()); }
public ActionResult EditarVaga(VagaViewModel vaga, string ddlprova) { if (ModelState.IsValid) { var provas = _provaAppService.ObterProvasSemVaga().Where(x => x.DataHoraInicio > DateTime.Today); ViewBag.Provas = provas.Select(x => new SelectListItem() { Text = ("Data Inicio: " + x.DataHoraInicio.ToString("dd/MM/yyy HH:mm:ss") + " / Tempo Prova: " + x.TempoProva.Hours.ToString() + " / Data Término: " + x.DataHoraTermino.ToString("dd/MM/yyy HH:mm:ss")), Value = x.ProvaId.ToString() }); var vagas = _vagaAppService.ObterTodos(true); ViewBag.Vagas = vagas.Select(x => new SelectListItem() { Text = ("Nome: " + x.NomeVaga + " / Data início inscrições: " + x.DataInicioInscricao.ToString("dd/MM/yyyy HH:mm:ss")), Value = x.VagaId.ToString() }); try { var id = Guid.Parse(ddlprova); vaga.Prova = _provaAppService.ObterPorId(id, true); _vagaAppService.AtualizarVaga(vaga); } catch { _vagaAppService.Atualizar(vaga); } ViewBag.Mensagem = "A vaga foi atualizada com sucesso!"; vaga.Prova = null; return(View(vaga)); } else { ViewBag.Mensagem = "alguns erros foram detectados ao atualizar a vaga"; var provas = _provaAppService.ObterProvasSemVaga().Where(x => x.DataHoraInicio > DateTime.Today); ViewBag.Provas = provas.Select(x => new SelectListItem() { Text = ("Data Inicio: " + x.DataHoraInicio.ToString("dd/MM/yyy HH:mm:ss") + " / Tempo Prova: " + x.TempoProva.Hours.ToString() + " / Data Término: " + x.DataHoraTermino.ToString("dd/MM/yyy HH:mm:ss")), Value = x.ProvaId.ToString() }); return(View(vaga)); } }
public static OportunidadeViewModel Convert(VagaViewModel vaga) { var endereco = new Endereco { IdCliente = PixCoreValues.UsuarioLogado.idCliente, IdUsuario = PixCoreValues.UsuarioLogado.IdUsuario, Local = vaga.Rua, NumeroLocal = vaga.Numero.ToString(), Ativo = true, Bairro = vaga.Bairro, Complemento = vaga.Complemento, Cidade = vaga.Cidade, Descricao = (vaga.Rua + ". " + vaga.Numero + ". " + vaga.Bairro + " - " + vaga.Cidade + " /" + vaga.Uf + " (" + vaga.Cep + ")"), Estado = vaga.Uf, CEP = vaga.Cep, ID = vaga.EnderecoId, Status = vaga.status, DataCriacao = System.Convert.ToDateTime(vaga.EnderecoDataCriacao), OportunidadeId = vaga.Id, UsuarioEdicao = PixCoreValues.UsuarioLogado.idCliente, Uf = vaga.Uf, LocalOportunidade = vaga.LocalOportunidade, }; return(new OportunidadeViewModel { ID = vaga.Id, Ativo = true, DataCriacao = System.Convert.ToDateTime(vaga.DataCriacao), DataOportunidade = System.Convert.ToDateTime(vaga.Date), DescProfissional = vaga.ProfissionalNome, Nome = vaga.Nome, Quantidade = vaga.Qtd, TipoProfissional = vaga.Profissional, UsuarioCriacao = PixCoreValues.UsuarioLogado.IdUsuario, Endereco = endereco, HoraInicio = vaga.Hora, HoraFim = vaga.Hora, OportunidadeStatusID = vaga.status, IdEmpresa = vaga.IdEmpresa, IdCliente = PixCoreValues.UsuarioLogado.idCliente, Valor = vaga.Valor, Status = vaga.status, UsuarioEdicao = PixCoreValues.UsuarioLogado.idCliente, DescServico = vaga.Servico }); }
public ActionResult CriarVaga(VagaViewModel vaga) { var provaid = Request.Form["provaid"]; if (ModelState.IsValid) { var prova = _provaAppService.ObterPorId(Guid.Parse(provaid), true); vaga.Prova = prova; //vaga.VagaId = prova.ProvaId; _vagaAppService.Adicionar(vaga); return(RedirectToAction("ListaVagas", "Home")); } return(View(vaga)); }
private string ValidaDadosDeEntrada(VagaViewModel vaga) { if (!string.IsNullOrEmpty(vaga.PrecoAvulso)) { decimal n = 0; bool teste = decimal.TryParse(vaga.PrecoAvulso, out n); if (!teste) { return("Valor do Preço para locação Avulsa inválido."); } } if (!string.IsNullOrEmpty(vaga.AposPrimeiraHora)) { decimal n = 0; bool teste = decimal.TryParse(vaga.AposPrimeiraHora, out n); if (!teste) { return("Valor do Preço para após primeira hora inválido."); } } if (!string.IsNullOrEmpty(vaga.PrecoDiaria)) { decimal n = 0; bool teste = decimal.TryParse(vaga.PrecoDiaria, out n); if (!teste) { return("Valor do Preço para locação Diária inválido."); } } if (!string.IsNullOrEmpty(vaga.PrecoMensal)) { decimal n = 0; bool teste = decimal.TryParse(vaga.PrecoMensal, out n); if (!teste) { return("Valor do Preço para locação Mensal inválido."); } } return(""); }
public IActionResult Put(long id, [FromBody] VagaViewModel vaga) { if (vaga == null || vaga.VagaId != id) { return(BadRequest()); } try { var mapvaga = _mapper.Map <Vaga>(vaga); _service.Update(mapvaga); return(new OkObjectResult(_mapper.Map <VagaViewModel>(mapvaga))); } catch (System.Exception) { return(NotFound(vaga)); } }
public ActionResult CadastrarVagaJson(VagaViewModel model) { try { var vaga = new VagaViewModel(); vaga.IdEmpresa = model.IdEmpresa; vaga.DataCadastro = DateTime.Now; vaga.Empresa = model.Empresa; vaga.Descricao = model.Descricao; vaga.Cep = model.Cep; if (model.Habilidades != null && model.Habilidades.Length > 0) { var lista = model.Habilidades.Split(','); foreach (var item in lista) { if (item.Length > 0) { vaga.Habilidades += item + ","; } } vaga.Habilidades = vaga.Habilidades.Substring(0, vaga.Habilidades.Length - 1); } //var db = new FinderJobsContext(); //db.Vagas.Add(vaga); //db.SaveChanges(); var resultado = new object(); resultado = new { mensagem = "Sucesso" }; return Json(resultado, JsonRequestBehavior.AllowGet); } catch (Exception) { var resultado = new object(); resultado = new { mensagem = "Ocorreu um erro ao tentar gravar a vaga" }; return Json(resultado, JsonRequestBehavior.AllowGet); } }
private OportunidadeViewModel SaveVaga(VagaViewModel vaga) { try { var usuario = PixCoreValues.UsuarioLogado; var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpOportunidades/SalvarOportunidade/" + usuario.idCliente + "/" + PixCoreValues.UsuarioLogado.IdUsuario; vaga.status = 1; if (string.IsNullOrEmpty(vaga.DataCriacao)) { vaga.DataCriacao = DateTime.Now.ToShortDateString(); } if (string.IsNullOrEmpty(vaga.EnderecoDataCriacao)) { vaga.EnderecoDataCriacao = DateTime.Now.ToShortDateString(); } var op = Oportundiade.Convert(vaga); op.DataOportunidade = DateTime.Now; var empresa = GetEmpresa(op.IdEmpresa); op.EmailEmpresa = empresa.Email; var envio = new { oportunidade = op, }; var helper = new ServiceHelper(); var resut = helper.Post <OportunidadeViewModel>(url, envio); return(resut); } catch (Exception e) { throw new Exception("Não foi possível salvar o usuário.", e); } }
public IActionResult Post([FromBody] VagaViewModel vagas) { if (vagas == null) { return(BadRequest()); } vagas.VagaId = 0; try { var mapvaga = _mapper.Map <Vaga>(vagas); _service.Add(mapvaga); return(new OkObjectResult(_mapper.Map <VagaViewModel>(mapvaga))); } catch (System.Exception) { return(BadRequest()); } }
public static Vaga ToModel(this VagaViewModel vagaVM) { var vaga = new Vaga() { id = (vagaVM.Id.HasValue ? vagaVM.Id.Value : 0), abertura = vagaVM.Abertura.Value, codigoVaga = vagaVM.CodigoVaga, descricao = vagaVM.Descricao, projeto = vagaVM.Projeto, qtdVaga = vagaVM.QtdVaga, homeOffice = vagaVM.HomeOffice, status = true }; if (vagaVM.HasId) { vaga.data_alteracao = DateTime.Now; } return(vaga); }
public ActionResult <IEnumerable <VagaHomeViewModel> > Desativar(VagaViewModel vaga, Guid id) { try { var vagaRetorno = _vagaServico.BuscarPorId(id); if (vagaRetorno == null) { return(NotFound()); } _vagaServico.Desativar(id); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult PublicarMaisTarde(VagaViewModel vaga) { vaga.Numero = Convert.ToInt32(vaga.NumeroString); vaga.status = 2; if (FinanceiroHelper.VerifcaSaldoCliente(vaga.Valor, PixCoreValues.UsuarioLogado)) { var op = SaveVaga(vaga); if (op != null && op.ID > 0) { FinanceiroHelper.LancaTransacoes(op, PixCoreValues.UsuarioLogado); return(RedirectToAction("Gerenciar")); } else { return(Json("Desculpe, o sistema encontrou um erro ao efetuar sua solicitação. Entre em contato" + " com nosso suporte técnico.")); } } else { return(Json("Saldo insuficiente.")); } }
public async Task <IActionResult> Post([FromBody] VagaViewModel vaga) { try { VagaParser parser = new VagaParser(); Vaga parsedModel = parser.ParseItem(vaga); var result = await _gateway.CreateVaga(parsedModel); if (result) { return(Ok(new { message = Constantes.Messages.ERROR_MESSAGE_POST_409_VAGAS })); } else { return(StatusCode(StatusCodes.Status409Conflict, new { message = Constantes.Messages.ERROR_MESSAGE_POST_409_VAGAS })); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, new { message = Constantes.Messages.ERROR_MESSAGE_POST_500 })); } }
private VagaViewModel PesquisarDistancia(VagaViewModel vagaView) { var HabilidadesCandidato = new string[50]; var HabilidadesVaga = new string[50]; if (!string.IsNullOrEmpty(vagaView.Vaga.Habilidades)) { HabilidadesVaga = vagaView.Vaga.Habilidades.Split(','); } var url = "https://maps.googleapis.com/maps/api/distancematrix/json"; var queryString = "?origins=" + vagaView.Candidato.Cep + "&destinations=" + vagaView.Vaga.Cep + "&mode=driving"; try { var distancia = string.Empty; RespostaDistancia respostaJson = null; var request = (HttpWebRequest)WebRequest.Create(url + queryString); var response = request.GetResponse(); using (var stream = response.GetResponseStream()) { var reader = new StreamReader(stream, Encoding.UTF8); distancia = reader.ReadToEnd(); respostaJson = JsonConvert.DeserializeObject<RespostaDistancia>(distancia); } distancia = respostaJson.rows.Count > 0 && respostaJson.rows[0].elements[0].distance != null ? respostaJson.rows[0].elements[0].distance.text : ""; decimal porcentagem = 0, indice = 100 / HabilidadesVaga.Length; if (distancia.Contains(" m")) { if (vagaView.Candidato != null && vagaView.Candidato.Habilidades != null) { HabilidadesCandidato = vagaView.Candidato.Habilidades.Split(','); foreach (var habilidade in HabilidadesCandidato) { if (HabilidadesVaga.Contains(habilidade)) { porcentagem += indice; } } vagaView.Pesquisa = new DistanciaModel { Porcentagem = porcentagem.ToString() }; } else { vagaView.Pesquisa = new DistanciaModel { Porcentagem = "0" }; } var pattern = "\\D"; var replacement = ""; distancia = Regex.Replace(distancia, pattern, replacement); vagaView.Pesquisa.Distancia = distancia; vagaView.Pesquisa.Unidade = "m"; } if (distancia.Contains(" km")) { if (vagaView.Candidato != null && vagaView.Candidato.Habilidades != null) { HabilidadesCandidato = vagaView.Candidato.Habilidades.Split(','); foreach (var habilidade in HabilidadesCandidato) { if (HabilidadesVaga.Contains(habilidade)) { porcentagem += indice; } } vagaView.Pesquisa.Porcentagem = porcentagem.ToString(); } else { vagaView.Pesquisa.Porcentagem = "0"; } if (distancia.Contains(".")) { distancia = distancia.Substring(0, distancia.IndexOf(".")); } var pattern = "\\D"; var replacement = ""; distancia = Regex.Replace(distancia, pattern, replacement); vagaView.Pesquisa.Distancia = distancia; vagaView.Pesquisa.Unidade = "km"; } return vagaView; } catch (Exception erro) { TempData["mensagem"] = "Ocorreu um erro!"; throw erro; } }
/// <summary> /// Utilize esse método para atualizar uma vaga preenchida com uma prova /// </summary> public void AtualizarVaga(VagaViewModel obj) { }
//metodos de pesquisa public ViewResult PesquisarVaga() { var idVaga = Request.QueryString.ToString(); var id = int.Parse(idVaga); //var FinderJobsContext = new FinderJobsContext(); //List<VagaViewModel> vaga = FinderJobsContext.Vagas.Where(vg => vg.Id == id).ToList(); var model = new VagaViewModel(); //if (vaga != null) //{ // foreach (var item in vaga) // { // model.Id = item.Id; // model.Empresa = item.Empresa; // model.Descricao = item.Descricao; // model.Cep = item.Cep; // model.Habilidades = item.Habilidades; // } //} return View("VagaEditar", model); }
public ActionResult PesquisaEmpresaJson(int id) { var listaDeVagas = new EmpresaViewModel(); listaDeVagas.Vagas = new List<VagaViewModel>(); var vagas = _vagaRepository.BuscarPorEmpresa(id); if (vagas != null) { var vagasViewModel = Mapper.Map<List<Domain.Entities.Vaga>, List<VagaViewModel>>(vagas); var usuarios = _usuarioRepository.BuscarPorTipo("Candidato"); var usuarioViewModel = Mapper.Map<List<Domain.Entities.Usuario>, List<UsuarioViewModel>>(usuarios); //Para cada vaga será procurado o candidato mais próximo com maior aderencia foreach (var vaga in vagasViewModel) { var listaDeVagasTemp = new List<VagaViewModel>(); var vagaView = new VagaViewModel(); vagaView.Vaga = new Vaga { Id = vaga.Id, Cep = vaga.Cep, DataCadastro = vaga.DataCadastro, Descricao = vaga.Descricao, Empresa = vaga.Empresa, Habilidades = vaga.Habilidades, IdEmpresa = vaga.IdEmpresa }; //colocar essa validacao de CEP na View if (!string.IsNullOrWhiteSpace(vagaView.Vaga.Cep) && !vagaView.Vaga.Cep.Contains('-')) { vagaView.Vaga.Cep = vagaView.Vaga.Cep.Insert(5, "-"); } if (usuarios.Count == 0) { listaDeVagas.Vagas.Add(vagaView); } else { VagaViewModel vagaViewAtual = null; foreach (var usuario in usuarioViewModel) { vagaView.Candidato = usuario; //colocar essa validacao de CEP na View if (usuario.Cep != null && !usuario.Cep.Contains('-')) { usuario.Cep = usuario.Cep.Insert(5, "-"); } //??? //vagaView.Candidato = db.Usuarios.Where(usu => usu.Id == usuario.Id).ToList().FirstOrDefault(); listaDeVagasTemp.Add(PesquisarDistancia(vagaView)); foreach (var item in listaDeVagasTemp) { if (vagaViewAtual == null) { vagaViewAtual = item; } else { //Mesma unidade de medida da distancia if (vagaViewAtual.Pesquisa != null && vagaViewAtual.Pesquisa.Unidade != null && item.Pesquisa.Unidade.Equals(vagaViewAtual.Pesquisa.Unidade)) { if (int.Parse(vagaViewAtual.Pesquisa.Distancia) > int.Parse(item.Pesquisa.Distancia)) { vagaViewAtual = item; } } //Unidades de medida diferentes else if (item.Pesquisa != null && item.Pesquisa.Unidade != null && item.Pesquisa.Unidade.Equals("m")) { vagaViewAtual = item; } } } } listaDeVagas.Vagas.Add(vagaViewAtual); } } } var data = new List<object>(); listaDeVagas.Vagas = listaDeVagas.Vagas.OrderBy(x => x.Vaga.DataCadastro).ToList(); foreach (var x in listaDeVagas.Vagas) { if (x.Candidato != null) { data.Add(new { IdVaga = x.Vaga.Id, DataCadastro = x.Vaga.DataCadastro.ToShortDateString() + " " + x.Vaga.DataCadastro.ToShortTimeString(), Descricao = x.Vaga.Descricao, Cep = x.Vaga.Cep, Habilidades = x.Vaga.Habilidades, IdCandidato = x.Candidato.Id, Candidato = x.Candidato.Nome, Distancia = x.Pesquisa != null ? x.Pesquisa.Distancia + " " + x.Pesquisa.Unidade : "", Aderencia = x.Pesquisa != null ? x.Pesquisa.Porcentagem + " %" : "" }); } } var resultado = new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new { data } }; return resultado; }
public JsonResult ListarVagasDistanciaAderencia() { var idVaga = Request.QueryString[0]; var vagas = _vagaRepository.BuscarVagas(); var vagasViewModel = Mapper.Map<List<Domain.Entities.Vaga>, List<VagaViewModel>>(vagas); var usuarios = _usuarioRepository.BuscarPorTipo("Candidato"); var usuarioViewModel = Mapper.Map<List<Domain.Entities.Usuario>, List<UsuarioViewModel>>(usuarios); var listaDeVagas = new List<VagaViewModel>(); // Para cada vaga será procurado o candidato mais próximo com maior aderencia foreach (var vaga in vagas) { var listaDeVagasTemp = new List<VagaViewModel>(); var vagaView = new VagaViewModel(); vagaView.Vaga = new Vaga { Id = vaga.Id, Cep = vaga.Cep, DataCadastro = vaga.DataCadastro, Descricao = vaga.Descricao, Empresa = vaga.Empresa, Habilidades = vaga.Habilidades, IdEmpresa = vaga.IdEmpresa }; // colocar essa validacao de CEP na View if (!vagaView.Vaga.Cep.Contains('-')) { vagaView.Vaga.Cep = vagaView.Vaga.Cep.Insert(5, "-"); } foreach (var usuario in usuarioViewModel) { vagaView.Candidato = usuario; // colocar essa validacao de CEP na View if (!usuario.Cep.Contains('-')) { usuario.Cep = usuario.Cep.Insert(5, "-"); } //??? //vagaView.Candidato = db.Usuarios.Where(usu => usu.Id == usuario.Id).ToList().FirstOrDefault(); listaDeVagasTemp.Add(PesquisarDistancia(vagaView)); VagaViewModel vagaViewAtual = null; foreach (var item in listaDeVagasTemp) { if (vagaViewAtual == null) { vagaViewAtual = item; } else { // Mesma unidade de medida da distancia if (item.Pesquisa.Unidade.Equals(vagaViewAtual.Pesquisa.Unidade)) { if (int.Parse(vagaViewAtual.Pesquisa.Unidade) > int.Parse(item.Pesquisa.Unidade)) { vagaViewAtual = item; } } // Unidades de medida diferentes else if (item.Pesquisa.Unidade.Equals("m")) { vagaViewAtual = item; } } } listaDeVagas.Add(vagaViewAtual); } } // alterar para retornar uma lista de vagas var resultado = new List<object>(); foreach (var item in listaDeVagas) { resultado.Add(new { DataCadastro = item.Vaga.DataCadastro, Empresa = item.Vaga.Empresa, Descricao = item.Vaga.Descricao, Cep = item.Vaga.Cep, Habilidades = item.Vaga.Habilidades, Candidato = item.Candidato.Nome, Distancia = item.Pesquisa.Distancia + " " + item.Pesquisa.Unidade, Porcentagem = item.Pesquisa.Porcentagem, EmailCandidato = item.Candidato.Email }); } return Json(resultado, JsonRequestBehavior.AllowGet); }
public PartialViewResult ModalConfirmarVaga(VagaViewModel model) { //model.DataEvento = Convert.ToDateTime(model.Date); return(PartialView(model)); }
public PartialViewResult ModalConfirmarVaga(VagaViewModel model) { return(PartialView(model)); }