public string GetPersonaUltimoContacto(CandidaturaViewModel candidatura)
        {
            string personaUltimoContacto;

            if (candidatura.CompletarCartaOfertaViewModel != null && candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.EntrevistadorName != null)
            {
                personaUltimoContacto = candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.EntrevistadorName;
                return(personaUltimoContacto);
            }

            if (candidatura.SegundaEntrevistaViewModel != null && candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista != null &&
                candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista != null &&
                candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.EntrevistadorName != null)

            {
                personaUltimoContacto = candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.EntrevistadorName;
                return(personaUltimoContacto);
            }
            if (candidatura.PrimeraEntrevistaViewModel != null && candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista != null &&
                candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista != null &&
                candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.EntrevistadorName != null)
            {
                personaUltimoContacto = candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.EntrevistadorName;
                return(personaUltimoContacto);
            }

            return(null);
        }
Example #2
0
        public ActionResult Candidatar(CandidaturaViewModel novaCandidatura)
        {
            DAOCandidatura daoCandidatura = null;
            Candidatura    candidatura    = null;
            Usuario        usuario        = null;

            try
            {
                usuario = (Usuario)Session["Usuario"];

                candidatura                       = new Candidatura();
                candidatura.Mensagem              = novaCandidatura.Mensagem;
                candidatura.Candidato             = usuario;
                candidatura.ServicoCandidatado.Id = int.Parse(novaCandidatura.IdServico);

                daoCandidatura = new DAOCandidatura();
                if (daoCandidatura.IncluirCandidatura(candidatura))
                {
                    return(new HttpStatusCodeResult(System.Net.HttpStatusCode.Created));
                }
                else
                {
                    return(new HttpStatusCodeResult(System.Net.HttpStatusCode.InternalServerError));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public DateTime?GetFechaUltimoContacto(CandidaturaViewModel candidatura)
        {
            DateTime fechaUltimoContacto;

            if (candidatura.CompletarCartaOfertaViewModel != null && candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta != null &&
                candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta < DateTime.Now)
            {
                fechaUltimoContacto = (DateTime)candidatura.CompletarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta;
                return(fechaUltimoContacto);
            }

            if (candidatura.SegundaEntrevistaViewModel != null && candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista != null &&
                candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista != null &&
                candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.FechaEntrevista != null &&
                candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.FechaEntrevista < DateTime.Now)
            {
                fechaUltimoContacto = (DateTime)candidatura.SegundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.FechaEntrevista;
                return(fechaUltimoContacto);
            }
            if (candidatura.PrimeraEntrevistaViewModel != null && candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista != null &&
                candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista != null &&
                candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.FechaEntrevista != null &&
                candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.FechaEntrevista < DateTime.Now)
            {
                fechaUltimoContacto = (DateTime)candidatura.PrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.FechaEntrevista;
                return(fechaUltimoContacto);
            }

            return(null);
        }
        public ActionResult Adicionar(CandidaturaViewModel candidaturaViewModel)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Areas = AreaCandidaturaRepositorio.BuscarTodas();
                return(View(candidaturaViewModel));
            }
            else
            {
                if (candidaturaViewModel.BIFile != null)
                {
                    candidaturaViewModel.BI = GuardarFicheiro(candidaturaViewModel.BIFile, User.Identity.Name);
                }

                if (candidaturaViewModel.CertificadoFile != null)
                {
                    candidaturaViewModel.Certificado = GuardarFicheiro(candidaturaViewModel.CertificadoFile, User.Identity.Name);
                }

                if (candidaturaViewModel.CartaFile != null)
                {
                    candidaturaViewModel.Carta = GuardarFicheiro(candidaturaViewModel.CartaFile, User.Identity.Name);
                }

                candidaturaViewModel.UsuarioId = UsuarioRepositorio.BuscarPeloEmail(User.Identity.Name).Id;

                CandidaturaRepositorio.Salvar(Mapper.Map <Candidatura>(candidaturaViewModel));

                TempData["MsgAviso"] = "Candidatura enviada com sucesso!";

                return(RedirectToAction("Perfil", "Usuario"));
            }
        }
        public static CandidaturaViewModel ConvertToCandidaturaViewModel(this Candidatura candidatura)
        {
            try {
                var candidaturaViewModel = new CandidaturaViewModel();

                candidaturaViewModel.CandidaturaId = candidatura.CandidaturaId;
                candidaturaViewModel.CandidaturaDatosBasicosViewModel = candidatura.ConvertToCandidaturaDatosBasicosViewModel();
                candidaturaViewModel.FiltroCVViewModel             = candidatura.ConvertToCandidaturaFiltradoCvViewModel();
                candidaturaViewModel.PrimeraEntrevistaViewModel    = candidatura.ConvertToPrimeraEntrevistaViewModel();
                candidaturaViewModel.SegundaEntrevistaViewModel    = candidatura.ConvertToSegundaEntrevistaViewModel();
                candidaturaViewModel.CompletarCartaOfertaViewModel = candidatura.ConvertToCompletarCartaOfertaViewModel();
                candidaturaViewModel.ComentariosRenunciaDescarte   = candidatura.ComentariosRenunciaDescarte;
                candidaturaViewModel.TipoRenunciaDescarte          = candidatura.MotivoRenunciaDescarteId;
                candidaturaViewModel.TipoRenunciaDescarteNombre    = candidatura.MotivoRenunciaDescarte?.Nombre;
                candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.Activo = candidatura.IsActivo;
                candidaturaViewModel.EmailsSeguimiento  = candidatura.EmailsSeguimiento;
                candidaturaViewModel.UsuarioCreacionId  = candidatura.Usuario.UsuarioId;
                candidaturaViewModel.UbicacionCandidato = candidatura.UbicacionCandidato;
                candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.AnioExperiencia = candidatura.AniosExperiencia;
                return(candidaturaViewModel);
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public ActionResult Adicionar()
        {
            ViewBag.Areas      = AreaCandidaturaRepositorio.BuscarTodas();
            ViewBag.Provincias = ProvinciaRepositorio.BuscarTodas();

            var candidaturaViewModel = new CandidaturaViewModel
            {
                ConcursoId = ConcursoRepositorio.BuscarConcursoAtual().Id
            };

            return(View(candidaturaViewModel));
        }
        public static void UpdateCandidaturaModoEdit(this Candidatura candidatura, CandidaturaViewModel candidaturaViewModel)
        {
            candidatura.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            candidatura.Modified   = ModifiableEntityHelper.GetCurrentDate();

            if (candidaturaViewModel.CandidaturaDatosBasicosViewModel != null)
            {
                //se actualiza salvo el candidato que no se puede cambiar ni los estados que no deben cambiar
                //ni los ids
                candidatura.CategoriaId = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.CategoriaId;
                candidatura.OfertaId    = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.OfertaId;
                candidatura.OrigenCvId  = (int)candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.OrigenCvId;
                candidatura.MotivoRenunciaDescarteId = candidaturaViewModel.TipoRenunciaDescarte;
                candidatura.UbicacionCandidato       = candidaturaViewModel.UbicacionCandidato;
                candidatura.AniosExperiencia         = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.AnioExperiencia;

                if (candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.FuenteReclutamientoId != null)
                {
                    candidatura.FuenteReclutamientoId = (int)candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.FuenteReclutamientoId;
                }
                else
                {
                    candidatura.FuenteReclutamientoId = null;
                }

                candidatura.SalarioDeseado = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.SalarioDeseado;
                if (candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.NombreCV != null)
                {
                    candidatura.CV       = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.CV;
                    candidatura.NombreCV = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.NombreCV;
                    candidatura.UrlCV    = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.UrlCV;
                }
                candidatura.DatosCurriculo      = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.DatosCv;
                candidatura.TipoTecnologiaId    = (int)candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.TipoTecnologiaId;
                candidatura.ModuloId            = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.Modulo;
                candidatura.FiltradorId         = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.FiltradorId;
                candidatura.CandidaturaOfertaId = candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.CandidaturaOfertaId;
            }

            if (candidaturaViewModel.FiltroCVViewModel != null)
            {
                candidatura.Observaciones = candidaturaViewModel.FiltroCVViewModel.MotivosObservaciones;
                candidatura.DescartarFuturasCandidaturas = candidaturaViewModel.FiltroCVViewModel.DescartarFuturasCandidaturas;
            }

            if (candidaturaViewModel.PrimeraEntrevistaViewModel != null && (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista)))
            {
                candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista).UpdateCandidaturaPrimeraEntrevista(candidaturaViewModel.PrimeraEntrevistaViewModel);
            }
            if (candidaturaViewModel.SegundaEntrevistaViewModel != null && (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista)))
            {
                candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista).UpdateCandidaturaSegunaEntrevista(candidaturaViewModel.SegundaEntrevistaViewModel);
            }

            if (candidaturaViewModel.CompletarCartaOfertaViewModel != null && (candidatura.CartaOfertas.Any(x => x.CandidaturaId == candidatura.CandidaturaId)))
            {
                candidatura.CartaOfertas.Single(x => x.CandidaturaId == candidatura.CandidaturaId).UpdateCandidaturaCartaOferta(candidaturaViewModel.CompletarCartaOfertaViewModel);
            }

            if (candidaturaViewModel.ComentariosRenunciaDescarte != null && candidaturaViewModel.ComentariosRenunciaDescarte != "")
            {
                candidatura.ComentariosRenunciaDescarte = candidaturaViewModel.ComentariosRenunciaDescarte;
                candidatura.MotivoRenunciaDescarteId    = candidaturaViewModel.TipoRenunciaDescarte;
            }

            string emails = "";

            if (candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.ListEmailReferenciados != null)
            {
                foreach (string emailRef in candidaturaViewModel.CandidaturaDatosBasicosViewModel.DatosBasicos.ListEmailReferenciados)
                {
                    if (emailRef != "")
                    {
                        emails = string.Concat(emails, emailRef, ";");
                    }
                }
            }
            candidatura.EmailsReferenciados = emails;
        }