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