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); }
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)); } }
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); } }
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); } }
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)); } }
public void EliminarCategoriaCandidato(CategoriasCandidatos categoriaCandidatoParaBorrar) { _context.CategoriasCandidatos.Attach(categoriaCandidatoParaBorrar); _context.CategoriasCandidatos.Remove(categoriaCandidatoParaBorrar); }
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); }
public void CrearCategoriaCandidatos(CategoriasCandidatos categoriaCandidatoParaCrear) { _context.CategoriasCandidatos.Add(categoriaCandidatoParaCrear); }