Olá Amigos,
Tenho duas listas relacionadas (tópicos,respostas), preciso remover todas as respostas relacionadas a um determinado tópico.
O primeiro código que vem a cabeça é fazer um for each e deletar item por item.
Como no exemplo abaixo:
SPQuery q = new SPQuery();
q.Query = "<Where><Eq><FieldRef Name='Topico' /><Value Type='Lookup'>" + sTopico + "</Value></Eq></Where>";
SPList listRespostas = SPContext.Current.Web.Lists["Respostas"];
SPListItemCollection itensTopicos = listRespostas.GetItems(q);
foreach (SPListItem itemResposta in itensTopicosFake)
{
itemResposta.Delete();
}
Porém quando executamos este código, nos deparamos com o seguinte erro.
Collection was modified; enumeration operation may not execute
Este erro acontece porque a collection que eu estou usando no for each, está sendo modificada dentro dele mesmo.
Para resolver este problema substitui o for each pelo while abaixo.
while (itensTopicos.Count > 0)
itensTopicos[0].Delete();
Abraços,
Leonardo
Mostrando postagens com marcador Object Model. Mostrar todas as postagens
Mostrando postagens com marcador Object Model. Mostrar todas as postagens
terça-feira, 27 de maio de 2008
segunda-feira, 8 de outubro de 2007
Passeio pelo Object Modelo Sharepoint - Part I
Olá Amigos,
Apartir de hoje escreverei uma serie de posts sobre o Object Model do sharepoint.
Mas afinal, oque é object model?
É a Arquitetura de programação do WSS, através dele conseguimos programaticamente manipular totalmente a estrutura do sharepoint.
SPFarm
Está no topo da hierarquia do object model.
Cada objeto SPFarm tem uma coleção de servidores associados a ele representados pelo objeto SPServerCollection object.
Você pode usar uma estrutura de repetição para iterar em cada servidor através do objeto SPServerCollection.
SPFarm myFarm = SPFarm.Local;
SPServerCollection myServerCollection = myFarm.Servers;
foreach (SPServer myServer in myServerCollection){
//adiciona o código para executar a ação
}
SPWebApplication
Representa um IIS load-balanced Web application.
No WSS, aplicações web são representadas pela classe SPWebApplication.
Cada objeto SPWebApplication tem uma coleção de coleções de site associadas a ele e que são representados pelo objeto SPSiteCollection.
Você pode usar uma estrutura de repetição para interar com cada coleção de site no objeto SPSiteCollection.
Coleções de site individuais são representadas pelos objetos SPSite.
SPSite mySiteCollection = new SPSite("site_collection_URL");
SPWebApplication myWebApp = mySiteCollection.WebApplication;SPSiteCollection mySiteCollections = myWebApp.Sites;
foreach (SPSite siteCollection in mySiteCollections){
//executa a ação na coleção de sites
}
Por hora é isso =]
Abraços,
Leonardo
Apartir de hoje escreverei uma serie de posts sobre o Object Model do sharepoint.
Mas afinal, oque é object model?
É a Arquitetura de programação do WSS, através dele conseguimos programaticamente manipular totalmente a estrutura do sharepoint.
SPFarm
Está no topo da hierarquia do object model.
Cada objeto SPFarm tem uma coleção de servidores associados a ele representados pelo objeto SPServerCollection object.
Você pode usar uma estrutura de repetição para iterar em cada servidor através do objeto SPServerCollection.
SPFarm myFarm = SPFarm.Local;
SPServerCollection myServerCollection = myFarm.Servers;
foreach (SPServer myServer in myServerCollection){
//adiciona o código para executar a ação
}
SPWebApplication
Representa um IIS load-balanced Web application.
No WSS, aplicações web são representadas pela classe SPWebApplication.
Cada objeto SPWebApplication tem uma coleção de coleções de site associadas a ele e que são representados pelo objeto SPSiteCollection.
Você pode usar uma estrutura de repetição para interar com cada coleção de site no objeto SPSiteCollection.
Coleções de site individuais são representadas pelos objetos SPSite.
SPSite mySiteCollection = new SPSite("site_collection_URL");
SPWebApplication myWebApp = mySiteCollection.WebApplication;SPSiteCollection mySiteCollections = myWebApp.Sites;
foreach (SPSite siteCollection in mySiteCollections){
//executa a ação na coleção de sites
}
Por hora é isso =]
Abraços,
Leonardo
Marcadores:
Object Model,
Sharepoint,
SPfarm,
WSS
Assinar:
Postagens (Atom)