public static SegundaEntrevistaViewModel ConvertToSegundaEntrevistaViewModel(this Candidatura candidatura)
        {
            Entrevista segundaEntrevista;
            int?       motivoSegundaEntrevista       = null;
            string     motivoNombreSegundaEntrevista = "";
            bool       superaSegundaEntrevista       = false;
            bool       sinDecidir = false;
            SegundaEntrevistaViewModel segundaEntrevistaViewModel = new SegundaEntrevistaViewModel();

            if (candidatura.Entrevistas != null && (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista)))
            {
                segundaEntrevista             = candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista);
                motivoSegundaEntrevista       = segundaEntrevista.MotivoId ?? null;
                motivoNombreSegundaEntrevista = segundaEntrevista.Motivo?.Nombre;
                superaSegundaEntrevista       = segundaEntrevista.SuperaEntrevista;
                sinDecidir = segundaEntrevista.SinDecision;

                segundaEntrevistaViewModel = new SegundaEntrevistaViewModel()
                {
                    AgendarSegundaEntrevista = segundaEntrevista.ConvertToAgendarSegundaEntrevistaViewModel(),

                    RangoSalarialesyDisponibilidades = candidatura.GetRangoSalarialesyDisponibilidades(),

                    ResultadoSegundaEntrevista = candidatura.GetResultadoSegundaEntrevista(motivoSegundaEntrevista, motivoNombreSegundaEntrevista, superaSegundaEntrevista, sinDecidir),
                };
            }

            if (candidatura.CartaOfertas != null && (candidatura.EtapaCandidaturaId == (int)TipoEtapaCandidaturaEnum.Fin) &&
                (candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.CartaOferta ||
                 candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.Contratado || candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.Descartado ||
                 candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.RechazaOferta || candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.Renuncia))
            {
                segundaEntrevistaViewModel.MostrarRangosSalariales = false;
            }
            else
            {
                segundaEntrevistaViewModel.MostrarRangosSalariales = true;
            }

            return(segundaEntrevistaViewModel);
        }
Пример #2
0
        public static void UpdateCandidatura(this Candidatura candidatura, SegundaEntrevistaViewModel segundaEntrevistaViewModel, int?entrevistaId)
        {
            candidatura.CandidaturaId = segundaEntrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.CandidaturaId;
            if (segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades != null)
            {
                candidatura.CategoriaId      = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.CategoriaId;
                candidatura.SalarioPropuesto = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioPropuesto;
                candidatura.SalarioDeseado   = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioDeseado;
                candidatura.SalarioActual    = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioActual;
                if (candidatura.SalarioActual == null)
                {
                    candidatura.SalarioActual = 0;
                }
                candidatura.DisponibilidadViajes = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.DisponibilidadViajes;
                candidatura.CambioResidencia     = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.CambioResidencia;
                candidatura.IncorporacionId      = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.IncorporacionId;
            }
            candidatura.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            candidatura.Modified   = ModifiableEntityHelper.GetCurrentDate();

            if (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista))
            {
                candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista).UpdateCandidaturaSegundaEntrevista(segundaEntrevistaViewModel.AgendarSegundaEntrevista, entrevistaId);
                candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista).UpdateCandidaturaSegundaEntrevista(segundaEntrevistaViewModel, entrevistaId);
            }
            else
            {
                Entrevista entrevista = new Entrevista();
                entrevista.UpdateCandidaturaSegundaEntrevista(segundaEntrevistaViewModel.AgendarSegundaEntrevista, entrevistaId);
            }

            if (segundaEntrevistaViewModel.ResultadoSegundaEntrevista != null)
            {
                candidatura.NotificarDescarte = segundaEntrevistaViewModel.ResultadoSegundaEntrevista.NotificarDescarte;
            }
        }
Пример #3
0
        public static void UpdateCandidaturaSegunaEntrevista(this Entrevista entrevista, SegundaEntrevistaViewModel entrevistaViewModel)
        {
            entrevista.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            entrevista.Modified   = ModifiableEntityHelper.GetCurrentDate();

            //de AgendarPrimeraEntrevista
            if (entrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.EntrevistadorId > 0)
            {
                entrevista.EntrevistadorId = entrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.EntrevistadorId;
            }
            entrevista.FechaEntrevista   = (DateTime)entrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.FechaEntrevista;
            entrevista.Presencial        = entrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.Presencial;
            entrevista.AvisarAlCandidato = entrevistaViewModel.AgendarSegundaEntrevista.AgendarSegundaEntrevista.AvisarAlCandidato;
            entrevista.TipoEntrevistaId  = (int)TipoEntrevistaEnum.SegundaEntrevista;

            //de RangoSalarialesyDisponibilidades

            /*if (entrevistaViewModel.RangoSalarialesyDisponibilidades != null)
             * {
             *  entrevista.Observaciones = entrevistaViewModel.RangoSalarialesyDisponibilidades.ObservacionesEntrevista;
             *
             *  if (entrevistaViewModel.RangoSalarialesyDisponibilidades.CategoriaId != 0)
             *  {
             *      entrevista.Candidatura.CategoriaId = entrevistaViewModel.RangoSalarialesyDisponibilidades.CategoriaId;
             *      entrevista.Candidatura.CambioResidencia = entrevistaViewModel.RangoSalarialesyDisponibilidades.CambioResidencia;
             *      entrevista.Candidatura.DisponibilidadViajes = entrevistaViewModel.RangoSalarialesyDisponibilidades.DisponibilidadViajes;
             *      entrevista.Candidatura.IncorporacionId = entrevistaViewModel.RangoSalarialesyDisponibilidades.IncorporacionId;
             *      entrevista.Candidatura.SalarioActual = entrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioActual;
             *      entrevista.Candidatura.SalarioDeseado = entrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioDeseado;
             *      entrevista.Candidatura.SalarioPropuesto = entrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioPropuesto;
             *  }
             * }*/

            //de resultadoSegundaentrevista
            if (entrevistaViewModel.ResultadoSegundaEntrevista != null)
            {
                entrevista.MotivoId = entrevistaViewModel.ResultadoSegundaEntrevista.MotivoId;
            }

            entrevista.IsActivo = true;
        }
        public static void UpdateCandidaturaSegundaEntrevista(this Entrevista entrevista, SegundaEntrevistaViewModel segundaEntrevistaViewModel, int?entrevistaId)
        {
            if (entrevistaId != null)
            {
                entrevista.EntrevistaId = (int)entrevistaId;

                entrevista.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                entrevista.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                entrevista.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                entrevista.Created   = ModifiableEntityHelper.GetCurrentDate();
            }
            if (segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades != null)
            {
                entrevista.Observaciones = segundaEntrevistaViewModel.RangoSalarialesyDisponibilidades.ObservacionesEntrevista;
            }
            if (segundaEntrevistaViewModel.ResultadoSegundaEntrevista != null)
            {
                entrevista.SuperaEntrevista = segundaEntrevistaViewModel.ResultadoSegundaEntrevista.SuperaEntrevista2Id.Value == (int)TipoDecisionEnum.SUPERA_SEGUNDA_ENTREVISTA;
                entrevista.SinDecision      = segundaEntrevistaViewModel.ResultadoSegundaEntrevista.SuperaEntrevista2Id.Value == (int)TipoDecisionEnum.SIN_DECIDIR_SEGUNDA_ENTREVISTA;
                entrevista.MotivoId         = segundaEntrevistaViewModel.ResultadoSegundaEntrevista.MotivoId;
            }
        }