Пример #1
0
        public SaveCandidatoResponse SaveCandidato(CreateEditCandidatoViewModel candidatoViewModel)
        {
            var response = new SaveCandidatoResponse();

            try
            {
                if (candidatoViewModel.CandidatoId == null || candidatoViewModel.CandidatoId == 0)
                {
                    response = InsertNewCandidato(candidatoViewModel);
                }
                else
                {
                    response = UpdateCandidato(candidatoViewModel);
                }
            }
            catch (DbEntityValidationException ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }
            catch (DbUpdateException ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }
            catch (Exception ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }
        private CreateEditCandidatoViewModel GenerateViewElementsCreateEdit(CreateEditCandidatoViewModel model)
        {
            int[] tipoMaestroId =
            {
                (int)MasterDataTypeEnum.TipoIdentificacion,
                (int)MasterDataTypeEnum.Titulacion,
                (int)MasterDataTypeEnum.TipoMedioContacto,
                (int)MasterDataTypeEnum.TipoTecnologia,
                (int)MasterDataTypeEnum.NivelTecnologia,
                (int)MasterDataTypeEnum.Idioma,
                (int)MasterDataTypeEnum.NivelIdioma,
            };

            var response = _maestroService.GetDatosMaestroByTipoId(tipoMaestroId);

            model.TipoIdentificacionList = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.TipoIdentificacion);
            model.TipoContactoList       = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.TipoMedioContacto);
            model.TipoTecnologiaList     = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.TipoTecnologia);
            model.NivelExpList           = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.NivelTecnologia);
            model.ExperienciaList        = ControllerHelper.GenerateElements(MIN_PTUNTOS_EXP, MAX_PTUNTOS_EXP);
            model.IdiomaList             = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.Idioma);
            model.NivelIdiomaList        = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.NivelIdioma);
            model.TitulacionList         = ControllerHelper.GenerateElements(response, MasterDataTypeEnum.Titulacion);

            return(model);
        }
Пример #3
0
        public static void UpdateCandidato(this Candidato candidato, CreateEditCandidatoViewModel viewModel)
        {
            candidato.Apellidos        = viewModel.Apellidos.Trim();
            candidato.CambioResidencia = viewModel.CambioResidencia;

            if (viewModel.CandidatoId != null)
            {
                candidato.CandidatoId = (int)viewModel.CandidatoId;

                candidato.Modified   = ModifiableEntityHelper.GetCurrentDate();
                candidato.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
            }
            else
            {
                candidato.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                candidato.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            candidato.NumeroIdentificacion = viewModel.NumeroIdentificacion;
            candidato.DetalleTitulacion    = viewModel.DetalleTitulacion;
            candidato.DisponibilidadViaje  = viewModel.DisponibilidadViaje;
            candidato.EstadoCandidatoId    = 20;
            candidato.FechaNacimiento      = viewModel.FechaNacimiento;
            candidato.IsActivo             = true;
            candidato.Nombre = viewModel.Nombres.Trim();
            candidato.TipoIdentificacionId       = viewModel.TipoIdentificacionId;
            candidato.TitulacionId               = viewModel.TitulacionId;
            candidato.Direccion                  = viewModel.Direccion;
            candidato.AnioRegresado              = viewModel.AnioRegresado;
            candidato.CandidatoCentroEducativoId = viewModel.CandidatoCentroEducativoId;
            candidato.UpdateCandidatoIdioma(viewModel.IdiomaCandidatoViewModel);
            candidato.UpdateCandidatoExperiencia(viewModel.ExpCandidatoViewModel);
            candidato.UpdateCandidatoContacto(viewModel.ContactCandidatoViewModel);
        }
        public ActionResult Create(CreateEditCandidatoViewModel viewModel, FormCollection collection)
        {
            viewModel.ExpCandidatoViewModel     = viewModel.ExpCandidatoViewModel ?? new List <CreateEditRowExperienciaCandidatoViewModel>();
            viewModel.ContactCandidatoViewModel = viewModel.ContactCandidatoViewModel ?? new List <CreateEditRowContactoCandidatoViewModel>();
            viewModel.IdiomaCandidatoViewModel  = viewModel.IdiomaCandidatoViewModel ?? new List <CreateEditRowIdiomaCandidatoViewModel>();

            return(CreateFinish(viewModel));
        }
        private void SaveCandidato(CreateEditCandidatoViewModel viewModel)
        {
            var response = _candidatoService.SaveCandidato(viewModel);

            if (!response.IsValid)
            {
                CreateMessageError(response.ErrorMessage);
            }
            else
            {
                CreateMessageNotify("Candidato Guardado Correctamente");
            }
            viewModel.CandidatoId = response.CandidatoId;
        }
Пример #6
0
        private List <int> GetCandidatoContactosToRemove(Candidato candidato, CreateEditCandidatoViewModel createEditCandidatoViewModel)
        {
            var listCandidatoContactoToRemove = new List <int>();

            if (candidato.CandidatoContactos != null)
            {
                foreach (var contacto in candidato.CandidatoContactos.ToList())
                {
                    if (!createEditCandidatoViewModel.ContactCandidatoViewModel.Any(x => x.CandidatoContactoId == contacto.CandidatoContactoId))
                    {
                        listCandidatoContactoToRemove.Add(contacto.CandidatoContactoId);
                    }
                }
            }

            return(listCandidatoContactoToRemove);
        }
Пример #7
0
        private List <int> GetCandidatoExperienciasToRemove(Candidato candidato, CreateEditCandidatoViewModel createEditCandidatoViewModel)
        {
            var listCandidatoExperienciaToRemove = new List <int>();

            if (candidato.CandidatoExperiencias != null)
            {
                foreach (var experiencia in candidato.CandidatoExperiencias.ToList())
                {
                    if (!createEditCandidatoViewModel.ExpCandidatoViewModel.Any(x => x.CandidatoExperienciaId == experiencia.CandidatoExperienciaId))
                    {
                        listCandidatoExperienciaToRemove.Add(experiencia.CandidatoExperienciaId);
                    }
                }
            }

            return(listCandidatoExperienciaToRemove);
        }
        public ActionResult Create(int?id = null)
        {
            var model = new CreateEditCandidatoViewModel
            {
                ContactCandidatoViewModel = new List <CreateEditRowContactoCandidatoViewModel>(),
                ExpCandidatoViewModel     = new List <CreateEditRowExperienciaCandidatoViewModel>(),
                IdiomaCandidatoViewModel  = new List <CreateEditRowIdiomaCandidatoViewModel>()
            };

            if (id.HasValue)
            {
                model = _candidatoService.GetCandidatoById((int)id).CandidatoViewModel;
            }

            model = GenerateViewElementsCreateEdit(model);

            return(View(model));
        }
        public ActionResult Edit(int id)
        {
            var model             = new CreateEditCandidatoViewModel();
            var responseCandidato = _candidatoService.GetCandidatoById(id);

            if (!responseCandidato.IsValid)
            {
                CreateMessageError(responseCandidato.ErrorMessage);
            }
            else
            {
                model = responseCandidato.CandidatoViewModel;
            }

            model = GenerateViewElementsCreateEdit(model);

            return(View("Edit", model));
        }
Пример #10
0
        private List <int> GetCandidatoIdiomasToRemove(Candidato candidato, CreateEditCandidatoViewModel createEditCandidatoViewModel)
        {
            var listCandidatoIdiomaToRemove = new List <int>();

            //obtener los idiomas a eliminar
            if (candidato.CandidatoIdiomas != null)
            {
                foreach (var idioma in candidato.CandidatoIdiomas.ToList())
                {
                    if (!createEditCandidatoViewModel.IdiomaCandidatoViewModel.Any(x => x.CandidatoIdiomasId == idioma.CandidatoIdiomasId))
                    {
                        listCandidatoIdiomaToRemove.Add(idioma.CandidatoIdiomasId);
                    }
                }
            }

            return(listCandidatoIdiomaToRemove);
        }
Пример #11
0
        private SaveCandidatoResponse UpdateCandidato(CreateEditCandidatoViewModel createEditCandidatoViewModel)
        {
            var response = new SaveCandidatoResponse();

            var candidato = _candidatoRepository.GetOne(x => x.CandidatoId == createEditCandidatoViewModel.CandidatoId);

            var candidatoIdiomaToRemove      = GetCandidatoIdiomasToRemove(candidato, createEditCandidatoViewModel);
            var candidatoExperienciaToRemove = GetCandidatoExperienciasToRemove(candidato, createEditCandidatoViewModel);
            var candidatoContactoToRemove    = GetCandidatoContactosToRemove(candidato, createEditCandidatoViewModel);

            candidato.UpdateCandidato(createEditCandidatoViewModel);

            var numCandidatosActualizados = _candidatoRepository.Update(candidato);

            foreach (var idioma in candidatoIdiomaToRemove)
            {
                _candidatoIdiomaRepository.Delete(x => x.CandidatoIdiomasId == idioma);
            }

            foreach (var experiencia in candidatoExperienciaToRemove)
            {
                _candidatoExperienciaRepository.Delete(x => x.CandidatoExperienciaId == experiencia);
            }

            foreach (var contacto in candidatoContactoToRemove)
            {
                _candidatoContactoRepository.Delete(x => x.CandidatoContactoId == contacto);
            }

            if (numCandidatosActualizados > 0)
            {
                response.IsValid     = true;
                response.CandidatoId = (int)createEditCandidatoViewModel.CandidatoId;
            }
            else
            {
                response.IsValid      = false;
                response.ErrorMessage = "Error to update Candidato";
            }

            return(response);
        }
Пример #12
0
        private SaveCandidatoResponse InsertNewCandidato(CreateEditCandidatoViewModel createEditCandidatoViewModel)
        {
            var response = new SaveCandidatoResponse();

            var candidato = new Candidato();

            candidato.UpdateCandidato(createEditCandidatoViewModel);

            var newCandidato = _candidatoRepository.Create(candidato);

            if (newCandidato != null)
            {
                response.IsValid     = true;
                response.CandidatoId = newCandidato.CandidatoId;
            }
            else
            {
                response.IsValid      = false;
                response.ErrorMessage = "Error to save Candidato";
            }

            return(response);
        }
 private ActionResult CreateFinish(CreateEditCandidatoViewModel viewModel)
 {
     SaveCandidato(viewModel);
     return(RedirectToAction("Index"));
 }