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 EditBecarioResponse SaveEditBecario(CreateEditBecarioViewModel viewModel) { var response = new EditBecarioResponse(); string emails = ""; try { var becario = _becarioRepository.GetOne(x => x.BecarioId == viewModel.BecarioId); var candidatura = _candidaturaRepository.GetOne(x => x.CandidatoId == becario.CandidatoId); //comprobamos si tenemos que actualizar la nueva necesidad //mappear becario.UpdateBecarioModoEdit(viewModel); if (viewModel.BecarioObservaciones != null) { viewModel.BecarioObservaciones.BecarioId = (int)viewModel.BecarioId; SaveListaObservaciones(viewModel.BecarioObservaciones); } if (candidatura != null) { if (viewModel.BecarioDatosBasicos.ListEmailReferenciados != null) { foreach (string emailRef in viewModel.BecarioDatosBasicos.ListEmailReferenciados) { if (emailRef != "") { emails = string.Concat(emails, emailRef, ";"); } } } candidatura.OrigenCvId = viewModel.BecarioDatosBasicos.OrigenCvId; candidatura.FuenteReclutamientoId = viewModel.BecarioDatosBasicos.FuenteReclutamientoId; candidatura.EmailsReferenciados = emails; _candidaturaRepository.Update(candidatura); } //guardar if (_becarioRepository.Update(becario) > 0) { response.IsValid = true; //se le crea la bitacora para guardar que se ha editado var bitacoraResponse = _bitacoraBecarioService.GenerateBitacoraEditBecario(becario.BecarioId); response.IsValid = bitacoraResponse.IsValid; response.ErrorMessage = bitacoraResponse.ErrorMessage; } else { response.IsValid = false; response.ErrorMessage = "Error to update Becario"; } } catch (Exception ex) { response.IsValid = false; response.ErrorMessage = ex.Message; } return(response); }