Exemplo n.º 1
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;
        }
Exemplo n.º 2
0
        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);
        }