Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 4
0
        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" }));
            }
        }
Esempio n. 6
0
        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"));
            }
        }
Esempio n. 7
0
        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));
            }
        }
Esempio n. 8
0
        public ActionResult Cadastrar(VagaViewModel model)
        {
            if (model != null)
            {
                return(View(model));
            }

            return(View(new VagaViewModel()));
        }
Esempio n. 9
0
        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));
        }
Esempio n. 10
0
 public void Inserir(VagaViewModel vaga)
 {
     try
     {
         _vagaRepositorio.Inserir(_mapper.Map <VagaEntidade>(vaga));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Esempio n. 11
0
        public IActionResult Post([FromBody] VagaViewModel vagaViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Response());
            }

            var retorno = _vagasAppService.ProcessarVaga(vagaViewModel);

            return(Response(result: retorno.ToList()));
        }
Esempio n. 12
0
        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"));
        }
Esempio n. 13
0
        public ActionResult Post(VagaViewModel vaga)
        {
            try
            {
                _vagaServico.Inserir(vaga);

                return(Ok(vaga));
            }
            catch (System.Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Esempio n. 14
0
 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."));
     }
 }
Esempio n. 15
0
 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."));
     }
 }
Esempio n. 16
0
        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));
            }
        }
Esempio n. 19
0
        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);
            }
        }
Esempio n. 24
0
        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());
            }
        }
Esempio n. 26
0
        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);
        }
Esempio n. 27
0
        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));
            }
        }
Esempio n. 28
0
 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;
            }
        }
Esempio n. 31
0
 /// <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);
        }
Esempio n. 35
0
 public PartialViewResult ModalConfirmarVaga(VagaViewModel model)
 {
     //model.DataEvento = Convert.ToDateTime(model.Date);
     return(PartialView(model));
 }
Esempio n. 36
0
 public PartialViewResult ModalConfirmarVaga(VagaViewModel model)
 {
     return(PartialView(model));
 }