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);
        }
Exemple #2
0
        public SaveBecarioResponse SaveBecario(BecarioDatosBasicosViewModel becarioDatosBasicosViewModel, bool changeEtapa)
        {
            var response = new SaveBecarioResponse()
            {
                IsValid = true
            };

            try
            {
                var becario     = new Becario();
                var candidatura = _candidaturaRepository.GetOne(x => x.CandidatoId == becarioDatosBasicosViewModel.CandidatoId);

                if (becarioDatosBasicosViewModel.BecarioId.HasValue)
                {
                    becario = _becarioRepository.GetOne(x => x.BecarioId == becarioDatosBasicosViewModel.BecarioId.Value);
                }

                becario.UpdateBecario(becarioDatosBasicosViewModel);

                //Actualizamos la candidatura asociada si existiese
                if (candidatura != null)
                {
                    candidatura.OrigenCvId            = becario.OrigenCvId;
                    candidatura.FuenteReclutamientoId = becario.FuenteReclutamientoId;
                    candidatura.EmailsReferenciados   = becario.EmailsReferenciados;
                    _candidaturaRepository.Update(candidatura);
                }

                //Actualizamos o creamos becario
                if (becario.BecarioId > 0)
                {
                    _becarioRepository.Update(becario);
                }
                else
                {
                    becario.UrlCV = becarioDatosBasicosViewModel.UrlCV;
                    becario       = _becarioRepository.Create(becario);
                    _bitacoraBecarioService.GenerateBitacoraCreateBecario(becario.BecarioId);
                }

                response.BecarioId = becario.BecarioId;
                response.NombreCV  = becario.NombreCV;
            }
            catch (Exception ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }
        private static BecarioDatosBasicosViewModel ConvertToBecarioDatosBasicosViewModel(this Becario becario)
        {
            var emails = new List <string>();

            if (becario.EmailsReferenciados != null)
            {
                emails = becario.EmailsReferenciados.Split(';').ToList();
            }

            if (emails.Count > 0 && emails.Last() == "")
            {
                emails.RemoveAt(emails.Count - 1);
            }

            var BecarioDatosBasicosViewModel = new BecarioDatosBasicosViewModel()
            {
                BecarioId               = becario.BecarioId,
                CandidatoId             = becario.CandidatoId,
                TipoBecarioId           = becario.TipoBecarioId,
                TipoBecario             = becario.TipoBecario.Nombre,
                EstadoBecarioId         = becario.TipoEstadoBecarioId,
                NombreCandidato         = becario.Candidato.Nombre + " " + becario.Candidato.Apellidos,
                NombreCentroProcedencia = becario.BecarioCentroProcedenciaId == null ? null : becario.BecarioCentroProcedencia.Centro,
                CentroProcedenciaId     = becario.BecarioCentroProcedenciaId,
                ConvocatoriaId          = becario.BecarioConvocatoriaId,
                NombreConvocatoria      = becario.BecarioConvocatoriaId == null ? null : becario.BecarioConvocatoria.NombreConvocatoria,
                NombreCV                  = becario.NombreCV,
                CV                        = becario.CV,
                UrlCV                     = becario.UrlCV,
                SubidoCv                  = (becario.NombreCV != null),
                OrigenCvId                = becario.OrigenCvId,
                OrigenCvNombre            = becario.OrigenCv == null ? "" : becario.OrigenCv.Nombre,
                FuenteReclutamientoId     = becario.FuenteReclutamientoId,
                FuenteReclutamientoNombre = becario.FuenteReclutamiento == null ? "" : becario.FuenteReclutamiento.Nombre,
                ListEmailReferenciados    = emails
            };

            return(BecarioDatosBasicosViewModel);
        }