private DatosCandidatoApiModel MapearDatosCandidatura(DatosCandidatoApiModel datosCandidato, IEnumerable <CandidaturaViewModel> candidaturaList)
        {
            var nuevaLista = new List <DatosCandidaturaApiModel>();

            foreach (var candidatura in candidaturaList)
            {
                DatosCandidaturaApiModel nuevaCandidatura = new DatosCandidaturaApiModel()
                {
                    Estado        = candidatura.CandidaturaDatosBasicosViewModel.DatosBasicos.EstadoCandidatura,
                    Etapa         = candidatura.CandidaturaDatosBasicosViewModel.DatosBasicos.EtapaCandidatura,
                    Categoria     = candidatura.CandidaturaDatosBasicosViewModel.DatosBasicos.CategoriaNombre,
                    Observaciones = candidatura.FiltroCVViewModel == null ? String.Empty : candidatura.FiltroCVViewModel.MotivosObservaciones,
                    ComentariosRenunciaDescarte = candidatura.ComentariosRenunciaDescarte,
                    FechaUltimoContacto         = GetFechaUltimoContacto(candidatura),
                    PersonaUltimoContacto       = GetPersonaUltimoContacto(candidatura),
                    FechaEntradaCv = candidatura.CandidaturaDatosBasicosViewModel.DatosBasicos.FechaCreacion
                };

                nuevaLista.Add(nuevaCandidatura);
            }

            datosCandidato.Candidaturas = nuevaLista;

            return(datosCandidato);
        }
        // POST: OtherInfoApi
        public DatosCandidatoApiModel Post(DatosCandidatoConsultaApiModel model)
        {
            DatosCandidatoApiModel datosCandidato = new DatosCandidatoApiModel();

            try
            {
                if (ValidateUser(model))
                {
                    var candidato = _candidatoService.CheckCandidatoEnRecruiting(model.Nombre, model.Email, model.Telefono, model.NIF);
                    if (candidato.IsValid)
                    {
                        if (candidato.ExistenteEnRecruiting)
                        {
                            var datosBasicosCandidato = _candidatoService.GetCandidatoById((int)candidato.CandidatoId);
                            datosCandidato.ExistenteRecruiting = true;
                            datosCandidato.Nombre     = datosBasicosCandidato.CandidatoViewModel.Nombres;
                            datosCandidato.Apellidos  = datosBasicosCandidato.CandidatoViewModel.Apellidos;
                            datosCandidato.Titulacion = datosBasicosCandidato.CandidatoViewModel.Titulacion;

                            var candidaturas = _candidaturaService.GetCandidaturasByIdCandidato((int)candidato.CandidatoId);

                            if (candidaturas.CandidaturasViewModel != null && candidaturas.CandidaturasViewModel.Count() != 0)
                            {
                                datosCandidato.NumCandidaturas = candidaturas.CandidaturasViewModel.Count();
                                datosCandidato = MapearDatosCandidatura(datosCandidato, candidaturas.CandidaturasViewModel);
                            }
                            else
                            {
                                datosCandidato.NumCandidaturas = 0;
                            }
                        }
                        else
                        {
                            datosCandidato.ExistenteRecruiting = candidato.ExistenteEnRecruiting;
                        }
                    }

                    return(datosCandidato);
                }
            }
            catch (Exception exception)
            {
                return(datosCandidato);
            }

            return(datosCandidato);
        }