public async Task <IHttpActionResult> EliminarHabilidadCandidato(HabilidadesCandidatos habilidadCandidatoParaBorrar)
        {
            if (habilidadCandidatoParaBorrar == null || habilidadCandidatoParaBorrar.Consecutivo <= 0)
            {
                return(BadRequest("habilidadCandidatoParaBorrar vacio y/o invalido!."));
            }

            try
            {
                WrapperSimpleTypesDTO wrapperEliminarHabilidadCandidato = await _habilidadesBusiness.EliminarHabilidadCandidato(habilidadCandidatoParaBorrar);

                return(Ok(wrapperEliminarHabilidadCandidato));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public async Task <IHttpActionResult> BuscarHabilidadCandidatoPorIdioma(HabilidadesCandidatos habilidadCandidatoParaBuscar)
        {
            if (habilidadCandidatoParaBuscar == null || habilidadCandidatoParaBuscar.Consecutivo <= 0 || habilidadCandidatoParaBuscar.IdiomaBase == Idioma.SinIdioma)
            {
                return(BadRequest("habilidadCandidatoParaBuscar vacio y/o invalido!."));
            }

            try
            {
                HabilidadesCandidatosDTO habilidadCandidatoBuscada = await _habilidadesBusiness.BuscarHabilidadCandidatoPorIdioma(habilidadCandidatoParaBuscar);

                return(Ok(habilidadCandidatoBuscada));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public async Task <WrapperSimpleTypesDTO> EliminarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaBorrar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                HabilidadesRepository habilidadesRepo     = new HabilidadesRepository(context);
                HabilidadesCandidatos habilidadParaBorrar = new HabilidadesCandidatos
                {
                    CodigoCategoriaCandidato = categoriaCandidatoParaBorrar.Consecutivo
                };
                habilidadesRepo.EliminarMultiplesHabilidadesCandidatosPorCodigoCandidato(habilidadParaBorrar);

                CategoriasRepository categoriasRepo = new CategoriasRepository(context);
                int?codigoCandidato = await categoriasRepo.BuscarCodigoCandidatoDeUnaCategoriaCandidato(categoriaCandidatoParaBorrar.Consecutivo);

                if (!codigoCandidato.HasValue)
                {
                    throw new InvalidOperationException("No se pudo hallar el codigo del candidato para borrar la categoria y modificar el plan!.");
                }

                categoriasRepo.EliminarCategoriaCandidato(categoriaCandidatoParaBorrar);

                PlanesRepository planRepo = new PlanesRepository(context);
                int?codigoPlanExistente   = await planRepo.BuscarCodigoPlanUsuarioPorCodigoCandidato(codigoCandidato.Value);

                if (!codigoPlanExistente.HasValue)
                {
                    throw new InvalidOperationException("No se pudo hallar el plan del candidato para crear la categoria para el!.");
                }

                // Se "BAJA" el contador de categorias 1
                PlanesUsuarios planUsuarioExistente = await planRepo.ModificarNumeroCategoriasUsadas(codigoPlanExistente.Value, -1);

                WrapperSimpleTypesDTO wrapperEliminarCategoriaCandidato = new WrapperSimpleTypesDTO();

                wrapperEliminarCategoriaCandidato.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperEliminarCategoriaCandidato.NumeroRegistrosAfectados > 0)
                {
                    wrapperEliminarCategoriaCandidato.Exitoso = true;
                }

                return(wrapperEliminarCategoriaCandidato);
            }
        }
Example #4
0
        public async Task <WrapperSimpleTypesDTO> EliminarHabilidadCandidato(HabilidadesCandidatos habilidadCandidatoParaBorrar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                HabilidadesRepository habilidadesRepo = new HabilidadesRepository(context);
                habilidadesRepo.EliminarHabilidadCandidato(habilidadCandidatoParaBorrar);

                WrapperSimpleTypesDTO wrapperEliminarHabilidadCandidato = new WrapperSimpleTypesDTO();

                wrapperEliminarHabilidadCandidato.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperEliminarHabilidadCandidato.NumeroRegistrosAfectados > 0)
                {
                    wrapperEliminarHabilidadCandidato.Exitoso = true;
                }

                return(wrapperEliminarHabilidadCandidato);
            }
        }
        public async Task <WrapperSimpleTypesDTO> ModificarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaModificar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                CategoriasRepository categoriasRepo = new CategoriasRepository(context);
                CategoriasCandidatos categoriaCandidatoExistente = await categoriasRepo.ModificarCategoriaCandidato(categoriaCandidatoParaModificar);

                HabilidadesRepository habilidadesRepo     = new HabilidadesRepository(context);
                HabilidadesCandidatos habilidadParaBorrar = new HabilidadesCandidatos
                {
                    CodigoCategoriaCandidato = categoriaCandidatoParaModificar.Consecutivo
                };
                habilidadesRepo.EliminarMultiplesHabilidadesCandidatosPorCodigoCandidato(habilidadParaBorrar);

                if (categoriaCandidatoParaModificar.HabilidadesCandidatos != null && categoriaCandidatoParaModificar.HabilidadesCandidatos.Count > 0)
                {
                    categoriaCandidatoParaModificar.HabilidadesCandidatos = categoriaCandidatoParaModificar.HabilidadesCandidatos.Where(x => x.NumeroEstrellas > 0).ToList();
                }

                categoriaCandidatoParaModificar.HabilidadesCandidatos.ForEach(x =>
                {
                    x.CodigoCategoriaCandidato = categoriaCandidatoParaModificar.Consecutivo;
                    x.Habilidades = null;
                });
                habilidadesRepo.CrearHabilidadesCandidato(categoriaCandidatoParaModificar.HabilidadesCandidatos);

                WrapperSimpleTypesDTO wrapperModificarCategoriaCandidato = new WrapperSimpleTypesDTO();

                wrapperModificarCategoriaCandidato.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperModificarCategoriaCandidato.NumeroRegistrosAfectados > 0)
                {
                    wrapperModificarCategoriaCandidato.Exitoso = true;
                }

                return(wrapperModificarCategoriaCandidato);
            }
        }
Example #6
0
 public void EliminarMultiplesHabilidadesCandidatosPorCodigoCandidato(HabilidadesCandidatos habilidadCandidatoParaBorrar)
 {
     _context.HabilidadesCandidatos.RemoveRange(_context.HabilidadesCandidatos.Where(x => x.CodigoCategoriaCandidato == habilidadCandidatoParaBorrar.CodigoCategoriaCandidato));
 }
Example #7
0
 public void EliminarHabilidadCandidato(HabilidadesCandidatos habilidadCandidatoParaBorrar)
 {
     _context.HabilidadesCandidatos.Attach(habilidadCandidatoParaBorrar);
     _context.HabilidadesCandidatos.Remove(habilidadCandidatoParaBorrar);
 }
Example #8
0
        public async Task <List <HabilidadesCandidatosDTO> > ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(HabilidadesCandidatos habilidadCandidatoParaListar)
        {
            IQueryable <HabilidadesCandidatos> queryHabilidadesCandidatos = _context.HabilidadesCandidatos.Where(x => x.CodigoCategoriaCandidato == habilidadCandidatoParaListar.CodigoCategoriaCandidato).AsQueryable();

            List <HabilidadesCandidatosDTO> listaHabilidadesCandidatos = await queryHabilidadesCandidatos
                                                                         .Select(x => new HabilidadesCandidatosDTO
            {
                Consecutivo              = x.Consecutivo,
                CodigoHabilidad          = x.CodigoHabilidad,
                CodigoCategoriaCandidato = x.CodigoCategoriaCandidato,
                NumeroEstrellas          = x.NumeroEstrellas,
                Habilidades              = new HabilidadesDTO
                {
                    Consecutivo              = x.Habilidades.Consecutivo,
                    CodigoCategoria          = x.Habilidades.CodigoCategoria,
                    CodigoTipoHabilidad      = x.Habilidades.CodigoTipoHabilidad,
                    DescripcionIdiomaBuscado = x.Habilidades.HabilidadesContenidos.Where(y => y.CodigoIdioma == habilidadCandidatoParaListar.CodigoIdiomaUsuarioBase).Select(z => z.Descripcion).FirstOrDefault()
                }
            })
                                                                         .AsNoTracking()
                                                                         .ToListAsync();

            return(listaHabilidadesCandidatos);
        }
Example #9
0
        public async Task <List <HabilidadesCandidatosDTO> > ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(HabilidadesCandidatos habilidadCandidatoParaListar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                HabilidadesRepository           habilidadesRepo           = new HabilidadesRepository(context);
                List <HabilidadesCandidatosDTO> listaHabilidadesCandidato = await habilidadesRepo.ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(habilidadCandidatoParaListar);

                return(listaHabilidadesCandidato);
            }
        }
Example #10
0
        public async Task <HabilidadesCandidatosDTO> BuscarHabilidadCandidatoPorIdioma(HabilidadesCandidatos habilidadCandidatoParaBuscar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                HabilidadesRepository    habilidadesRepo           = new HabilidadesRepository(context);
                HabilidadesCandidatosDTO habilidadCandidatoBuscada = await habilidadesRepo.BuscarHabilidadCandidatoPorIdioma(habilidadCandidatoParaBuscar);

                return(habilidadCandidatoBuscada);
            }
        }
        public async Task <IHttpActionResult> ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(HabilidadesCandidatos habilidadCandidatoParaListar)
        {
            if (habilidadCandidatoParaListar == null || habilidadCandidatoParaListar.CodigoCategoriaCandidato <= 0 || habilidadCandidatoParaListar.IdiomaBase == Idioma.SinIdioma)
            {
                return(BadRequest("habilidadCandidatoParaListar vacio y/o invalido!."));
            }

            try
            {
                List <HabilidadesCandidatosDTO> listaHabilidadesCandidato = await _habilidadesBusiness.ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(habilidadCandidatoParaListar);

                return(Ok(listaHabilidadesCandidato));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }