Exemplo n.º 1
0
        public static void UpdateCandidatura(this Candidatura candidatura, PrimeraEntrevistaViewModel primeraEntrevistaViewModel, int?entrevistaId)
        {
            candidatura.CandidaturaId = primeraEntrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.CandidaturaId;

            candidatura.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            candidatura.Modified   = ModifiableEntityHelper.GetCurrentDate();


            if (primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades != null)
            {
                candidatura.CategoriaId      = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.CategoriaId;
                candidatura.SalarioPropuesto = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioPropuesto;
                candidatura.SalarioDeseado   = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioDeseado;
                candidatura.SalarioActual    = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.SalarioActual;
                if (candidatura.SalarioActual == null)
                {
                    candidatura.SalarioActual = 0;
                }
                candidatura.DisponibilidadViajes = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.DisponibilidadViajes;
                candidatura.CambioResidencia     = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.CambioResidencia;
                candidatura.IncorporacionId      = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.IncorporacionId;
            }

            if (candidatura.Entrevistas != null)
            {
                if (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista))
                {
                    candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista).UpdateCandidaturaPrimeraEntrevista(primeraEntrevistaViewModel.AgendarPrimeraEntrevista, entrevistaId);
                    candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista).UpdateCandidaturaPrimeraEntrevista(primeraEntrevistaViewModel, entrevistaId);
                }
                else
                {
                    Entrevista entrevista = new Entrevista();
                    entrevista.UpdateCandidaturaPrimeraEntrevista(primeraEntrevistaViewModel.AgendarPrimeraEntrevista, entrevistaId);
                }
            }
            if (primeraEntrevistaViewModel.ResultadoPrimeraEntrevista != null)
            {
                candidatura.NotificarDescarte = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.NotificarDescarte;
            }
            else
            {
                Entrevista entrevista = new Entrevista();
                entrevista.UpdateCandidaturaPrimeraEntrevista(primeraEntrevistaViewModel.AgendarPrimeraEntrevista, entrevistaId);
            }
        }
        public static PrimeraEntrevistaViewModel ConvertToPrimeraEntrevistaViewModel(this Candidatura candidatura)
        {
            Entrevista primeraEntrevista;
            string     observaciones                 = "";
            int?       motivoPrimeraEntrevista       = null;
            string     motivoNombrePrimeraEntrevista = "";
            bool       superaPrimeraEntrevista       = false;
            bool       sinDecidir = false;
            bool       completada = false;
            int?       resultadoPrimeraEntrevista = null;

            byte[] TS       = null;
            string NombreTS = "";

            PrimeraEntrevistaViewModel primeraEntrevistaViewModel = new PrimeraEntrevistaViewModel();

            if (candidatura.Entrevistas != null && (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista)))
            {
                primeraEntrevista             = candidatura.Entrevistas.Single(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.PrimeraEntrevista);
                observaciones                 = primeraEntrevista.Observaciones ?? "";
                motivoPrimeraEntrevista       = primeraEntrevista.MotivoId ?? null;
                motivoNombrePrimeraEntrevista = primeraEntrevista.Motivo?.Nombre;
                superaPrimeraEntrevista       = primeraEntrevista.SuperaEntrevista;
                sinDecidir = primeraEntrevista.SinDecision;
                resultadoPrimeraEntrevista = primeraEntrevista.ResultadoTest ?? null;
                TS       = primeraEntrevista.TS;
                NombreTS = primeraEntrevista.NombreTS;



                primeraEntrevistaViewModel = new PrimeraEntrevistaViewModel()
                {
                    AgendarPrimeraEntrevista = primeraEntrevista.ConvertToAgendarPrimeraEntrevistaViewModel(),

                    RangoSalarialesyDisponibilidades = candidatura.GetRangoSalarialesyDisponibilidades(observaciones),

                    ResultadoPrimeraEntrevista = candidatura.GetResultadoPrimeraEntrevista(motivoPrimeraEntrevista, motivoNombrePrimeraEntrevista, superaPrimeraEntrevista, sinDecidir, resultadoPrimeraEntrevista, NombreTS, TS, completada),
                };
            }

            if (candidatura.Entrevistas != null && (candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.SegundaEntrevista ||
                                                    candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.CartaOferta ||
                                                    candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.Descartado ||
                                                    candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.Renuncia ||
                                                    candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.RechazaOferta ||
                                                    candidatura.EstadoCandidaturaId == (int)TipoEstadoCandidaturaEnum.Contratado) &&
                (candidatura.EtapaCandidaturaId == (int)TipoEtapaCandidaturaEnum.FeedbackSegundaEntrevista ||
                 candidatura.EtapaCandidaturaId == (int)TipoEtapaCandidaturaEnum.AgendarCartaOferta ||
                 candidatura.EtapaCandidaturaId == (int)TipoEtapaCandidaturaEnum.PendienteDecisionCartaOferta ||
                 candidatura.EtapaCandidaturaId == (int)TipoEtapaCandidaturaEnum.FeedbackCartaOferta ||
                 candidatura.EtapaCandidaturaId == (int)TipoEtapaCandidaturaEnum.Fin) &&
                (candidatura.Entrevistas.Any(x => x.TipoEntrevistaId == (int)TipoEntrevistaEnum.SegundaEntrevista)))
            {
                primeraEntrevistaViewModel.MostrarRangosSalariales = false;
            }
            else
            {
                primeraEntrevistaViewModel.MostrarRangosSalariales = true;
            }

            return(primeraEntrevistaViewModel);
        }
        public static void UpdateCandidaturaPrimeraEntrevista(this Entrevista entrevista, PrimeraEntrevistaViewModel primeraEntrevistaViewModel, 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 (primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades != null)
            {
                entrevista.Observaciones = primeraEntrevistaViewModel.RangoSalarialesyDisponibilidades.ObservacionesEntrevista;
            }
            if (primeraEntrevistaViewModel.ResultadoPrimeraEntrevista != null)
            {
                entrevista.SuperaEntrevista = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.SuperaEntrevistaId.Value == (int)TipoDecisionEnum.SUPERA_PRIMERA_ENTREVISTA;
                entrevista.SinDecision      = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.SuperaEntrevistaId.Value == (int)TipoDecisionEnum.SIN_DECIDIR_PRIMERA_ENTREVISTA;

                entrevista.ResultadoTest = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.ResultadoTest;
                entrevista.MotivoId      = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.MotivoId;

                if (primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.NombreTS != null)
                {
                    entrevista.TS       = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.TS;
                    entrevista.NombreTS = primeraEntrevistaViewModel.ResultadoPrimeraEntrevista.NombreTS;
                }
            }
        }
Exemplo n.º 4
0
        public static void UpdateCandidaturaPrimeraEntrevista(this Entrevista entrevista, PrimeraEntrevistaViewModel entrevistaViewModel)
        {
            entrevista.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            entrevista.Modified   = ModifiableEntityHelper.GetCurrentDate();

            //de AgendarPrimeraEntrevista
            if (entrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.EntrevistadorId > 0)
            {
                entrevista.EntrevistadorId = entrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.EntrevistadorId;
            }
            entrevista.FechaEntrevista   = (DateTime)entrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.FechaEntrevista;
            entrevista.Presencial        = entrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.Presencial;
            entrevista.AvisarAlCandidato = entrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.AvisarAlCandidato;
            entrevista.TipoEntrevistaId  = (int)TipoEntrevistaEnum.PrimeraEntrevista;
            entrevista.OficinaId         = entrevistaViewModel.AgendarPrimeraEntrevista.AgendarPrimeraEntrevista.OficinaId;
            //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 resultadoprimeraentrevista
            if (entrevistaViewModel.ResultadoPrimeraEntrevista != null)
            {
                entrevista.MotivoId      = entrevistaViewModel.ResultadoPrimeraEntrevista.MotivoId;
                entrevista.ResultadoTest = entrevistaViewModel.ResultadoPrimeraEntrevista.ResultadoTest;
                if (entrevistaViewModel.ResultadoPrimeraEntrevista.NombreTS != null)
                {
                    entrevista.NombreTS = entrevistaViewModel.ResultadoPrimeraEntrevista.NombreTS;
                    entrevista.TS       = entrevistaViewModel.ResultadoPrimeraEntrevista.TS;
                }
            }


            entrevista.IsActivo = true;
        }