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