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); }
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; } }
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; } }