Exemplo n.º 1
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrWhiteSpace(DepartamentoComboBox.Text) ||
                !String.IsNullOrWhiteSpace(NombreTxtBox.Text) ||
                !String.IsNullOrWhiteSpace(IdiomaComboBox.Text))
            {
                showLoading();

                var puesto       = (Puesto)PuestoComboBox.SelectedItem;
                var departamento = (Departamento)DepartamentoComboBox.SelectedItem;
                var capacitacion = (Capacitacion)CapacitacionesListBox2.SelectedItem;
                var competencia  = (Competencia)CompetenciasListBox2.SelectedItem;
                var idioma       = (Idioma)IdiomaComboBox.SelectedItem;

                var searchModel = new SearchCandidatosModel {
                    Nombres      = NombreTxtBox.Text,
                    Puesto       = puesto,
                    Departamento = departamento,
                    Capacitacion = capacitacion,
                    Competencia  = competencia,
                    Idioma       = idioma
                };

                var result = _candidatoService.AdvanceSearch(searchModel);
                update_dataGridView(result);

                hideLoading();
            }
            else
            {
                MessageBox.Show("Debe escribir el nombre o almenos seleciconar un departamento", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        public List <Candidato> AdvanceSearch(SearchCandidatosModel model)
        {
            var candidatos = _context.Candidatos.Where(x => !x.Deleted).ToList();
            var result     = candidatos.Where(x =>
                                              (model.Nombres == string.Empty ||
                                               (model.Nombres.ToLower().Contains(x.Nombres.ToLower()) || model.Nombres.ToLower().Contains(x.Apellidos.ToLower()))) &&
                                              (model.Departamento == null || x.DepartamentoId == model.Departamento.Id) &&
                                              (model.Puesto == null || x.PuestoId == model.Puesto.Id) &&
                                              (model.Capacitacion == null || x.Capacitaciones.Any(y => y.Id == model.Capacitacion.Id)) &&
                                              (model.Competencia == null || x.Competencias.Any(y => y.Id == model.Competencia.Id)) &&
                                              (model.Idioma == null || x.Idiomas.Any(y => y.Id == model.Idioma.Id))
                                              ).ToList();

            return(result);
        }