public async Task <WrapperSimpleTypesDTO> EliminarCategoria(Categorias categoriaParaEliminar) { using (SportsGoEntities context = new SportsGoEntities(false)) { if (categoriaParaEliminar.Consecutivo == 3 && categoriaParaEliminar.Consecutivo == 5 && categoriaParaEliminar.Consecutivo == 6 && categoriaParaEliminar.Consecutivo == 7) { throw new InvalidOperationException("Estas categorias deben existir y si o si ya que son las definidas para la posicion"); } Archivos archivo = new Archivos { Consecutivo = categoriaParaEliminar.CodigoArchivo }; HabilidadesRepository habilidadesRepo = new HabilidadesRepository(context); Habilidades habilidadesParaBorrar = new Habilidades { CodigoCategoria = categoriaParaEliminar.Consecutivo }; List <int> listaCodigoHabilidades = await habilidadesRepo.ListarCodigoHabilidadesPorCategoria(habilidadesParaBorrar); foreach (var codigo in listaCodigoHabilidades) { habilidadesRepo.EliminarMultiplesHabilidadesContenidosPorCodigoHabilidad(codigo); } habilidadesRepo.EliminarMultiplesHabilidadesPorCodigoCategoria(habilidadesParaBorrar); CategoriasRepository categoriasRepo = new CategoriasRepository(context); CategoriasContenidos categoriaContenidoParaBorrar = new CategoriasContenidos { CodigoCategoria = categoriaParaEliminar.Consecutivo }; categoriasRepo.EliminarMultiplesCategoriasContenidos(categoriaContenidoParaBorrar); categoriasRepo.EliminarCategoria(categoriaParaEliminar); ArchivosRepository archivoRepo = new ArchivosRepository(context); archivoRepo.EliminarArchivo(archivo); WrapperSimpleTypesDTO wrapperEliminarCategoria = new WrapperSimpleTypesDTO(); wrapperEliminarCategoria.NumeroRegistrosAfectados = await context.SaveChangesAsync(); if (wrapperEliminarCategoria.NumeroRegistrosAfectados > 0) { wrapperEliminarCategoria.Exitoso = true; } return(wrapperEliminarCategoria); } }