예제 #1
0
        public static void UpdateCandidato(this Candidato candidato, CreateEditCandidatoViewModel viewModel)
        {
            candidato.Apellidos        = viewModel.Apellidos.Trim();
            candidato.CambioResidencia = viewModel.CambioResidencia;

            if (viewModel.CandidatoId != null)
            {
                candidato.CandidatoId = (int)viewModel.CandidatoId;

                candidato.Modified   = ModifiableEntityHelper.GetCurrentDate();
                candidato.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            }
            else
            {
                candidato.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                candidato.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            candidato.NumeroIdentificacion = viewModel.NumeroIdentificacion;
            candidato.DetalleTitulacion    = viewModel.DetalleTitulacion;
            candidato.DisponibilidadViaje  = viewModel.DisponibilidadViaje;
            candidato.EstadoCandidatoId    = 20;
            candidato.FechaNacimiento      = viewModel.FechaNacimiento;
            candidato.IsActivo             = true;
            candidato.Nombre = viewModel.Nombres.Trim();
            candidato.TipoIdentificacionId       = viewModel.TipoIdentificacionId;
            candidato.TitulacionId               = viewModel.TitulacionId;
            candidato.Direccion                  = viewModel.Direccion;
            candidato.AnioRegresado              = viewModel.AnioRegresado;
            candidato.CandidatoCentroEducativoId = viewModel.CandidatoCentroEducativoId;
            candidato.UpdateCandidatoIdioma(viewModel.IdiomaCandidatoViewModel);
            candidato.UpdateCandidatoExperiencia(viewModel.ExpCandidatoViewModel);
            candidato.UpdateCandidatoContacto(viewModel.ContactCandidatoViewModel);
        }
예제 #2
0
        public static void UpdateBecario(this Becario becario, BecarioDatosBasicosViewModel becarioDatosBasicosViewModel)
        {
            if (becarioDatosBasicosViewModel.BecarioId != null)
            {
                becario.BecarioId = (int)becarioDatosBasicosViewModel.BecarioId;

                becario.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                becario.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                becario.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                becario.Created   = ModifiableEntityHelper.GetCurrentDate();

                becario.TipoEstadoBecarioId = (int)TipoEstadoBecarioEnum.Inicio;
            }

            becario.CandidatoId   = becarioDatosBasicosViewModel.CandidatoId;
            becario.CV            = becarioDatosBasicosViewModel.CV;
            becario.NombreCV      = becarioDatosBasicosViewModel.NombreCV;
            becario.UrlCV         = becarioDatosBasicosViewModel.UrlCV;
            becario.IsActivo      = true;
            becario.TipoBecarioId = becarioDatosBasicosViewModel.TipoBecarioId;
            becario.BecarioCentroProcedenciaId = becarioDatosBasicosViewModel.CentroProcedenciaId;
            becario.BecarioConvocatoriaId      = (int)becarioDatosBasicosViewModel.ConvocatoriaId;
            becario.OrigenCvId            = becarioDatosBasicosViewModel.OrigenCvId;
            becario.FuenteReclutamientoId = becarioDatosBasicosViewModel.FuenteReclutamientoId;
            becario.EmailsReferenciados   = ConvertEmailRefListToString(becarioDatosBasicosViewModel.ListEmailReferenciados);
        }
        public static void UpdateCandidaturaPrimeraEntrevista(this Entrevista entrevista, AgendarPrimeraEntrevistaViewModel agendarPrimeraEntrevistaViewModel, 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 (agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.EntrevistadorId != 0)
            {
                entrevista.EntrevistadorId = agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.EntrevistadorId;
            }
            entrevista.FechaEntrevista   = (DateTime)agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.FechaEntrevista;
            entrevista.Presencial        = agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.Presencial;
            entrevista.AvisarAlCandidato = agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.AvisarAlCandidato;
            entrevista.CandidaturaId     = agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.CandidaturaId;
            entrevista.TipoEntrevistaId  = (int)TipoEntrevistaEnum.PrimeraEntrevista;
            entrevista.IsActivo          = true;
            if (entrevista.Candidatura == null || entrevista.Candidatura.EtapaCandidaturaId != (int)TipoEtapaCandidaturaEnum.FeedbackPrimeraEntrevista)
            {
                entrevista.OficinaId = agendarPrimeraEntrevistaViewModel.AgendarPrimeraEntrevista.OficinaId;
            }
        }
예제 #4
0
        public static void UpdateBecario(this Becario becario, BecarioSeleccionViewModel becarioSeleccionViewModel)
        {
            becario.BecarioId = (int)becarioSeleccionViewModel.BecarioId;

            becario.ModifiedBy           = ModifiableEntityHelper.GetCurrentUser();
            becario.Modified             = ModifiableEntityHelper.GetCurrentDate();
            becario.CompletadoGestion    = becarioSeleccionViewModel.CompletadoGestion;
            becario.CompletadoAsignacion = becarioSeleccionViewModel.CompletadoAsignacion;

            if (becarioSeleccionViewModel.BecarioGestionDocumental != null)
            {
                becario.FechaBecaInicio  = becarioSeleccionViewModel.BecarioGestionDocumental.FechaInicio;
                becario.FechaBecaFin     = becarioSeleccionViewModel.BecarioGestionDocumental.FechaFin;
                becario.FechaBecaFinReal = becarioSeleccionViewModel.BecarioGestionDocumental.FechaFinReal;
                becario.NumHoras         = becarioSeleccionViewModel.BecarioGestionDocumental.NumHoras;
                if (becarioSeleccionViewModel.BecarioGestionDocumental.NombreAnexo != null)
                {
                    becario.NombreAnexo = becarioSeleccionViewModel.BecarioGestionDocumental.NombreAnexo;
                    becario.Anexo       = becarioSeleccionViewModel.BecarioGestionDocumental.Anexo;
                    becario.UrlAnexo    = becarioSeleccionViewModel.BecarioGestionDocumental.UrlAnexo;
                }
            }
            if (becarioSeleccionViewModel.BecarioAsignacion != null)
            {
                becario.TipoAsistenciaId  = becarioSeleccionViewModel.BecarioAsignacion.Asistencia;
                becario.ClienteId         = becarioSeleccionViewModel.BecarioAsignacion.Cliente;
                becario.ProyectoId        = becarioSeleccionViewModel.BecarioAsignacion.Proyecto;
                becario.ResponsableId     = becarioSeleccionViewModel.BecarioAsignacion.ResponsableId;
                becario.ResponsableNombre = becarioSeleccionViewModel.BecarioAsignacion.ResponsableNombre;
                becario.TutorId           = becarioSeleccionViewModel.BecarioAsignacion.TutorId;
                becario.TutorNombre       = becarioSeleccionViewModel.BecarioAsignacion.TutorNombre;
            }
        }
예제 #5
0
        public static void UpdateCandidaturaCartaOferta(this CartaOferta cartaOferta, CompletarCartaOfertaViewModel cartaOfertaViewModel)
        {
            cartaOferta.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            cartaOferta.Modified   = ModifiableEntityHelper.GetCurrentDate();

            //de EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta
            if (cartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.EntrevistadorId > 0)
            {
                cartaOferta.EntrevistadorId = (int)cartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.EntrevistadorId;
            }
            //de EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta
            cartaOferta.FechaCartaOferta = (DateTime)cartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta;
            cartaOferta.OficinaId        = cartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.OficinaId;

            //de EntregaCartaOfertaViewModel.EntregaCartaOferta
            if (cartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta != null)
            {
                cartaOferta.Observaciones                = cartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta.ObservacionesCartaOferta;
                cartaOferta.Candidatura.SalarioActual    = cartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta.SalarioActual;
                cartaOferta.Candidatura.SalarioDeseado   = cartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta.SalarioDeseado;
                cartaOferta.Candidatura.SalarioPropuesto = cartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta.SalarioPropuesto;
            }

            //de cartaOfertaViewModel.CompletarCartaOferta
            if (cartaOfertaViewModel.CompletarCartaOferta != null)
            {
                cartaOferta.FechaIncorporacion = (cartaOfertaViewModel.CompletarCartaOferta.FechaIncorporacion != null) ? cartaOfertaViewModel.CompletarCartaOferta.FechaIncorporacion : cartaOferta.FechaIncorporacion;
                cartaOferta.MotivoRechazoId    = (cartaOfertaViewModel.CompletarCartaOferta.MotivoRechazoId != null) ? cartaOfertaViewModel.CompletarCartaOferta.MotivoRechazoId : cartaOferta.MotivoRechazoId;
                cartaOferta.NecesidadId        = (cartaOfertaViewModel.CompletarCartaOferta.NecesidadId != null) ? cartaOfertaViewModel.CompletarCartaOferta.NecesidadId : cartaOferta.NecesidadId;
            }
        }
예제 #6
0
        public static void UpdateBecarioModoEdit(this Becario becario, CreateEditBecarioViewModel becarioViewModel)
        {
            becario.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            becario.Modified   = ModifiableEntityHelper.GetCurrentDate();

            if (becarioViewModel.BecarioDatosBasicos != null)
            {
                //se actualiza salvo el candidato que no se puede cambiar ni los estados que no deben cambiar
                //ni los ids
                becario.CandidatoId   = becarioViewModel.BecarioDatosBasicos.CandidatoId;
                becario.UrlCV         = becarioViewModel.BecarioDatosBasicos.UrlCV ?? becario.UrlCV;
                becario.CV            = becarioViewModel.BecarioDatosBasicos.CV ?? becario.CV;
                becario.NombreCV      = becarioViewModel.BecarioDatosBasicos.NombreCV ?? becario.NombreCV;
                becario.TipoBecarioId = becarioViewModel.BecarioDatosBasicos.TipoBecarioId;
                becario.BecarioCentroProcedenciaId = becarioViewModel.BecarioDatosBasicos.CentroProcedenciaId;
                becario.BecarioConvocatoriaId      = (int)becarioViewModel.BecarioDatosBasicos.ConvocatoriaId;
                becario.OrigenCvId            = becarioViewModel.BecarioDatosBasicos.OrigenCvId;
                becario.FuenteReclutamientoId = becarioViewModel.BecarioDatosBasicos.FuenteReclutamientoId;
                becario.EmailsReferenciados   = ConvertEmailRefListToString(becarioViewModel.BecarioDatosBasicos.ListEmailReferenciados);
            }

            if (becarioViewModel.BecarioObservaciones != null)
            {
                becario.SuperaProceso           = becarioViewModel.BecarioObservaciones.SuperaProceso;
                becario.ObservacionFinalProceso = becarioViewModel.BecarioObservaciones.ObservacionGeneralProceso;
            }

            if (becarioViewModel.BecarioSeleccion != null)
            {
                becario.CompletadoAsignacion = becarioViewModel.BecarioSeleccion.CompletadoAsignacion;
                becario.CompletadoGestion    = becarioViewModel.BecarioSeleccion.CompletadoGestion;
                if (becarioViewModel.BecarioSeleccion.BecarioGestionDocumental != null)
                {
                    becario.FechaBecaInicio  = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.FechaInicio;
                    becario.FechaBecaFin     = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.FechaFin;
                    becario.FechaBecaFinReal = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.FechaFinReal;
                    becario.NumHoras         = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.NumHoras;
                    becario.Anexo            = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.Anexo ?? becario.Anexo;
                    becario.NombreAnexo      = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.NombreAnexo ?? becario.NombreAnexo;
                    becario.UrlAnexo         = becarioViewModel.BecarioSeleccion.BecarioGestionDocumental.UrlAnexo ?? becario.UrlAnexo;
                }
                if (becarioViewModel.BecarioSeleccion.BecarioGestionDocumental != null)
                {
                    becario.TipoAsistenciaId  = becarioViewModel.BecarioSeleccion.BecarioAsignacion.Asistencia;
                    becario.ClienteId         = becarioViewModel.BecarioSeleccion.BecarioAsignacion.Cliente;
                    becario.ProyectoId        = becarioViewModel.BecarioSeleccion.BecarioAsignacion.Proyecto;
                    becario.ResponsableId     = becarioViewModel.BecarioSeleccion.BecarioAsignacion.ResponsableId;
                    becario.ResponsableNombre = becarioViewModel.BecarioSeleccion.BecarioAsignacion.ResponsableNombre;
                    becario.TutorId           = becarioViewModel.BecarioSeleccion.BecarioAsignacion.TutorId;
                    becario.TutorNombre       = becarioViewModel.BecarioSeleccion.BecarioAsignacion.TutorNombre;
                }
            }
            if (becarioViewModel.BecarioDatosPracticas != null)
            {
                becario.ObservacionFinalPracticas = becarioViewModel.BecarioDatosPracticas.ObservacionFinalPracticas;
                becario.TipoDecisionFinalId       = becarioViewModel.BecarioDatosPracticas.DecisionFinalId;
            }

            becario.ComentarioRenunciaDescarte = becarioViewModel.ComentariosRenuncia;
        }
        public static void UpdatePersonaLibre(this PersonaLibre personaLibre, CreateEditPersonaLibreViewModel viewModel)
        {
            if (viewModel.PersonaLibreId != null)
            {
                personaLibre.PersonaLibreId = (int)viewModel.PersonaLibreId;
                personaLibre.Modified       = ModifiableEntityHelper.GetCurrentDate();
                personaLibre.ModifiedBy     = ModifiableEntityHelper.GetCurrentUser();
            }
            else
            {
                personaLibre.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                personaLibre.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            personaLibre.NroEmpleado          = Convert.ToInt32(viewModel.NroEmpleado);
            personaLibre.Nombre               = viewModel.Nombre;
            personaLibre.Apellidos            = viewModel.Apellidos;
            personaLibre.Categoria            = viewModel.Categoria;
            personaLibre.Linea                = viewModel.Linea;
            personaLibre.Celda                = viewModel.Celda;
            personaLibre.FechaLiberacion      = viewModel.FechaLiberacion;
            personaLibre.NecesidadId          = viewModel.NecesidadId;
            personaLibre.Comentario           = viewModel.Comentario;
            personaLibre.TipoTecnologiaId     = viewModel.TipoTecnologiaId;
            personaLibre.SinNecesidadAsignada = viewModel.SinNecesidadAsignada;
            personaLibre.IsActivo             = true;
        }
        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 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;
            }
        }
예제 #10
0
 public static void UpdateCandidatura(this Candidatura candidatura, CandidaturaFiltradoCvViewModel candidaturaFiltradoCvViewModel)
 {
     candidatura.CandidaturaId = candidaturaFiltradoCvViewModel.CandidaturaId;
     candidatura.FiltradoCV    = candidaturaFiltradoCvViewModel.Filtrado;
     candidatura.DescartarFuturasCandidaturas = candidaturaFiltradoCvViewModel.DescartarFuturasCandidaturas;
     candidatura.Observaciones = candidaturaFiltradoCvViewModel.MotivosObservaciones;
     candidatura.ModifiedBy    = ModifiableEntityHelper.GetCurrentUser();
     candidatura.Modified      = ModifiableEntityHelper.GetCurrentDate();
 }
예제 #11
0
        public static void UpdateBecario(this Becario becario, BecarioObservacionesViewModel becarioObservacionesViewModel)
        {
            becario.BecarioId = becarioObservacionesViewModel.BecarioId;

            becario.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            becario.Modified   = ModifiableEntityHelper.GetCurrentDate();
            becario.ObservacionFinalProceso = becarioObservacionesViewModel.ObservacionGeneralProceso;
            becario.SuperaProceso           = becarioObservacionesViewModel.SuperaProceso;
        }
예제 #12
0
        public static void UpdateBecario(this Becario becario, BecarioDatosPracticasViewModel becarioDatosPracticasViewModel)
        {
            becario.BecarioId = (int)becarioDatosPracticasViewModel.BecarioId;

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

            becario.TipoDecisionFinalId       = becarioDatosPracticasViewModel.DecisionFinalId;
            becario.ObservacionFinalPracticas = becarioDatosPracticasViewModel.ObservacionFinalPracticas;
        }
예제 #13
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;
        }
        public static void UpdateCartaOferta(this CartaOferta cartaOferta, EntregaCartaOfertaViewModel entregaCartaOfertaViewModel, int?cartaOfertaId)
        {
            if (cartaOfertaId != null)
            {
                cartaOferta.CartaOfertaId = (int)cartaOfertaId;

                cartaOferta.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                cartaOferta.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            cartaOferta.Observaciones = entregaCartaOfertaViewModel.EntregaCartaOferta.ObservacionesCartaOferta;
        }
예제 #15
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 void UpdateGrupoNecesidad(this GrupoNecesidad grupoNecesidad, CreateEditSoloGrupoNecesidadViewModel grupoNecesidadVM)
 {
     if (grupoNecesidadVM.GrupoNecesidadId.HasValue)
     {
         grupoNecesidad.ModifiedBy       = ModifiableEntityHelper.GetCurrentUser();
         grupoNecesidad.Modified         = ModifiableEntityHelper.GetCurrentDate();
         grupoNecesidad.GrupoNecesidadId = grupoNecesidadVM.GrupoNecesidadId.Value;
     }
     else
     {
         grupoNecesidad.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
         grupoNecesidad.Created   = ModifiableEntityHelper.GetCurrentDate();
     }
     grupoNecesidad.Nombre       = grupoNecesidadVM.NombreGrupo;
     grupoNecesidad.Descripcion  = grupoNecesidadVM.DescripcionGrupo;
     grupoNecesidad.GrupoCerrado = grupoNecesidadVM.EstadoGrupo;
     grupoNecesidad.IsActivo     = true;
 }
예제 #17
0
        public static void UpdateCandidato(this Candidato candidato, CandidaturaDatosBasicosViewModel viewModel)
        {
            if (viewModel.DatosBasicos.CandidatoId != 0)
            {
                candidato.CandidatoId = (int)viewModel.DatosBasicos.CandidatoId;

                candidato.Modified   = ModifiableEntityHelper.GetCurrentDate();
                candidato.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            }
            else
            {
                candidato.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                candidato.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            candidato.UpdateCandidatoIdioma2(viewModel.DatosBasicos.IdiomaCandidatoViewModel);
            candidato.UpdateCandidatoExperiencia2(viewModel.DatosBasicos.ExpCandidatoViewModel);
        }
        public static void UpdateCartaOferta(this CartaOferta cartaOferta, CompletarCartaOfertaViewModel completarCartaOfertaViewModel, int?cartaOfertaId, Necesidad necesidadOriginal, Necesidad necesidadNueva)
        {
            if (cartaOfertaId != null)
            {
                cartaOferta.CartaOfertaId = (int)cartaOfertaId;
                cartaOferta.ModifiedBy    = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Modified      = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                cartaOferta.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            if (completarCartaOfertaViewModel.CompletarCartaOferta.SuperaCartaOferta == (int)TipoDecisionEnum.SIN_DECISION_CARTAOFERTA)
            {
                cartaOferta.Acepta = null;
            }
            else
            {
                cartaOferta.Acepta = completarCartaOfertaViewModel.CompletarCartaOferta.SuperaCartaOferta == (int)TipoDecisionEnum.ACEPTA_CARTA_OFERTA;
            }

            cartaOferta.FechaIncorporacion = completarCartaOfertaViewModel.CompletarCartaOferta.FechaIncorporacion;
            cartaOferta.MotivoRechazoId    = completarCartaOfertaViewModel.CompletarCartaOferta.MotivoRechazoId;

            cartaOferta.NecesidadId = completarCartaOfertaViewModel.CompletarCartaOferta.NecesidadId;

            if ((necesidadOriginal != null) && (necesidadOriginal.NecesidadId != completarCartaOfertaViewModel.CompletarCartaOferta.NecesidadId))
            {
                necesidadOriginal.EstadoNecesidadId = (int)EstadoNecesidadEnum.Abierta;
            }

            if (necesidadNueva != null)
            {
                necesidadNueva.EstadoNecesidadId = (int)EstadoNecesidadEnum.Cerrada;
            }


            cartaOferta.Observaciones    = completarCartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta.ObservacionesCartaOferta;
            cartaOferta.FechaCartaOferta = Convert.ToDateTime(completarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta);
        }
예제 #19
0
        public static List <PersonaLibre> ConvertToPersonasLibres(PersonasLibresToCreateViewModel personasAGuardar)
        {
            var ListaPersonas = new List <PersonaLibre>();

            foreach (var personaAGuardar in personasAGuardar.PersonaLibreRowViewModelList)
            {
                if (personaAGuardar.isChecked)
                {
                    var persona = new PersonaLibre()
                    {
                        CreatedBy            = ModifiableEntityHelper.GetCurrentUser(),
                        Created              = ModifiableEntityHelper.GetCurrentDate(),
                        NroEmpleado          = personaAGuardar.NroEmpleado,
                        Nombre               = personaAGuardar.Nombre,
                        Apellidos            = personaAGuardar.Apellidos,
                        Categoria            = personaAGuardar.Categoria,
                        Linea                = personaAGuardar.Linea,
                        Celda                = personaAGuardar.Celda,
                        FechaLiberacion      = personaAGuardar.FechaLiberacion,
                        NecesidadId          = personaAGuardar.NecesidadId,
                        Comentario           = personaAGuardar.Comentario,
                        TipoTecnologiaId     = personaAGuardar.TipoTecnologiaId,
                        LibreIdiomas         = new Collection <PersonaLibreIdioma>(),
                        IsActivo             = true,
                        SinNecesidadAsignada = true
                    };

                    if (personaAGuardar.NivelIdiomaId != null)
                    {
                        persona.LibreIdiomas.Add(new PersonaLibreIdioma {
                            IdiomaId      = (int)TipoIdiomaEnum.Ingles,
                            NivelIdiomaId = (int)personaAGuardar.NivelIdiomaId,
                            IsActivo      = true
                        });
                    }

                    ListaPersonas.Add(persona);
                }
            }
            return(ListaPersonas);
        }
예제 #20
0
        public static void UpdateOferta(this Oferta oferta, CreateEditOfertaViewModel createEditOfertaViewModel)
        {
            if (createEditOfertaViewModel.OfertaId != null)
            {
                oferta.OfertaId = (int)createEditOfertaViewModel.OfertaId;

                oferta.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                oferta.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                oferta.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                oferta.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            oferta.Nombre           = createEditOfertaViewModel.Nombre;
            oferta.EstadoOfertaId   = createEditOfertaViewModel.EstadoOfertaId;
            oferta.FechaPublicacion = (DateTime)createEditOfertaViewModel.FechaPublicacion;
            oferta.Descripcion      = createEditOfertaViewModel.Descripcion;
            oferta.IsActivo         = true;
        }
        public static void UpdateCartaOferta(this CartaOferta cartaOferta, AgendarCartaOfertaViewModel agendarCartaOfertaViewModel, int?cartaOfertaId)
        {
            if (cartaOfertaId != null)
            {
                cartaOferta.CartaOfertaId = (int)cartaOfertaId;

                cartaOferta.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                cartaOferta.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            if (agendarCartaOfertaViewModel.AgendarCartaOferta.EntrevistadorId > 0)
            {
                cartaOferta.EntrevistadorId = (int)agendarCartaOfertaViewModel.AgendarCartaOferta.EntrevistadorId;
            }
            cartaOferta.FechaCartaOferta = (DateTime)agendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta;
            cartaOferta.CandidaturaId    = agendarCartaOfertaViewModel.AgendarCartaOferta.CandidaturaId;
            cartaOferta.OficinaId        = agendarCartaOfertaViewModel.AgendarCartaOferta.OficinaId;
        }
예제 #22
0
        public static void UpdateObservacion(this BecarioObservacion observacion, BecarioObservacionViewModel becarioObservacionViewModel)
        {
            if (becarioObservacionViewModel.ObservacionId != null)
            {
                observacion.BecarioObservacionId = (int)becarioObservacionViewModel.ObservacionId;

                observacion.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                observacion.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                observacion.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                observacion.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            observacion.BecarioId    = becarioObservacionViewModel.BecarioId;
            observacion.TipoPruebaId = becarioObservacionViewModel.TipoPruebaId;
            observacion.PersonaConvocatoriaNombre = becarioObservacionViewModel.PersonaConvocatoriaNombre;
            observacion.PersonaConvocatoriaId     = becarioObservacionViewModel.PersonaConvocatoriaId;
            observacion.FechaConvocatoria         = becarioObservacionViewModel.FechaConvocatoria;
            observacion.Observaciones             = becarioObservacionViewModel.Observacion;
            observacion.TipoResultadoId           = becarioObservacionViewModel.TipoResultadoId;
            observacion.IsActivo = true;
        }
예제 #23
0
        public static void UpdateNecesidad(this Necesidad necesidad, CreateEditNecesidadViewModel createEditNecesidadViewModel, Proyecto proyecto)
        {
            if (createEditNecesidadViewModel.NecesidadId != null)
            {
                necesidad.NecesidadId = (int)createEditNecesidadViewModel.NecesidadId;

                necesidad.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                necesidad.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                necesidad.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                necesidad.Created   = ModifiableEntityHelper.GetCurrentDate();
            }
            necesidad.Nombre                = createEditNecesidadViewModel.Nombre;
            necesidad.OficinaId             = createEditNecesidadViewModel.OficinaId;
            necesidad.CentroId              = createEditNecesidadViewModel.CentroId;
            necesidad.SectorId              = createEditNecesidadViewModel.SectorId;
            necesidad.ProyectoId            = createEditNecesidadViewModel.ProyectoId;
            necesidad.TipoServicioId        = createEditNecesidadViewModel.TipoServicioId;
            necesidad.TipoPerfilId          = createEditNecesidadViewModel.TipoPerfilId;
            necesidad.TipoTecnologiaId      = createEditNecesidadViewModel.TipoTecnologiaId;
            necesidad.TipoContratacionId    = createEditNecesidadViewModel.TipoContratacionId;
            necesidad.DisponibilidadViaje   = createEditNecesidadViewModel.DisponibilidadViajes;
            necesidad.CambioResidencia      = createEditNecesidadViewModel.DisponibilidadReubicacion;
            necesidad.NecesidadIdioma       = createEditNecesidadViewModel.NecesidadIdioma;
            necesidad.TipoPrevisionId       = createEditNecesidadViewModel.TipoPrevisionId;
            necesidad.MesesAsignacionId     = createEditNecesidadViewModel.MesesAsignacionId;
            necesidad.Observaciones         = createEditNecesidadViewModel.DetalleTecnologia ?? necesidad.Observaciones;
            necesidad.EstadoNecesidadId     = createEditNecesidadViewModel.EstadoNecesidadId;
            necesidad.FechaSolicitud        = (DateTime)createEditNecesidadViewModel.FechaSolicitud;
            necesidad.FechaCompromiso       = createEditNecesidadViewModel.FechaCompromiso;
            necesidad.FechaCierre           = createEditNecesidadViewModel.FechaCierre;
            necesidad.IsActivo              = true;
            necesidad.ReferenciaExterna     = createEditNecesidadViewModel.ReferenciaExterna;
            necesidad.AsignadaCorrectamente = createEditNecesidadViewModel.AsignadaCorrectamente;
            necesidad.EstadoNecesidadId     = createEditNecesidadViewModel.EstadoNecesidadId;
            if ((createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                 createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidad.PersonaAsignada            = createEditNecesidadViewModel.PersonaAsignada;
                necesidad.PersonaAsignadaId          = createEditNecesidadViewModel.PersonaAsignadaId;
                necesidad.PersonaAsignadaNroEmpleado = createEditNecesidadViewModel.PersonaAsignadaNroEmpleado;
            }
            else if ((createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                      createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.Contratación)
            {
                necesidad.PersonaAsignada            = createEditNecesidadViewModel.PersonaAsignada;
                necesidad.PersonaAsignadaId          = createEditNecesidadViewModel.PersonaAsignadaId;
                necesidad.PersonaAsignadaNroEmpleado = null;
                necesidad.CandidaturaId = createEditNecesidadViewModel.candidaturaId;
            }
            else if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Abierta &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.Contratación &&
                     createEditNecesidadViewModel.PersonaAsignadaId != null)
            {
                necesidad.PersonaAsignadaId = null;
                necesidad.CandidaturaId     = null;
                necesidad.PersonaAsignada   = null;
            }
            else if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Abierta &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno &&
                     createEditNecesidadViewModel.PersonaAsignadaId != null)
            {
                necesidad.PersonaAsignadaId          = null;
                necesidad.PersonaAsignada            = null;
                necesidad.PersonaAsignadaNroEmpleado = null;
            }
            if (createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidad.CandidaturaId = null;
            }
            necesidad.Modulo = createEditNecesidadViewModel.Modulo;

            if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada && createEditNecesidadViewModel.AsignadaCorrectamente == null)
            {
                necesidad.AsignadaCorrectamente = false;
            }
            if (createEditNecesidadViewModel.GrupoNecesidad != null && createEditNecesidadViewModel.GrupoNecesidad != 0)
            {
                necesidad.GrupoNecesidadId = createEditNecesidadViewModel.GrupoNecesidad;
            }

            if (proyecto != null)
            {
                necesidad.CuentaProyecto  = proyecto.CuentaCargo;
                necesidad.PersonaProyecto = proyecto.Persona;
            }
        }
        public UpdateCategoriaLineaCeldaInRecruitingDbResponse UpdateCategoriaLineaCeldaInRecruitingDb(int centroId)
        {
            var response = new UpdateCategoriaLineaCeldaInRecruitingDbResponse();

            try
            {
                var todasLosEmpleadosFenix = GetAllEmpleadosFenix(centroId).AsQueryable();
                if (todasLosEmpleadosFenix != null)
                {
                    var todasLasCategoriaLineaCeldas = _fenixCategoriaLineaCeldaRepository.GetByCriteria(x => x.Usuario.CentroId == centroId).ToList();
                    if (todasLasCategoriaLineaCeldas != null)
                    {
                        foreach (var categoriaLineaCelda in todasLasCategoriaLineaCeldas)
                        {
                            _fenixCategoriaLineaCeldaRepository.Delete(categoriaLineaCelda);
                        }
                    }

                    var listCategoria = todasLosEmpleadosFenix.Select(x => new { x.Categoria }).Distinct().ToArray();
                    var listLinea     = todasLosEmpleadosFenix.Select(x => new { x.Linea }).Distinct().ToArray();
                    var listCelda     = todasLosEmpleadosFenix.Select(x => new { x.Celda }).Distinct().ToArray();

                    int biggestList = Math.Max(listCategoria.Length, Math.Max(listLinea.Length, listCelda.Length));

                    for (int i = 0; i < biggestList; i++)
                    {
                        if (i < listCategoria.Length)
                        {
                            var categoria = new FenixCategoriaLineaCelda();
                            categoria.Nombre    = listCategoria[i].Categoria;
                            categoria.Tipo      = "Categoria";
                            categoria.Created   = ModifiableEntityHelper.GetCurrentDate();
                            categoria.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                            _fenixCategoriaLineaCeldaRepository.Create(categoria);
                        }
                        if (i < listLinea.Length)
                        {
                            var linea = new FenixCategoriaLineaCelda();
                            linea.Nombre    = listLinea[i].Linea;
                            linea.Tipo      = "Linea";
                            linea.Created   = ModifiableEntityHelper.GetCurrentDate();
                            linea.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                            _fenixCategoriaLineaCeldaRepository.Create(linea);
                        }
                        if (i < listCelda.Length)
                        {
                            var celda = new FenixCategoriaLineaCelda();
                            celda.Nombre    = listCelda[i].Celda;
                            celda.Tipo      = "Celda";
                            celda.Created   = ModifiableEntityHelper.GetCurrentDate();
                            celda.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                            _fenixCategoriaLineaCeldaRepository.Create(celda);
                        }
                    }
                    response.IsValid = true;
                }
                else
                {
                    response.IsValid = false;
                }
            }
            catch (Exception ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }
            return(response);
        }
        private StringBuilder ExecuteSendMailsEstadosCandidatura(NameValueCollection DiccEstadoCandidaturaPlantillaCorreo, int usuarioAplicacion)
        {
            var responseCorreos    = _correoBecarioService.GetCorreosPendientesEnvio();
            var resultadoEjecucion = new StringBuilder();

            if (responseCorreos.IsValid)
            {
                foreach (var correo in responseCorreos.Correos)
                {
                    var response = _correoPlantillaService.GetPlantillaCorreoById(correo.PlantillaId);
                    if (response.IsValid)
                    {
                        ///para cada candidatura creo un correo de su tipo de plantilla que le corresponda
                        var    responseEmailBecario   = correo.Destinatarios;
                        var    responseImagenCabecera = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, NombresVariablesPlantillaCorreoEnum.LogoCabecera.ToString());
                        var    responseImagenFirma    = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, NombresVariablesPlantillaCorreoEnum.imagenFirma.ToString());
                        var    Becario              = _becarioService.GetBecarioById(correo.BecarioId).BecarioViewModel;
                        string nombreCandidato      = Becario.BecarioDatosBasicos.NombreCandidato;
                        CorreoPlantillaVariable cpv = new CorreoPlantillaVariable()
                        {
                            PlantillaId = correo.PlantillaId,
                        };

                        CorreoPlantillaVariableRowViewModel cr = null;
                        string lineaTituloPie = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, "LineaTituloPie").VarlorDefecto;
                        string lineaDireccion = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, "LineaDireccion").VarlorDefecto;
                        string lineaProvincia = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, "LineaProvincia").VarlorDefecto;
                        string lineaTelefono  = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, "LineaTelefono").VarlorDefecto;
                        string lineaEmail     = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, "LineaEmail").VarlorDefecto;
                        string lineaWeb       = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(correo.PlantillaId, "LineaWeb").VarlorDefecto;

                        cr = CorreoPlantillaVariableMapper.ConvertToCorreoPlantillaVariableRowViewModel(cpv, correo.Asunto, correo.Remitente, nombreCandidato,
                                                                                                        responseImagenFirma.VarlorDefecto, responseImagenCabecera.VarlorDefecto, lineaTituloPie, lineaDireccion, lineaProvincia, lineaTelefono,
                                                                                                        lineaEmail, lineaWeb);

                        string body = GetBodyMail(response.correoPlantilla.TextoPlantilla, cr);

                        //se crea el correo en si y se envia
                        if (SendEmail(correo.Remitente, correo.Destinatarios, correo.Asunto, body) == SchedulerExecutionResultEnum.Enviado_OK)
                        {
                            //se crea el mensaje para guaradarlo en el log
                            resultadoEjecucion.AppendLine(DateTime.Now.ToString() + ":Enviado correo OK a destinatario " + correo.Destinatarios);


                            //se actualiza a enviado=true y fecha Envio
                            correo.Enviado    = true;
                            correo.FechaEnvio = ModifiableEntityHelper.GetCurrentDate();
                            _correoBecarioService.SaveCorreo(correo, usuarioAplicacion);

                            //se crea la bitacora indicando que se ha realizado el envio de email PENDIENTE
                            //var bitacoraResponse = _bitacoraService.GenerateBitacoraCorreo(correo.CandidaturaId, "Envio de correo realizado con exito.");

                            //response.IsValid = response.IsValid && bitacoraResponse.IsValid;
                            //if (!string.IsNullOrWhiteSpace(bitacoraResponse.ErrorMessage))
                            //{
                            //    response.ErrorMessage = bitacoraResponse.ErrorMessage;
                            //}
                        }
                        else
                        {
                            //se crea el mensaje para guaradarlo en el log
                            resultadoEjecucion.AppendLine(DateTime.Now.ToString() + ":ERROR al enviar correo a destinatario " + correo.Destinatarios);
                        }
                    }
                    else
                    {
                        //se crea el mensaje para guaradarlo en el log
                        resultadoEjecucion.AppendLine(DateTime.Now.ToString() + ":Error al obtener la plantilla " + response.correoPlantilla.NombrePlantilla);
                    }
                }
            }
            else
            {
                resultadoEjecucion.AppendLine(DateTime.Now.ToString() + ":Error al obtener los correos pendientes");
            }

            return(resultadoEjecucion);
        }
예제 #26
0
        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;
        }
예제 #27
0
        public static void UpdateCandidatura(this Candidatura candidatura, CandidaturaDatosBasicosViewModel candidaturaDatosBasicosViewModel)
        {
            if (candidaturaDatosBasicosViewModel.DatosBasicos.CandidaturaId != null)
            {
                candidatura.CandidaturaId = (int)candidaturaDatosBasicosViewModel.DatosBasicos.CandidaturaId;

                candidatura.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                candidatura.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                candidatura.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                candidatura.Created   = ModifiableEntityHelper.GetCurrentDate();

                candidatura.EstadoCandidaturaId = (int)TipoEstadoCandidaturaEnum.FiltradoPeople;
                candidatura.EtapaCandidaturaId  = (int)TipoEtapaCandidaturaEnum.Inicio;
            }

            candidatura.CandidatoId = candidaturaDatosBasicosViewModel.DatosBasicos.CandidatoId;
            if (candidaturaDatosBasicosViewModel.DatosBasicos.CategoriaId == 0)
            {
                candidatura.CategoriaId = null;
            }
            else
            {
                candidatura.CategoriaId = candidaturaDatosBasicosViewModel.DatosBasicos.CategoriaId;
            }
            candidatura.OfertaId   = candidaturaDatosBasicosViewModel.DatosBasicos.OfertaId;
            candidatura.OrigenCvId = candidaturaDatosBasicosViewModel.DatosBasicos.OrigenCvId == null ? null : candidaturaDatosBasicosViewModel.DatosBasicos.OrigenCvId;
            if (candidaturaDatosBasicosViewModel.DatosBasicos.FuenteReclutamientoId != null)
            {
                candidatura.FuenteReclutamientoId = (int)candidaturaDatosBasicosViewModel.DatosBasicos.FuenteReclutamientoId;
            }
            else
            {
                candidatura.FuenteReclutamientoId = null;
            }
            candidatura.SalarioDeseado        = candidaturaDatosBasicosViewModel.DatosBasicos.SalarioDeseado;
            candidatura.DatosCurriculo        = candidaturaDatosBasicosViewModel.DatosBasicos.DatosCv;
            candidatura.IsActivo              = true;
            candidatura.NombreCV              = candidaturaDatosBasicosViewModel.DatosBasicos.NombreCV;
            candidatura.CV                    = candidaturaDatosBasicosViewModel.DatosBasicos.CV;
            candidatura.UrlCV                 = candidaturaDatosBasicosViewModel.DatosBasicos.UrlCV;
            candidatura.TipoTecnologiaId      = (int)candidaturaDatosBasicosViewModel.DatosBasicos.TipoTecnologiaId;
            candidatura.ModuloId              = candidaturaDatosBasicosViewModel.DatosBasicos.Modulo;
            candidatura.FiltradorId           = candidaturaDatosBasicosViewModel.DatosBasicos.FiltradorId;
            candidatura.Moneda                = candidaturaDatosBasicosViewModel.DatosBasicos.Moneda;
            candidatura.OrigenCvId            = candidaturaDatosBasicosViewModel.DatosBasicos.OrigenCvId;
            candidatura.FuenteReclutamientoId = candidaturaDatosBasicosViewModel.DatosBasicos.FuenteReclutamientoId;
            candidatura.CandidaturaOfertaId   = candidaturaDatosBasicosViewModel.DatosBasicos.CandidaturaOfertaId;
            candidatura.UbicacionCandidato    = candidaturaDatosBasicosViewModel.DatosBasicos.UbicacionCandidato;
            candidatura.AniosExperiencia      = candidaturaDatosBasicosViewModel.DatosBasicos.AnioExperiencia;

            string emails = "";

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