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