Ejemplo n.º 1
0
        public async Task <CategoriasCandidatos> ModificarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaModificar)
        {
            CategoriasCandidatos categoriaCandidatoExistente = await _context.CategoriasCandidatos.Where(x => x.Consecutivo == categoriaCandidatoParaModificar.Consecutivo).FirstOrDefaultAsync();

            categoriaCandidatoExistente.CodigoCategoria = categoriaCandidatoParaModificar.CodigoCategoria;
            categoriaCandidatoExistente.PosicionCampo   = categoriaCandidatoParaModificar.PosicionCampo;

            return(categoriaCandidatoExistente);
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> EliminarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaBorrar)
        {
            if (categoriaCandidatoParaBorrar == null || categoriaCandidatoParaBorrar.Consecutivo <= 0)
            {
                return(BadRequest("categoriaCandidatoParaBorrar vacio y/o invalido!."));
            }

            try
            {
                WrapperSimpleTypesDTO wrapperEliminarCategoriaCandidato = await _categoriasBusiness.EliminarCategoriaCandidato(categoriaCandidatoParaBorrar);

                return(Ok(wrapperEliminarCategoriaCandidato));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> ListarCategoriasDeUnCandidatoPorIdioma(CategoriasCandidatos categoriaCandidatoParaListar)
        {
            if (categoriaCandidatoParaListar == null || categoriaCandidatoParaListar.CodigoCandidato <= 0 || categoriaCandidatoParaListar.IdiomaBase == Idioma.SinIdioma)
            {
                return(BadRequest("categoriaCandidatoAListar vacio y/o invalido!."));
            }

            try
            {
                List <CategoriasCandidatosDTO> listaCategoriasCandidatos = await _categoriasBusiness.ListarCategoriasDeUnCandidatoPorIdioma(categoriaCandidatoParaListar);

                return(Ok(listaCategoriasCandidatos));
            }
            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);
            }
        }
Ejemplo n.º 5
0
        public async Task <IHttpActionResult> ModificarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaModificar)
        {
            if (categoriaCandidatoParaModificar == null || categoriaCandidatoParaModificar.HabilidadesCandidatos == null ||
                categoriaCandidatoParaModificar.Consecutivo <= 0 || categoriaCandidatoParaModificar.CodigoCategoria <= 0 || categoriaCandidatoParaModificar.CodigoCandidato <= 0 ||
                categoriaCandidatoParaModificar.HabilidadesCandidatos.Count <= 0 ||
                !categoriaCandidatoParaModificar.HabilidadesCandidatos.All(x => x.CodigoHabilidad > 0 && x.NumeroEstrellas >= 0 && x.NumeroEstrellas <= 5))
            {
                return(BadRequest("categoriaParaModificar vacio y/o invalido!."));
            }

            try
            {
                WrapperSimpleTypesDTO wrapperModificarCategoriaCandidato = await _categoriasBusiness.ModificarCategoriaCandidato(categoriaCandidatoParaModificar);

                return(Ok(wrapperModificarCategoriaCandidato));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        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);
            }
        }
        public async Task <WrapperSimpleTypesDTO> CrearCategoriaCandidatos(CategoriasCandidatos categoriaCandidatoParaCrear)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                PlanesRepository planRepo = new PlanesRepository(context);
                int?codigoPlanExistente   = await planRepo.BuscarCodigoPlanUsuarioPorCodigoCandidato(categoriaCandidatoParaCrear.CodigoCandidato);

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

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

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

                CategoriasRepository categoriasRepo = new CategoriasRepository(context);
                categoriasRepo.CrearCategoriaCandidatos(categoriaCandidatoParaCrear);

                WrapperSimpleTypesDTO wrapperCrearCategoriaCandidato = new WrapperSimpleTypesDTO();

                wrapperCrearCategoriaCandidato.NumeroRegistrosAfectados = await context.SaveChangesAsync();

                if (wrapperCrearCategoriaCandidato.NumeroRegistrosAfectados > 0)
                {
                    wrapperCrearCategoriaCandidato.Exitoso           = true;
                    wrapperCrearCategoriaCandidato.ConsecutivoCreado = categoriaCandidatoParaCrear.Consecutivo;
                }

                return(wrapperCrearCategoriaCandidato);
            }
        }
        public async Task <List <CategoriasCandidatosDTO> > ListarCategoriasDeUnCandidatoPorIdioma(CategoriasCandidatos categoriaCandidatoParaListar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                CategoriasRepository           categoriasRepo            = new CategoriasRepository(context);
                List <CategoriasCandidatosDTO> listaCategoriasCandidatos = await categoriasRepo.ListarCategoriasDeUnCandidatoPorIdioma(categoriaCandidatoParaListar);

                return(listaCategoriasCandidatos);
            }
        }
        public async Task <CategoriasCandidatosDTO> BuscarCategoriaCandidatoPorConsecutivoAndIdioma(CategoriasCandidatos categoriaCandidatoParaBuscar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                CategoriasRepository    categoriasRepo            = new CategoriasRepository(context);
                CategoriasCandidatosDTO categoriaCandidatoBuscada = await categoriasRepo.BuscarCategoriaCandidatoPorConsecutivoAndIdioma(categoriaCandidatoParaBuscar);

                return(categoriaCandidatoBuscada);
            }
        }
Ejemplo n.º 10
0
        public async Task <IHttpActionResult> BuscarCategoriaCandidatoPorConsecutivoAndIdioma(CategoriasCandidatos categoriaCandidatoParaBuscar)
        {
            if (categoriaCandidatoParaBuscar == null || categoriaCandidatoParaBuscar.Consecutivo <= 0 || categoriaCandidatoParaBuscar.IdiomaBase == Idioma.SinIdioma)
            {
                return(BadRequest("categoriaAnuncioParaBuscar vacio y/o invalido!."));
            }

            try
            {
                CategoriasCandidatosDTO categoriaCandidatoBuscada = await _categoriasBusiness.BuscarCategoriaCandidatoPorConsecutivoAndIdioma(categoriaCandidatoParaBuscar);

                return(Ok(categoriaCandidatoBuscada));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Ejemplo n.º 11
0
 public void EliminarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaBorrar)
 {
     _context.CategoriasCandidatos.Attach(categoriaCandidatoParaBorrar);
     _context.CategoriasCandidatos.Remove(categoriaCandidatoParaBorrar);
 }
Ejemplo n.º 12
0
        public async Task <List <CategoriasCandidatosDTO> > ListarCategoriasDeUnCandidatoPorIdioma(CategoriasCandidatos categoriaCandidatoParaListar)
        {
            IQueryable <CategoriasCandidatos> queryCandidatos = _context.CategoriasCandidatos.Where(x => x.CodigoCandidato == categoriaCandidatoParaListar.CodigoCandidato).AsQueryable();

            List <CategoriasCandidatosDTO> listaCategoriasCandidatos = await queryCandidatos
                                                                       .Select(x => new CategoriasCandidatosDTO
            {
                Consecutivo     = x.Consecutivo,
                CodigoCandidato = x.CodigoCandidato,
                CodigoCategoria = x.CodigoCategoria,
                PosicionCampo   = x.PosicionCampo,
                Categorias      = new CategoriasDTO
                {
                    Consecutivo              = x.Categorias.Consecutivo,
                    CodigoArchivo            = x.Categorias.CodigoArchivo,
                    DescripcionIdiomaBuscado = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaCandidatoParaListar.CodigoIdiomaUsuarioBase).Select(y => y.Descripcion).FirstOrDefault(),
                    CategoriasContenidos     = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaCandidatoParaListar.CodigoIdiomaUsuarioBase)
                                               .Select(z => new CategoriasContenidosDTO
                    {
                        Consecutivo  = z.Consecutivo,
                        Descripcion  = z.Descripcion,
                        CodigoIdioma = z.CodigoIdioma
                    }).ToList()
                }
            })
                                                                       .AsNoTracking()
                                                                       .ToListAsync();

            return(listaCategoriasCandidatos);
        }
Ejemplo n.º 13
0
 public void CrearCategoriaCandidatos(CategoriasCandidatos categoriaCandidatoParaCrear)
 {
     _context.CategoriasCandidatos.Add(categoriaCandidatoParaCrear);
 }